Saravanan
Saravanan

Reputation: 11592

how to check parent of current node is root node or not in xslt?

I want to check the parent of current node is root node or not in Xslt.How i do that? Please Guide me to get out of this issue...

Thanks & Regards, P.SARAVANAN

Upvotes: 10

Views: 5497

Answers (2)

Dimitre Novatchev
Dimitre Novatchev

Reputation: 243459

In XPath 1.0 (XSLT 1.0):

not(parent::*)

Or you may use:

generate-id(..) = generate-id(/)

In XPath 2.0 (XSLT 2.0):

.. is root()

Upvotes: 9

Daniel Haley
Daniel Haley

Reputation: 52848

You can use not(ancestor::*).

Usage Example:

  <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>

Upvotes: 8

Related Questions