Microsoft Internet Explorer 5中内嵌了一个C++数据源对象(DSO),可以用来把XML连 接到HTML中。Microsoft? Internet Explorer 4中内嵌的Java XML DSO在Internet Exp lorer 5中仍然支持,但是新的C++ DSO有更好的性能,还可以直接连接XML数据岛。 如何把XML连接到HTML上? 考虑下面的XML文件: UCSB Santa Barbara, CA University of Texas at Arlington Arlington, TX USM Hattiesburg, MS Baylor Waco, TX 可以用以下的HTML把这个XML连接到一个重复表中:
NAMELOCATION
这里不需要标签,因为XML DSO已经为你完成了这些工作 在C++ XML DSO中使用主/细节特征 新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前 纪录的子元素连接到一个截然不同的表中。例如,考虑一下的XML: John Smith 192883 Fly Swatter 9.99 Marea Angela Castaneda 827145 Fly Paper 15.99 Amy Jones 998022 Mosquito Netting 38.99 你可以允许你的用户通过ID来定位订单,并显示(也仅能显示)当前订单上的客户和项 目信息,你的用户并不能查看所有订单的信息——仅能查看自己感兴趣的。 如何连接到细节? 连接到层次结构中的底层(细节信息)的关键是了解你的数据的结构,上面的XML在根元 素中含有有三个元素。基于XML DSO所采用的试探法,每一个订单都映射到一个 包含"order_number"、 "customer"、 和 "item"等域的行集中。"order_number"列包含 "order_number"属性的值,"customer"和"item"列包含指向各自的"customer"和"item" 纪录集的指针。"customer"记录集中包含带有"name"和"custID"域的元素的值,"item" 记录集中包含带有"name"和"price"域的元素的值。 这样,在顶层("orders")纪录集中,你可以找到"order_number"的值,然后允许你的 用户通过"order_number"定位订单。

ORDER NUMBER:

现在再添加几个按钮来帮助用户浏览"orders"纪录集。 为了在当前纪录的子元素中检索这个值,创建一张表并把表的 DATASRC 属性设置为"#x mlDoc",就和上面所作的一样,但是这时也要把它的 DATAFLD 属性设置为 "customer" 。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"order s"纪录集中的"customer"域的指针指向。
NAMEID
接着对"item"元素作同样的处理。
ITEMPRICE
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的 改变到当前纪录。