xsl-list
[Top] [All Lists]

Re: Reusing Variables!!

2004-01-09 03:40:32
Something like below:

<xsl:variable name="url">
    <xsl:value-of select="./breakdown[(_at_)sort='page']/@data"/>
    <xsl:text>1</xsl:text>
    <xsl:for-each select="./breakdown[(_at_)sort='param' and @type='fixed']">
        <xsl:value-of select="@name"/>
    </xsl:for-each>
</xsl:variable>

You put the logic inside the xsl:variable and just emit as output whatever
you want the variable to contain.

Now the result from your sample looks like:

index.php1entityaction

but I guess you want to obtain:

index.php?entity=User&action=View

Best Regards,
 George
-------------------------------------------------------------
George Cristian Bina mailto:george(_at_)oxygenxml(_dot_)com
<oXygen/> XML Editor - http://www.oxygenxml.com/


----- Original Message -----
From: "Robert A. van Ginkel" <robert(_at_)stylegate(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, January 09, 2004 12:03 PM
Subject: [xsl] Reusing Variables!!


[XML]
       <action idx="1" flag="browse">
         <breakdown sort="page" data="index.php" />
         <breakdown sort="param" name="entity" type="fixed" data="User" />
         <breakdown sort="param" name="action" type="fixed" data="View" />
       </action>
[XSL]
<xsl:for-each select="/sg/contents/menu/actions/action">
  <xsl:variable name="url" select="./breakdown[(_at_)sort='page']/@data"/>
  <xsl:variable name="url" select="concat($url,'1','')"/>
  <xsl:for-each select="./breakdown[(_at_)sort='param' and @type='fixed']">
    <xsl:variable name="url" select="concat($url,@name,'')"/>
  </xsl:for-each>
</xsl:for-each>

Would give:
Sablotron error on line 136: conflicting variable bindings 'url'
(line number is wrong)
I looked this up and  "Parameters are normal variables according to the
XSLT 1.0 spec. Thus, you can't use two variables of the same name in a
template. Libxslt and Xalan are too forgiving here. Saxon would give you
the same error as Sablotron. Saxon is the right authority for the spec
interpretation issues, I believe."
This explains it, but how can I get what I want here?


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



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



<Prev in Thread] Current Thread [Next in Thread>