XML数据岛提供显示Web窗体数据的高效机制

ZDNet软件频道 时间:2003-04-25 作者:周靖译 |  我要评论(14)
本文关键词:xml
使用XML数据岛和HTML绑定,相较于传统方式,只需极少编程量就能获得需要的效果。最终得到的页还比传统方式获得的页小得多,所以页面能更快载入,更容易取悦用户。
本文译自Builder.com,未经许可请勿转载xml数据岛(Data Island)是指嵌入HTML文档中的超文本标记语言(xml)代码。就其本身,数据岛并非特别重要或有用,但假如配合得当,它们在存储客户端信息时就非常有用。

先来看看一个简单的xml数据岛,它在订单输入系统中表示单独的商品,如清单A所示。

嵌入HTML文档后,这个数据岛本身是没有用的。事实上,除非选择查看网页源文件,否则根本不知道数据岛的存在。但奇怪的是,我们正好能利用“数据岛在无心用户面前隐藏”这一事实。数据岛采用和隐藏HTML帧相似的方式在客户机上存储信息。和隐藏HTML帧的区别在于,数据岛可以和HTML对象绑定。由于它们是xml,所以能像其他任何xml文档那样在客户机上处理。

假定示范数据岛表示的是一个购物车的内容。客户希望电子商务应用提供一些特定的功能,例如随心所欲地查看购物车。将必要的信息存储到客户端以后,就能动态显示购物车内容。

绑定数据岛

“HTML绑定”告诉客户端浏览器:和一个HTML对象关联的值是由一个特定来源提供的。绑定HTML对象时,更新其值会造成关联节点的文本同时更新。例如,一个输入框的值可来源于xml数据岛的一个节点,如清单B所示。

这段代码会生成两个文本框,第一个包含Easton,第二个包含Pennsylvania。更改任何输入框的内容,都能体会到数据绑定的妙处。例如,假定在和数据岛的 city节点绑定的文本框中输入Wilson Borough,那个节点的文本就会从Easton变成Wilson Borough,如清单C所示。

将HTML对象和xml数据岛绑定时,需注意3件事情。首先,并非每个HTML对象都能绑定。其次,并非每个HTML对象都能更新数据岛。第三,并非每个HTML对象都将数据岛的节点文本呈现为HTML。A列出了可以绑定的HTML对象,并指出对象是否可以更新数据岛,以及数据岛的节点文本是否能呈现为HTML。

表A

HTML对象 可更新 呈现HTML
a
applet
button
div
frame
iframe
img
input type="button"
input type="checkbox"
input type="hidden"
input type="password"
input type="radio"
input type="text"
legend
marquee
select
span
table
textarea


虽然并非每个可绑定的HTML对象都能更新数据岛,但这其实无关紧要,因为大多数HTML对象都只是显示。另外,虽然并不是每个对象都能呈现数据岛节点文本,其实也无关紧要。以HTML select对象为例,和一个数据岛的节点绑定时,select对象的选项并不反映数据岛的节点文本。相反,节点文本反映的是选中的select对象的选项。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134