This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Cascading Attributes?


You seem to be confusing <xsl:param> with <xsl:variable>

There are some other problems with what you're trying as well, but if
you consult a reference and clarify that distinction first (as well as
looking into how to call a named template) you'll be on your way

Michael
-------------------------------------------------
Michael Beddow
http://www.mbeddow.net/


----- Original Message -----
From: "William Bagby" <williamb@adone.com>
To: "XSL Mailing List (E-mail)" <xsl-list@lists.mulberrytech.com>
Sent: Friday, May 25, 2001 4:50 PM
Subject: [xsl] Cascading Attributes?


> I have an XML element <text> with an optional attribute @class.  In
the
> template matching this element, I'd like to have a variable $class
which
> takes one of the following values, with lower number taking
precedence:
>
> 1. a param called class passed to the template using <with-param>
> 2. optional attribute @class if it is defined
> 3. the string "none"
>
> In other words, if my XSL is:
>
> <xsl:apply-templates select="text"/>
>
> I want $class to be text/@class if it is defined, otherwise "none".
But if
> my XSL is:
>
> <xsl:variable name="myvar">myclass</xsl:variable>
> <xsl:apply-templates select="text">
> <xsl:with-param name="myvar"/>
> </xsl:apply-templates>
>
> I want $class to be "myclass", regardless of whether or not @class is
> defined.
>
> I tried the following:
>
> <xsl:template match="text">
> <xsl:param name="class">
> <xsl:choose>
> <xsl:when test="@class"><xsl:value-of
> select="@class"/></xsl:when>
> <xsl:otherwise>none</xsl:otherwise>
> </xsl:choose>
> </xsl:param>
> <a href="{@href}" class="{$class}"><xsl:value-of select="."/></a>
> </xsl:template>
>
> But it doesn't work.  I'm sure I could probably figure it out, but I'm
> looking for something elegant, or at least something easy to read.
Maybe
> what I really want to know is why my XSL doesn't work, which is really
> another way of asking, "How does <xsl:param> work?"
>
>
> William Bagby.
>
>
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]