Как проверить родителя текущего node является root node или нет в xslt?
Я хочу проверить родителя текущего node на root node или нет в Xslt. Как я это делаю?
Пожалуйста, направляйте меня, чтобы выйти из этой проблемы...
Спасибо и с уважением,
P.SARAVANAN
Ответы
Ответ 1
Вы можете использовать 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>
Ответ 2
В XPath 1.0 (XSLT 1.0):
not(parent::*)
Или вы можете использовать:
generate-id(..) = generate-id(/)
В XPath 2.0 (XSLT 2.0):
.. is root()