以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  xpath中的交集理解  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=18124)


--  作者:suyure
--  发布时间:5/11/2005 10:33:00 AM

--  xpath中的交集理解
xpath1.0中是没有直接的交集运算符的。
它用如下表达式 实现,假设求$p,$q  两个节点集合
的交,运算如下

$p[count(.|$q)=count($q)]

这个式子看起来很不直接,我后来是看到xpath中谓词的作用,还有
查看了count函数的意思后才明白。理解的步骤如下:

1。  count函数是返回节点集中不同节点的个数
2。 count($q) 是固定不变的数目,
谓词 的意思形象理解为 是当前节点合并$q集合后不同节点个数不变,那当前节点肯定是$q中存在的。
3。 当符合2时,当前节点就使谓词为真了,因此该节点被选择,
整个的结果就是选择了$p中已经在$q中存在的节点。因此实现了交集。


--  作者:kahon
--  发布时间:5/30/2005 7:01:00 PM

--  
这里的节点集$q要不要是$p的孩子(后代)节点集?

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
125.000ms