Re: [xsl] Setting variable based on passed in parameter

Subject: Re: [xsl] Setting variable based on passed in parameter
From: que Li <queincanada@xxxxxxxx>
Date: Tue, 30 Nov 2004 11:29:29 -0500 (EST)
Hi Matthew:
  I think  <xsl:value-of
>
select="/one/two[three/four[contains(text(),$nodeValue)]]"/>

will display the value on the out .It is not to set
the variable value. you need set the variable value on
the same line which you define variable 
example:
<xsl:variable name="myvariable" value=""/>


on the xslt, you can't change variable since you
define it. so It is impossible for you to set the
variable value twice.

what you can do:

<xsl:param name="nodeValue">something</xsl:param>
  <xsl:param name="valueSearch">false</xsl:param>
     <xsl:choose>
         <xsl:when test="$valueSearch='false'">
            <xsl:variable name="initialResult"
select="/one/two[three/four[contains(text(),$nodeValue)]]"/>
         </xsl:when>
         <xsl:otherwise>
        <xsl:variable name="initialResult"

select="/one/two[three/four[contains(text(),$nodeValue)]]"/>
         </xsl:otherwise>
       </xsl:choose>

> <xsl:template match="/">
>       <xsl:apply-templates select="$initialResult"/>
> </xsl:template>


 --- Matthew Hailstone <mhailstone@xxxxxxxxxx> wrote: 
> I'm trying to assign a variable a node-set that
> depends on a parameter
> passed into the stylesheet.
> 
>   <xsl:param name="nodeValue">something</xsl:param>
>   <xsl:param name="valueSearch">false</xsl:param>
>   <xsl:variable name="initialResult">
>       <xsl:choose>
>         <xsl:when test="$valueSearch='false'">
>             <xsl:value-of
>
select="/one/two[three/four[contains(text(),$nodeValue)]]"/>
>         </xsl:when>
>         <xsl:otherwise>
>             <xsl:value-of
>
select="/one/two[three/four[contains(text(),$nodeValue)]]"/>
>         </xsl:otherwise>
>       </xsl:choose>
>   </xsl:variable>
> <xsl:template match="/">
>       <xsl:apply-templates select="$initialResult"/>
> </xsl:template>
> <xsl:template match="/one/two">
>    ...
> </xsl:template>
> 
> 
> I get an error in oXygen saying, "Cannot process a
> result tree fragment
> as a node-set  under XSLT 1.0"
> 
> Am I doing something wrong?
> 
> Thanks in advance. :)
> 
> Matthew
> 
>  

______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca

Current Thread