This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: variable going out of scope in a for-each loop?


> xsl fragment:
>
>      <xsl:for-each select="cell">
>          <xsl:if test="number(.)=number(.)">
>            We have a number here
>          <xsl:choose>
>            <xsl:when test="position() mod 2 = 0">
>              mod 2 = 0!
>              <xsl:variable name="aantal_uren">
>                <xsl:value-of select="."/>
>              </xsl:variable>
>              The value of the aantal_uren is: <xsl:value-of
> select="$aantal_uren"/>||
>              The value of the uur_tarief is: <xsl:value-of
> select="$uur_tarief"/>||

This is a syntax error. The variable $uur_tarief is not in scope. A variable
is in scope on the following-siblings of the xsl:variable element containing
its declaration, and on the descendants of those following siblings. You
should get no output from this stylesheet other than an error message.

Mike Kay

>            </xsl:when>
>            <xsl:otherwise>
>              mod 2 != 0!
>              <xsl:variable name="uur_tarief">
>                <xsl:value-of select="."/>
>              </xsl:variable>
>              The value of the aantal_uren is: <xsl:value-of
> select="$aantal_uren"/>||
>              The value of the uur_tarief is: <xsl:value-of
> select="$uur_tarief"/>||
>            </xsl:otherwise>
>          </xsl:choose>
>          </xsl:if>
>          ....
>
> Now, as soon as I loop form the first number containing cell
> to the next, the
> value defined in the previous-sibling seems to go out of scope viz.
> We have a number here
> mod 2 != 0!
> The value of the aantal_uren is: ||
> The value of the uur_tarief is:
> 246
> ||
> <fo:table-cell ><fo:block font-size="8pt" text-align="center">
> 246
> Here are the aantal
> And the tarief
> </fo:block></fo:table-cell>
> We have a number here
> mod 2 = 0!
> The value of the aantal_uren is:
> 135
> ||
> The value of the uur_tarief is: ||
> <...
>
> why?
> --
> Eric Smith - currently using xalan and xsltproc - what a
> difference speed makes - and fop on linux
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]