如何采用XML(REX)1.0远程事件处理DOM流协议

ZDNet软件频道 时间:2006-09-28 作者:Builder |  我要评论()
本文关键词:DOM xml Rex
XML远程事件规范为文档对象模式(DOM)事件的传输定义了XML语法,此方式与流协议兼容。它允许端点之间通过发送DOM事件保持DOM请求而发生相互通讯,此时如同在一个端点上作用一样。

XML远程事件规范为文档对象模式(DOM)事件的传输定义了xml语法,此方式与流协议兼容。它允许端点之间通过发送DOM事件保持DOM请求而发生相互通讯,此时如同在一个端点上作用一样。Rex在很多情况下非常有用,包括设置XML元素的属性、插入元素或移除元素、移除树、取代元素或整个文档等等。

Rex消息结构

Rex信息的根容器元素是<Rex>,它是必须的,即使只有一个元素也需要根容器。Rex语言的命名空间在http://www.w3.org/2006/rex网址。<Rex>Rex规范处理消息的最小版本。如果版本号没有用户代理所支持版本序列,用户代理则完全拒绝消息,或者忽略其全部消息内容。

另一个可选属性是ns。它允许在活动范围内申请DOM事件名字所应用的命名空间。对于任何给定的DOM事件名字,如果其父元素没有任何ns属性,则事件名字的IRI组件是http://www.w3.org/2001/xml-events否则,事件名字的IRI组件是文档内容中反序找到的第一个ns属性的命名空间组件。

本例中,树结构插入到HTML表格的第7个位置(A - example1.xml):

A - example1.xml
<Rexxmlns='http://www.w3.org/2006/Rex'>
  <event target='/html/body/table[2]' name='DOMNodeInserted' position='7'>
    <trxmlns='http://www.w3.org/1999/xhtml'>
      <td>Cell 1</td>
      <td>Cell 2</td>
      <td>Cell 3</td>
    </tr>
  </event>
</Rex>

<event>元素用于编码能被Rex捕获的任何类型的事件。同时指定“name”“target”属性,其他的内容则依赖于被捕获的事件。每一个<event>元素将产生一个相应的DOM事件(有时候是DOM树的修改)。

name”属性包含由<event>元素表征事件的本地名组件。事件名字的命名空间IRI组件必须基于“ns”属性。“target”属性包含目标路径,其语义将在下面进行讨论。同时还有“timeStamp”属性,它包含以毫秒为单位的时间整数,记录指派事件的时间(定义为1970年一月一日的00:00:00)。

如何进行工作

使用XPath的简单子集时,其目标节点被引用,满足大多数需要,同时执行方便。不需要解析相对路径,因为他们被指定在根处(绝对路径)或与元素ID绑定。目标路径和目标文档的评判结果是节点集。

如果节点集的大小超过一个,则事件将按照节点集中节点的次序进行指派,即相当于<event>元素在Rex消息中被拷贝多次,并且每一个都有目标路径,并且与对应的节点集中的节点相匹配。

Xpath入门中介绍了几个方法。目标路径可能在根或id()函数处开始。id()函数有一个单字符串参数,此参数必须包含一个标志符。其语法支持缩写轴。路径开始后,下面紧跟很多子轴,这些子轴使用元素名字测试。


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