[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Can we have a inside a ?


Subject: RE: [xsl] Can we have a <xsl:attribute> inside a <xsl:variable>?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 14 Apr 2006 22:10:32 +0100

> I've a question: Can we have a <xsl:attribute> inside
> a <xsl:variable>?

Wrong question. xsl:attribute writes an attribute to the result tree, which
isn't what you want to do.

In XSLT 1.0 you want:

<xsl:variable name="prefix">
   <xsl:choose>
      <xsl:when test="$var1">
         <xsl:value-of select="$var1"/>
      etc.

In 2.0 you can write

<xsl:variable name="prefix" select="if ($var1) then $var1 else $var2"/>

Michael Kay
http://www.saxonica.com/


> 
> I'm trying to do something like this: I've to set a
> variable depending on a condition that if $var1 is
> null or not. If I can directly set the value of var1,
> that could have been ideal. Since I cannot reassign
> another value to the variable after it was
> declared/initialized in XSL, I'm trying to do that
> with the following workaround. But I'm not sure if I
> can use an <xsl:attribute> with in the <xsl:variable>.
> Again if its possible, is there a way that I can
> assign the values of $var1 or $var2 to prefix, because
> with the following piece, the variable will be just
> assigned the word '$var1' or '$var2'.
> 
> <xsl:variable name="prefix">
>              <xsl:choose>
>                 <xsl:when test="$var1">
>                     <xsl:attribute
> name="select">$var1</xsl:attribute>
>                 </xsl:when>
>                 <xsl:otherwise>
>                     <xsl:attribute
> name="select">$var2</xsl:attribute>        
>                 </xsl:otherwise>
>              </xsl:choose>
> </xsl:variable>
> 
> Thanks in advance,
> Bharathi
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 


Current Thread
Keywords