RE: [xsl] Problems with displaying node

Subject: RE: [xsl] Problems with displaying node
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 28 Apr 2004 15:05:47 +0100
> In my XSL, I have make some condition on the @invisible like this:
> 
> <xsl:template match="//para">
> <xsl:if test="//para/@invisible!='yes'">
> <xsl:value-of select="//para"/>
> </xsl:if>
> </xsl:template>
> 

You need to understand what "//" means - you appear to be using it as noise.
It means "select nodes starting from the root of the document, regardless of
the current position". So your template rule says "for any para anywhere in
the document, if there is a para anywhere in the document with
@invisible=yes, print the value of the first para that you find anywhere in
the document".

You want:

<xsl:template match="para[@invisible='yes']"/>

<xsl:template match="para">
 <xsl:value-of select="."/>
</xsl:template>

Michael Kay

Current Thread