【1】DSO基本概念:
与HTML文档绑定的XML数据源对象简称为DSO,通常也称为嵌入HTML文档中的XML数据岛。 使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。
利用DSO技术显示XML文档的机制是,把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集(Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。 采用DSO技术,首先需要进行数据绑定,即将XML文档数据绑定到HTML文档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。
【2】使用DSO技术来显示XML文档数据的两个主要步骤: (1)把要显示的XML文档绑定到一个HTML文档中 。这个步骤是通过在HTML文档中添加一个名为XML的特定元素来实现的。 (2)把XML文档中的元素与HTML文档中特定的元素绑定 。
被邦定到HTML网页的XML文档数据将成为一个数据源对象,也被称为数据岛。可以使用两种不同的数据岛形式,即:外部数据岛和内部数据岛。 1. 内部数据岛 内部数据岛是将XML文档的全部内容放在HTML文档中特定的XML元素的起始标记与结束标记之间,并在XML起始标记中给出这个数据岛的ID标识。
第一种方法是将全部XML元素绑定到HTML文档的TABLE元素 ,使得HTML网页中的表格能够自动显示XML文档的记录集合。此时应在<TABLE>标记中添加DATASRC属性,并将一个自定义的数据源对象名称(数据岛标识符)作为其属性值。
2. 外部数据岛 外部数据岛是在名为XML的HTML元素中仅包含所需绑定的XML文档的URL及其ID标识。
第二种方法是将指定的XML元素绑定到HTML文档的其他特定元素,例如绑定到SPAN、DIV、BUTTON等元素。此时在<TABLE>标记中除了应添加DATASRC属性之外,还应添加DATAFLD属性来指定所绑定的XML文档中的某个字段。采用此种方法一次只能显示一条记录或记录中的一个字段。并不是所有的HTML元素都可以与XML元素绑定,列出了可绑定的HTML元素及其被绑定的属性.
结果:

【3】使用DSO显示元素属性 1. 显示XML记录的属性 对于XML文档中含有属性的记录元素,在使用DSO方式进行处理时,只需将该元素的属性作为记录的一个特定字段来处理即可。因此就可以利用普通的数据绑定技巧来存取元素属性的值。 2. 显示XML字段的属性 对于XML文档中某个元素的字段中所含有的属性,在使用DSO方式进行处理时,只需将该属性作为这个字段的特定子元素来处理即可。DSO 会把含有属性的字段元素以嵌套的形式,而不是以字段的形式储存。因此,XML记录集将会变成一个阶层式的记录集,所以必须使用嵌套表格来显示所包含的嵌套数据。 【4】使用DSO显示图像元素 使用DSO技术,还可以把XML文档元素绑定到除TABLE和SPAN之外的其他HTML元素,以实现特定XML数据的显示功能。这些HTML元素包括DIV、BUTTON、IMG等。 如果将XML文档的图像元素绑定到HTML的IMG元素,即可方便地实现在网页中显示出对应的图像。 【5】使用DSO与Script编程 将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象。该对象提供了一组符合Microsoft 的ADO标准数据访问技术的方法和属性,因而可以通过script编程调用这些方法和属性来对记录集进行访问和处理。 可以根据需要调用recordset对象的任何一个方法来撰写有关的script程序。调用这些方法最简单的方式就是在HTML文档中通过将某个方法直接指定到BUTTON元素的ONCLICK属性中。 1 浏览DSO记录 HTML文档C,是用来一次显示一条DSO中数据记录的HTML网页文档。该网页提供了4个按钮及相应的script 代码,让浏览者随意地浏览第一个、前一个、下一个与最后一个数据记录。在IE浏览器中打开这个网页文档后显示的结果如下图所示。 2 编辑与添加DSO记录 HTML文档,不仅可用来一次显示一条DSO中的数据记录,还可以在网页的文本框中对显示的数据进行编辑修改。此外,该网页不仅提供了4个让浏览者能够随意翻页浏览和修改数据的按钮,而且还使用了recordset 对象的addNew() 方法设置了一个“添加记录”的按钮。在IE浏览器中打开这个网页文档后的显示结果如下图所示。 3 查询DSO记录 HTML文档首先与XML文档绑定,然后利用recordset对象的若干方法与属性,通过较复杂的JavaScript脚本程序代码,实现了在与之绑定的文档中搜索指定客户记录的任务。在IE浏览器中打开这个网页文档后的显示结果如下图所示。
采用DSO处理XML数据文档的最大缺点与DOM处理的缺点相同、另外处理的方法和手段不够灵活。另外DSO中添加的数据是添加到浏览器方设置的内存总,无法保存到服务器一端。 |