Subject: RE: accessing parent element in if clause
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 20 Jan 2005 13:49:03 -0000
|
You want
<xsl:if test="parent::definition">
Or better still, build this into the match pattern for the template:
<xsl:template match="definition/node">
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Rahil Qamar Yahoo [mailto:qamar_rahil@xxxxxxxxxxx]
> Sent: 20 January 2005 12:01
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: accessing parent element in if clause
>
> Hi
>
> Im sure its a fairly basic question for most but Im just
> starting out on
> XSLT and cant find any resources to solve my problem.
>
> I want to perform an operation based on an 'if' clause as shown below
>
> -----------------------------------
> <xsl:template match="/">
> <PrimeConcept><xsl:apply-templates
> select="/archetype/definition/node"/>
> </PrimeConcept>
> </xsl:template>
>
> <xsl:template match="node">
> <xsl:if test="parent::node()=definition">
> <xsl:attribute name="id"><xsl:value-of
> select="@id"/></xsl:attribute>
> <xsl:attribute name="type"><xsl:value-of
> select="@rm_class"/></xsl:attribute>
> </xsl:if>
> </xsl:template>
> ----------------------------------
>
> Theres a problem with the <xsl:if> statement where Im trying to
> determine whether the <node> element is the child of the <definition>
> element. I think theres a problem in the way Im trying to access the
> parent node but cant figure out the right way.
>
> Could someone please help.
>
> Thanks
> Rahil
|