Subject: RE: Finding the path to a node
From: cknell@xxxxxxxxxx
Date: Fri, 11 May 2007 09:27:41 -0400
|
<xsl:template match="/">
<xsl:apply-templates select="pages//page[@id='4']" />
</xsl:template>
<xsl:template match="page">
<xsl:value-of select="ancestor::page[position() = last()]/@id" />
</xsl:template>
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: Kai Weber <weber@xxxxxxxxxxxxx>
Sent: Fri, 11 May 2007 15:04:24 +0200
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Finding the path to a node
Hello,
First I would like to thank this list. So far all my
problems with XSLT could be solved with your help. Thank you!
I have a new one: I have to find the "root"-node of a node
(not the document root, but a certain root).
Let's say I want to find the root-page-node for page-node with id 4.
Result should be page-node with id 1. A list of nodes 1,2,3 is
acceptable, too.
<pages>
<page id="1">
<page id="2">
<page id="3">
<page id="4">
</page>
</page>
</page>
</page>
<page id="5" />
<page id="6" />
</pages>
I tried with, but this is a loop and wrong...
<xsl:apply-templates select="//page[@id='4']/ancestor:node()" />
Regards, Kai
|