Web服务器与客户机之间的数据传递方式有三种: HTML页面、XML文档以及XML数据岛。其中,XML数据岛通过特定的标签把XML数据直接嵌入到HTML文档中。采用数据岛作为交互手段,不仅可以使数据具备一定的语义信息,同时还能保持HTML原有的一些特色,如利用用户端脚本程序实现动态信息交换等。
XML数据岛的实现方法是在HTML文档中使用<XML>标签。代码的嵌入方式有两种: 直接嵌入(如例1)和外部引用(如例2)。
例1:
<XML ID=“MyXMLData”>
<?xml version=“1.0” ?>
……XML definitions……
</XML>
例2:
<XML ID=“MyXMLData” SRC=“http://www.microsoft.com/MyXMLData.xml”>
</XML>
在插入数据岛之后,就可以把XML中的元素同HTML元素链接在一起,利用HTML的表现手法显示XML数据,这种链接关系被称为绑定。绑定的方式按照HTML元素的性质可以分为两种:单值对象和表格对象。
单值对象的数据绑定需要在HTML元素中设置DATASRC属性和DATAFLD属性。DATASRC属性是区分XML数据岛对象的唯一标识,并且必须加上前缀“#”;DATAFLD属性则标识了数据岛中的元素对象。例3就是把一个HTML文本输入框与<salary>元素进行了绑定。
例3:
<INPUT TYPE=“TEXT”
DATASRC=“#MyXMLData”
DATAFLD=“salary”>
至于表格对象,主要是与HTML中的<TABLE>标签绑定。一般地,可以借助DSO(Data Source Object,数据源对象)等ActiveX控件更方便、有效地处理表格数据。具体使用方法如下:
若把XML数据与TABLE元素绑定在一起,就可以自动地显示为多行的表格形式。
例如,XML数据与TABLE元素绑定的代码如下:
<TABLE BORDER=1 DATASRC=“#xmldso”>
<THEAD>
<TR><TH>Title</TH>
<TH>ISBN</TH></TR>
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD=“title”></DIV></TD>
<TD><DIV DATAFLD=“isbn”>
</DIV></TD></TR>
</TBODY>
</TABLE>
这样,通过将TABLE元素中的DATASRC属性设定为#xmldso,把两者绑定起来。表格内部分为表头(THEAD)和表体(TBODY)两部分。每一个<book>元素都会显示为一行表格,具体每一栏显示哪一项数据,则由DIV元素中的DATAFLD属性指定。
XML数据岛的实现方法是在HTML文档中使用<XML>标签。代码的嵌入方式有两种: 直接嵌入(如例1)和外部引用(如例2)。
例1:
<XML ID=“MyXMLData”>
<?xml version=“1.0” ?>
……XML definitions……
</XML>
例2:
<XML ID=“MyXMLData” SRC=“http://www.microsoft.com/MyXMLData.xml”>
</XML>
在插入数据岛之后,就可以把XML中的元素同HTML元素链接在一起,利用HTML的表现手法显示XML数据,这种链接关系被称为绑定。绑定的方式按照HTML元素的性质可以分为两种:单值对象和表格对象。
单值对象的数据绑定需要在HTML元素中设置DATASRC属性和DATAFLD属性。DATASRC属性是区分XML数据岛对象的唯一标识,并且必须加上前缀“#”;DATAFLD属性则标识了数据岛中的元素对象。例3就是把一个HTML文本输入框与<salary>元素进行了绑定。
例3:
<INPUT TYPE=“TEXT”
DATASRC=“#MyXMLData”
DATAFLD=“salary”>
至于表格对象,主要是与HTML中的<TABLE>标签绑定。一般地,可以借助DSO(Data Source Object,数据源对象)等ActiveX控件更方便、有效地处理表格数据。具体使用方法如下:
若把XML数据与TABLE元素绑定在一起,就可以自动地显示为多行的表格形式。
例如,XML数据与TABLE元素绑定的代码如下:
<TABLE BORDER=1 DATASRC=“#xmldso”>
<THEAD>
<TR><TH>Title</TH>
<TH>ISBN</TH></TR>
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD=“title”></DIV></TD>
<TD><DIV DATAFLD=“isbn”>
</DIV></TD></TR>
</TBODY>
</TABLE>
这样,通过将TABLE元素中的DATASRC属性设定为#xmldso,把两者绑定起来。表格内部分为表头(THEAD)和表体(TBODY)两部分。每一个<book>元素都会显示为一行表格,具体每一栏显示哪一项数据,则由DIV元素中的DATAFLD属性指定。