xsl-list
[Top] [All Lists]

Re: How can I conditionaly assign a node-set to my variable?

2005-01-19 12:27:09
Use:

       channel[6 > id or id='P'] [6 > $n and $hasP]
   | 
       channel[6 > id] [not(6 > $n and $hasP)]


Of course, in XPath 2.0 one can simply use a conditional expression:

       if(expression)
         then expression 
         else expression

Cheers,

Dimitre Novatchev.


On Thu, 20 Jan 2005 04:13:25 +1000, 
r(_dot_)moe(_at_)student(_dot_)qut(_dot_)edu(_dot_)au
<r(_dot_)moe(_at_)student(_dot_)qut(_dot_)edu(_dot_)au> wrote:
How can I conditionaly assign a node-set to my variable?
Variable needs to have local scope.
Obviously I can't use <xsl:value-of.../>.
I get the error message:
"Reference to variable or parameter 'firstTableRows' must
evaluate to a node list."

Code:

<xsl:variable name="firstTableRows">
<xsl:choose>
  <xsl:when test="6&gt;$n and $hasP">
    <xsl:value-of select="channel[6&gt;id or id='P']"/>
  </xsl:when>
  <xsl:when test="6&gt;$n">
    <xsl:value-of select="channel[6&gt;id]"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:value-of select="channel[6&gt;id]"/>
  </xsl:otherwise>
</xsl:choose>
</xsl:variable>

Thanks,
Roy

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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