|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: <xsl:if test="@attribute=$varValue">
Philippe,
Given an XML source of:
<foo attr="bar"/>
A stylesheet of:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="foo">
<xsl:variable name="varValue0" select="bar"/>
<xsl:variable name="varValue1" select="'bar'"/>
<xsl:variable name="varValue2">bar</xsl:variable>
<xsl:if test="@attr = $varValue0">
attr = varvalue0
</xsl:if>
<xsl:if test="@attr = $varValue1">
attr = varvalue1
</xsl:if>
<xsl:if test="@attr = $varValue2">
attr = varvalue2
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Produces
attr = varvalue1
attr = varvalue2
NOTE
----
(1) attr does *NOT* match $varValue0 since
the variable was set equal to an empty
nodeset when select="bar" did not find
any children elements named "bar".
(2) There are two ways to get a string value
assigned to a variable:
<!-- Note the single quotes around 'string' -->
<xsl:variable name="x" select="'string'"/>
<xsl:variable name="y">string</xsl:variable>
Hopefully this example will help see what might
be different with your case.
_________________________________________________________
Steve Muench, Consulting Product Manager & XML Evangelist
Business Components for Java Development Team
----- Original Message -----
From: "Philippe Vijghen" <Philippe.Vijghen@xxxxxxxx>
To: <xalan-dev@xxxxxxxxxxxxxx>
Sent: Wednesday, February 16, 2000 4:37 AM
Subject: RE: <xsl:if test="@attribute=$varValue">
Using <xsl:value-of> in my simplified example was a mistake.
The issue is related to tests, such as in <xsl:if>.
I could not solve the issue and had to implement a work-around
in my stylesheet.
Le'ts rephrase it:
<xsl:if select="@attribute='myVarValue'">hello</xsl:if>
...is working perfectely and perform the expected test
on the attribute value.
However
<xsl:template name="tmplName">
<xsl:param name="varValue">myVarValue</varValue>
<xsl:if select="@attribute=$varValue">hello</xsl:if>
</xsl:template>
...is not working:
the test is never considered as 'true'
although I verified that both the $varValue parameter
and the attribute are correctely initiliazed to 'myVarValue'.
Philippe
> -----Original Message-----
> From: Steve Muench [mailto:smuench@xxxxxxxxxxxxx]
> Sent: lundi 14 fivrier 2000 18:52
> To: xalan-dev@xxxxxxxxxxxxxx
> Subject: Re: <xsl:if test="@attribute=$varValue">
>
>
> | <xsl:template name="tmplName">
> | <xsl:param name="varValue">myVarValue</varValue>
> | <xsl:value-of select="@attribute={$varValue}">
> | </xsl:template>
>
> The title of the mail says:
>
> <xsl:if test="@attribute=$varValue"/>
>
> but in the body of the mail, it says:
>
> <xsl:value-of select="@attribute=$varValue"/>
...
> Could this be the problem?
...
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








