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

Subject: Re: [xsl] Retrieving an Attribute from an Attribute-set
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 19 Dec 2001 15:56:42 +0000
Hi Dhiraj,

> 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 ?

Yes - you can access the information within the stylesheet using the
document() function with an empty string as an argument (i.e.
document('')), and then locate the relevant attribute set and display
attribute. The test would be:

  document('')/xsl:*
    /xsl:attribute-set[@name = 'set']
    /xsl:attribute[@name = 'display'] = 'yes'

You have to be a *bit* careful with this, because it doesn't scale
well if the stylesheet is actually part of a larger application (that
includes/imports other stylesheets).

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread