Как проверить родителя текущего 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()
Ответ 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()