什么是XSLT中的//
? (例如$currentPage//node
)XSLT中的//是什么?
回答
什么/ /在xslt?例如 ($当前页//节点)
在XPath缩写:
的XSLT指令一些属性(如属性select
)的值必须是一个XPath表达式。
因此,
($currentPage//node)
代表
($currentPage/descendant-or-self::node()/node)
这将选择名为node
是,它们或者包含在包含在节点的可变$currentPage
或是后代节点的所有子元素变量$currentPage
。
待办事项,在所提供的表达node()
是节点测试(它选择在descendant-or-self::
轴上的所有节点类型,如元素,文本节点,注释和处理指令。
在另一边,somePath/node
是somePath/child::node
的简写,只选择属于上下文节点的孩子命名为node
元素。
我强烈建议不要使用名称node
为元素,以避免这个混乱。
@Dimitre - 我正在挑剔什么是一个很好的答案,但倒数第二段是不正确的。它们不会是上下文节点的子节点,它们将成为由'somePath'选择的节点的子节点。 – Alohci 2010-07-28 00:12:17
@Alohci:是,并且任何时刻的“上下文节点”都是节点,下一个位置步骤从该节点开始执行 - 这意味着'child :: node'由'somePath/child :: node'确定,上下文节点是由'somePath'选择的任何节点。所以,你和我都说同样的东西:) – 2010-07-28 01:32:43
'node()/ node'令人困惑。'node()'是一个预定义的函数,'node'是一个占位符变量? 'node()/ foo'不会让人困惑。 – Joren 2011-03-30 17:15:59
这看起来像它的XPath,它可以内XSLT被用来搜索该树匹配的路径给定的节点的一部分。这与CSS选择器类似。
双斜杠在任何深度都会进行子代搜索。
例如:
elementa//elementb
将匹配任何elementb元件,其是一个elementa元件的后代,即使在它们之间有其它水平,例如:
<elementa>
<someelement>
<elementb>
</elementb>
</someelement>
</elementa>
- 1. XSLT中的cstyle是什么?
- 2. XSLT中的冒号是什么意思?
- 3. 什么是XSLT结果树
- 4. 什么是Perl最好的XSLT引擎?
- 5. XSLT/XPath的:从什么是选择
- 6. 什么是.NET的XSLT处理器?
- 7. I18n for XSLT(或者什么是XSLT的C++的gettext()和xgettext)?
- 8. 我的XSLT中有什么错误?
- 9. 什么是后跟数字的哈希(#)在XSLT是什么意思?
- 10. 什么是xslt中替换的最佳(更快)方法
- 11. 什么是最好的方案中使用XSLT
- 12. 什么是XSLT中文字结果元素的浅表副本?
- 13. XSLT中使用的@(at)符号是什么?
- 14. [1]在XSLT排序中的含义是什么?
- 15. XSLT 3.0中映射函数的命名空间是什么?
- 16. file:file在这个XSLT中代表什么?
- 17. 什么是:或者n1:在这个xslt样式表中呢?
- 18. 什么是XSLT的优势和应用程序?
- 19. 什么是写xslt -fo出xsl + xml的最好方法
- 20. XPath和XSLT中的数学函数的命名空间是什么?
- 21. 使用XSLT在XML中隐藏字段的正确代码是什么?
- 22. 在XSLT 1.0中格式化24小时的最佳方式是什么?
- 23. 什么是半coloon转义字符(;)在XSLT
- 24. XSLT属性何时与是否有什么区别
- 25. 什么是XSLT一对一编写某些节点属性?
- 26. “XSLT转换失败”为什么?
- 27. 什么时候xslt 2.0完成
- 28. 什么浏览器支持XSLT 2.0?
- 29. 为什么XSLT模板不工作?
- 30. 为什么不工作(与XML,XSLT)
好问题(+1)。查看我的答案以获得完整详细的解释。 – 2010-07-27 13:03:36