Re: [xsl] Retrieving an Attribute from an Attribute-set

Subject: Re: [xsl] Retrieving an Attribute from an Attribute-set
From: Trevor Nash <tcn@xxxxxxxxxxxxx>
Date: Wed, 19 Dec 2001 16:33:23 +0000
>Hi,
>i want to retrieve an attribute from an attribute-set to use in a xsl:if
>test.
>
>e.g.
>I have this following attribute-set declared in a xsl file.
>    <xsl:attribute-set name="set">
>          <xsl:attribute name="display">yes</xsl:attribute>
>     </xsl:attribute-set>
>in the same file i want to use a xsl:if declaration
>
><xsl:template match="node">
>       <xsl:if test=" 'value-of-display attribute from set' = 'yes'" >
>                <!-- do something -->
>       </xsl:if>
></xsl:template>
>
>Is it possible ?
>
>-Dhiraj

If the value of the attribute is a constant, as in the example, then
you can use document('') to get at it.  If its actually derived from
something else, then that method won't work (the xpath will give you
the XSL instructions defining the value, not the value itself).
Instead you can do this (where 'yes' could be replaced by some
expression: note the double quoting, select="yes" means something else
entirely).

   <xsl:variable name="display-value" select="'yes'" />
    <xsl:attribute-set name="set">
          <xsl:attribute name="display">
             <xsl:value-of select="$display-value" />
          </xsl:attribute>
     </xsl:attribute-set>

<xsl:template match="node">
       <xsl:if test="$display-value = 'yes'" >
                <!-- do something -->
       </xsl:if>
</xsl:template>

I don't *think* I'm falling foul of any XSLT rules - I haven't tested
this.

Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@xxxxxxxxxxxxx

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


Current Thread