[XSL] xsl:variabele in xsl:choose, maar erbuiten gebruiken.

Pagina: 1
Acties:

  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-05 09:56
Ik heb nu dit stukje xsl wat ik gebruik:

XSLT:
1
2
3
4
5
6
7
8
9
10
<xsl:choose>
   <xsl:when test="number(@nummer) = number(following-sibling::object/@nummer)">
      <xsl:variable name="current" select="number(@nummer)" />
   </xsl:when>
   <xsl:otherwise>
      <xsl:variable name="current" select="number(@nummer)+$counter" />
   </xsl:otherwise>  
</xsl:choose>
        
<xsl:if test="($next &gt; 0 and $next != $current) or ($counter &lt; -1)">


maar nu krijg ik dus een foutmelding:
code:
1
2
3
Kan een verwijzing naar de variabele of parameter current 
niet oplossen. De variabele of parameter is mogelijk niet 
gedefinieerd of deze valt niet binnen het bereik.


Ok, wat ze ermee bedoelen is me wel duidelijk, maar hoe kan ik het dan anders doen??

[ Voor 37% gewijzigd door r0bert op 28-02-2004 11:03 ]


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Je kan de inhoud van een variabele ook meegeven als element in de <xsl:variable>. Je kan het volgens mij wel zo doen:


code:
1
2
3
4
5
6
7
8
9
10
11
12
<xsl:variable name="current">
   <xsl:choose>
      <xsl:when test="number(@nummer) = number(following-sibling::object/@nummer)">
         <xsl:value-of select="number(@nummer)" />
      </xsl:when>
      <xsl:otherwise>
         <xsl:value-of select="number(@nummer)+$counter" />
      </xsl:otherwise>  
   </xsl:choose>
</xsl:variable>
        
<xsl:if test="($next &gt; 0 and $next != $current) or ($counter &lt; -1)">

Rustacean


  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-05 09:56
Oh! Had ik helemaal niet aan gedacht! Inderdaad, lijkt me een goed idee! :) Thnx man!