什么是主/细节特征?
新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前纪录的子元素连接到一个截然不同的表中。例如,考虑一下的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"纪录集。
value="Previous?Order"?onclick="XMLDoc.recordset.movePrevious()"
value="Next?Order"?onclick="xmlDoc.recordset.moveNext()"
为了在当前纪录的子元素中检索这个值,创建一张表并把表的?DATASRC?属性设置为"#xmlDoc",就和上面所作的一样,但是这时也要把它的?DATAFLD?属性设置为?"customer"。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"orders"纪录集中的"customer"域的指针指向。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)??NAMEID
??
????
????
??
接着对"item"元素作同样的处理。
??ITEMPRICE
??
????
????
??
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的改变到当前纪录。