xsl-list
[Top] [All Lists]

Re: Node selection based on parent attribute

2002-08-30 10:48:25
must be <xsl:if test="..."/>

Regards,

Joerg

katharine wykes wrote:

Still trying to get a better understanding of xslt. Using the code you specified below brings up a parser error:
Attribute 'select' is invalid on 'xsl:if'.

Any clues as to the cause of this?
Cheers,


From: Wendell Piez <wapiez(_at_)mulberrytech(_dot_)com>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Node selection based on parent attribute
Date: Fri, 30 Aug 2002 12:24:31 -0400

Katharine,

Another approach (besides the ones using for-each) is just to use the built-in descent of the tree, as in something like:

<xsl:template match="menu">
  <xsl:if select="ancestor::menu[(_at_)id=$id']">
   <xsl:value-of select="@id"/>
   <!-- copies out this menu's @id if it has an ancestor
        menu with @id = $id -->
  </xsl:if>
  <xsl:apply-templates/>
  <!-- continues the tree traversal in case there are any below -->
</xsl:template>

Make sure the parameter is set to the *value* of the id ('1', '6', whatever) whose descendants you want.

Cheers,
Wendell


--

System Development
VIRBUS AG
Fon  +49(0)341-979-7419
Fax  +49(0)341-979-7409
joerg(_dot_)heinicke(_at_)virbus(_dot_)de
www.virbus.de


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list