什么是主/细节特征?
新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前
纪录的子元素连接到一个截然不同的表中。例如,考虑一下的xml:
<orders>
<order order_number="2233">
<customer>
<name>john smith</name>
<custid>192883</custid>
</customer>
<item>
<name>fly swatter</name>
<price>9.99</price>
</item>
</order>
<order order_number="2234">
<customer>
<name>marea angela castaneda</name>
<custid>827145</custid>
</customer>
<item>
<name>fly paper</name>
<price>15.99</price>
</item>
</order>
<order order_number="2235">
<customer>
<name>amy jones</name>
<custid>998022</custid>
</customer>
<item>
<name>mosquito .netting</name>
<price>38.99</price>
</item>
</order>
</orders>
你可以允许你的用户通过id来定位订单,并显示(也仅能显示)当前订单上的客户和项
目信息,你的用户并不能查看所有订单的信息——仅能查看自己感兴趣的。
如何连接到细节?
连接到层次结构中的底层(细节信息)的关键是了解你的数据的结构,上面的xml在根元
素<orders>中含有有三个元素。基于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"定位订单。
<p>order number: <span datasrc="#xmldoc" datafld="order_number"></span></p>
现在再添加几个按钮来帮助用户浏览"orders"纪录集。
<input type=button value="previous order" onclick="xmldoc.recordset.moveprev
ious()">
<input type=button value="next order" onclick="xmldoc.recordset.movenext()">
为了在当前纪录的子元素中检索这个值,创建一张表并把表的 datasrc 属性设置为"#x
mldoc",就和上面所作的一样,但是这时也要把它的 datafld 属性设置为 "customer"
。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"order
s"纪录集中的"customer"域的指针指向。
<table datasrc="#xmldoc" datafld="customer" border>
<thead><th>name</th><th>id</th></thead>
<tr>
<td><span datafld="name"></span></td>
<td><span datafld="custid"></span></td>
</tr>
</table>
接着对"item"元素作同样的处理。
<table datasrc="#xmldoc" datafld="item" border=1>
<thead><tr><th>item</th><th>price</th></tr></thead>
<tr>
<td><span datafld="name"></span></td>
<td><span datafld="price"></span></td>
</tr>
</table>
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的
改变到当前纪录。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器