新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前
纪录的子元素连接到一个截然不同的表中。例如,考虑一下的XML:
??
????
??????
??????
????
????
??????
??????
????
??
??
????
??????
??????
????
????
??????
??????
????
??
??
????
??????
??????
????
????
??????
??????
????
??
你可以允许你的用户通过ID来定位订单,并显示(也仅能显示)当前订单上的客户和项
目信息,你的用户并不能查看所有订单的信息——仅能查看自己感兴趣的。
如何连接到细节?
连接到层次结构中的底层(细节信息)的关键是了解你的数据的结构,上面的XML在根元
素
包含"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.movePrev
ious()">
value="Next?Order"?onclick="xmlDoc.recordset.moveNext()">
为了在当前纪录的子元素中检索这个值,创建一张表并把表的?DATASRC?属性设置为"#x
mlDoc",就和上面所作的一样,但是这时也要把它的?DATAFLD?属性设置为?"customer"
。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"order
s"纪录集中的"customer"域的指针指向。
| NAME | ID |
|---|---|
接着对"item"元素作同样的处理。
| ITEM | PRICE |
|---|---|
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的
改变到当前纪录。
