This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Retrieving an Attribute from an Attribute-set
- From: Trevor Nash <tcn at melvaig dot co dot uk>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 19 Dec 2001 16:33:23 +0000
- Subject: Re: [xsl] Retrieving an Attribute from an Attribute-set
- Organization: Melvaig Software Engineering Limited
- References: <011e01c188a0$b235cde0$947d7d7d@dhiraj>
- Reply-to: xsl-list at lists dot mulberrytech dot com
>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@melvaig.co.uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list