10
A
回答
7
您可以使用not(ancestor::*)
。
使用例:
<xsl:template match="node()|@*">
<xsl:if test="not(ancestor::*)">
<xsl:message>The root element is "<xsl:value-of select="name()"/>".</xsl:message>
</xsl:if>
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
+5
两个限定条件:(a)对于XSLT 1.0来说这是可以的,其中根节点始终是文档节点;对于2.0而言,这并不好,其中根节点可能是一个元素节点(或者实际上是一个属性或文本节点)。 (b)给出的代码是确定的,但消息除外。作为根(文档)节点的孩子的评论或处理指令将满足测试,但产生虚假消息。 –
+0
用于识别根元素的好xpath,+1 –
7
在XPath 1.0(XSLT 1.0):
not(parent::*)
或者你可以使用:
generate-id(..) = generate-id(/)
在XPath 2.0(XSLT 2.0 ):
.. is root()
相关问题
- 1. XSLT:测试节点是否存在,无论它是当前节点的子节点还是孙子节点
- 2. Spark 2:检查节点是主节点还是工作节点
- 3. XSLT获取所有节点,其中父节点不是类型
- 4. XSLT:检查节点列表中是否找到节点
- 5. 如何检查一个节点是否是另一个节点的子节点?
- 6. 父节点和子节点交换xslt
- 7. XSLT - 将节点移动到父节点
- 8. 如何从特定节点开始选择文本节点的前节点而不是根节点?
- 9. xslt根据其孙子节点的属性值选择祖父节点节点
- 10. 我如何知道xslt中根节点和当前节点之间的特定节点总数?
- 11. XSLT/XPath中的当前节点与上下文节点?
- 12. XSLT根据最大子节点对父节点进行排序
- 13. xslt根据拆分和父节点名生成子节点
- 14. 如何检查树视图根节点是否存在子节点
- 15. 从父节点检索子节点
- 16. XSLT选择子节点中存在值的父节点
- 17. Xpath/XSLT:检查以下兄弟节点是否是特定节点
- 18. 检查子节点是否存在并获取xml中的父节点
- 19. 在jstree中选择子节点时检查所有父节点
- 20. xslt组在父节点以及子节点下的相同节点
- 21. XSLT映射父节点的不同子节点
- 22. jstree检查父节点
- 23. xpath/xslt:根据子节点查找最后一个节点
- 24. XSLT:如何检查某个父节点中的某些节点是否全部相等
- 25. 我点击一个按钮后,如何检查节点是否是jstree中的父节点?
- 26. RadTreeView的子节点检查节点是否已经存在
- 27. 在节点XSLT内插入新节点
- 28. 如何同时检索子节点和父节点XML节点的值?
- 29. XSL:如何测试当前节点是否是另一个节点的后代
- 30. 为什么打印节点的父节点返回父节点+子节点?
好问题,+1。在XPath 1.0和XPath 2.0中查看我的答案,了解*正确*解决方案。 –