lazy evaluation error

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

lazy evaluation error

Stefan Wachter
Hi all,

running a stylesheet with Saxon 8.7 I get the following error: "Attempt
to access a lazily-evaluated variable while it is being evaluated". The
error is reported for line 50 where the choose element starts below:

  <xsl:template match="log">
    <xsl:variable name="he" select="vdp:handbuch-element(.)"/>
    <xsl:choose>
      <xsl:when test="$he">
        <xsl:variable name="lnr" select="$he/@str_lnr"/>
        <xsl:variable name="logsOfArea" select="key('lnr', $lnr)"/>
        <xsl:variable name="logsOfMsg" select="key('messages', .)"/>
        <xsl:variable name="logsOfAreaMsg" select="$logsOfArea intersect
$logsOfMsg"/>
        <xsl:if  test="not(some $x in $logsOfArea satisfies $x &lt;&lt; .)">
          <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:attribute name="lnr" select="$he/@str_lnr"/>
            <xsl:attribute name="herkunft" select="$he/@str_herkunft"/>
            <xsl:attribute name="seite" select="$he/@str_seite"/>
            <xsl:attribute name="zeile" select="$he/@str_zeile"/>
            <xsl:attribute name="level" select="'fehler'"/>
            <xsl:text/>Leitziffer hat <xsl:value-of
select="count($logsOfArea)"/> Validierungsfehler<xsl:text/>
          </xsl:copy>
        </xsl:if>
        <xsl:if test="not(some $x in $logsOfAreaMsg satisfies $x
&lt;&lt; .)">
          <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:attribute name="lnr" select="$he/@str_lnr"/>
            <xsl:attribute name="herkunft" select="$he/@str_herkunft"/>
            <xsl:attribute name="seite" select="$he/@str_seite"/>
            <xsl:attribute name="zeile" select="$he/@str_zeile"/>
            <xsl:attribute name="level" select="'anmerkung'"/>
            <!-- Saxon-Fehler - intersection variable kann nicht genutzt
werden -->
            <!-- xsl:value-of select="count($logsOfAreaMsg)"/>mal:
<xsl:text/ -->
            <xsl:value-of select="count($logsOfArea intersect
$logsOfMsg)"/>mal: <xsl:text/>
            <xsl:copy-of select="node()"/>
          </xsl:copy>
          <xsl:text>&#10;</xsl:text>
        </xsl:if>
      </xsl:when>
      <xsl:otherwise>
        <xsl:copy-of select="."/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

Here is the output when setting saxon:explain to "yes":

java] Optimized expression tree for template at line 48 in
file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch/akkumuliere-validierung.xsl:
     [java]                     let $he[refCount=10] :=
     [java]                       call vdp:handbuch-element
     [java]                         .
     [java]                     return
     [java]                       if
     [java]                         $he
     [java]                       then
     [java]                         let $lnr[refCount=1] :=
     [java]                           sort and deduplicate
     [java]                             path /
     [java]                               treat as node()
     [java]                                 $he
     [java]                               attribute::attribute(str_lnr)
     [java]                         return
     [java]                           let $logsOfArea[refCount=4] :=
     [java]                             function key
     [java]                               "lnr"
     [java]                               atomize
     [java]                                 $lnr
     [java]                               /
     [java]                           return
     [java]                             let $logsOfMsg[refCount=2] :=
     [java]                               function key
     [java]                                 "messages"
     [java]                                 atomize
     [java]                                   .
     [java]                                 /
     [java]                             return
     [java]                               let $logsOfAreaMsg[refCount=1] :=
     [java]                                 operator intersect
     [java]                                   $logsOfArea
     [java]                                   $logsOfMsg
     [java]                               return
     [java]                                     if
     [java]                                       function not
     [java]                                         let
$zz:32477527[refCount=10] :=
     [java]                                           lazy
     [java]                                             .
     [java]                                         return
     [java]                                           some $x in
     [java]                                             $logsOfArea
     [java]                                           satisfies
     [java]                                             operator <<
     [java]                                               $x
     [java]                                               $zz:32477527
     [java]                                     then
     [java]                                       copy
     [java]                                     if
     [java]                                       function not
     [java]                                         let
$zz:19859865[refCount=10] :=
     [java]                                           lazy
     [java]                                             .
     [java]                                         return
     [java]                                           some $x in
     [java]                                             $logsOfAreaMsg
     [java]                                           satisfies
     [java]                                             operator <<
     [java]                                               $x
     [java]                                               $zz:19859865
     [java]                                     then
     [java]                                           copy
     [java]                                           value-of
     [java]                                             "
     [java] "
     [java]                       else if
     [java]                         true()
     [java]                       then
     [java]                         copyOf validation=skip
     [java]                           .
     [java] Error at xsl:choose on line 50 of
file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch/akkumuliere-validierung.xsl:
     [java]   Attempt to access a lazily-evaluated variable while it is
being evaluated
     [java] Transformation failed: Run-time errors were reported




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
saxon-help mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/saxon-help
Reply | Threaded
Open this post in threaded view
|

RE: lazy evaluation error

Michael Kay
Could you please supply me with a complete stylesheet/source document that
reproduces this error? I'm afraid I won't be able to investigate it without
running the code. Prima facie, though, it looks like a bug. I haven't seen
this internal error message for quite a while now.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of
> Stefan Wachter
> Sent: 28 February 2006 14:03
> To: [hidden email]
> Subject: [saxon] lazy evaluation error
>
> Hi all,
>
> running a stylesheet with Saxon 8.7 I get the following
> error: "Attempt
> to access a lazily-evaluated variable while it is being
> evaluated". The
> error is reported for line 50 where the choose element starts below:
>
>   <xsl:template match="log">
>     <xsl:variable name="he" select="vdp:handbuch-element(.)"/>
>     <xsl:choose>
>       <xsl:when test="$he">
>         <xsl:variable name="lnr" select="$he/@str_lnr"/>
>         <xsl:variable name="logsOfArea" select="key('lnr', $lnr)"/>
>         <xsl:variable name="logsOfMsg" select="key('messages', .)"/>
>         <xsl:variable name="logsOfAreaMsg"
> select="$logsOfArea intersect
> $logsOfMsg"/>
>         <xsl:if  test="not(some $x in $logsOfArea satisfies
> $x &lt;&lt; .)">
>           <xsl:copy>
>             <xsl:copy-of select="@*"/>
>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>             <xsl:attribute name="herkunft"
> select="$he/@str_herkunft"/>
>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>             <xsl:attribute name="level" select="'fehler'"/>
>             <xsl:text/>Leitziffer hat <xsl:value-of
> select="count($logsOfArea)"/> Validierungsfehler<xsl:text/>
>           </xsl:copy>
>         </xsl:if>
>         <xsl:if test="not(some $x in $logsOfAreaMsg satisfies $x
> &lt;&lt; .)">
>           <xsl:copy>
>             <xsl:copy-of select="@*"/>
>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>             <xsl:attribute name="herkunft"
> select="$he/@str_herkunft"/>
>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>             <xsl:attribute name="level" select="'anmerkung'"/>
>             <!-- Saxon-Fehler - intersection variable kann
> nicht genutzt
> werden -->
>             <!-- xsl:value-of select="count($logsOfAreaMsg)"/>mal:
> <xsl:text/ -->
>             <xsl:value-of select="count($logsOfArea intersect
> $logsOfMsg)"/>mal: <xsl:text/>
>             <xsl:copy-of select="node()"/>
>           </xsl:copy>
>           <xsl:text>&#10;</xsl:text>
>         </xsl:if>
>       </xsl:when>
>       <xsl:otherwise>
>         <xsl:copy-of select="."/>
>       </xsl:otherwise>
>     </xsl:choose>
>   </xsl:template>
>
> Here is the output when setting saxon:explain to "yes":
>
> java] Optimized expression tree for template at line 48 in
> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
> /akkumuliere-validierung.xsl:
>      [java]                     let $he[refCount=10] :=
>      [java]                       call vdp:handbuch-element
>      [java]                         .
>      [java]                     return
>      [java]                       if
>      [java]                         $he
>      [java]                       then
>      [java]                         let $lnr[refCount=1] :=
>      [java]                           sort and deduplicate
>      [java]                             path /
>      [java]                               treat as node()
>      [java]                                 $he
>      [java]                              
> attribute::attribute(str_lnr)
>      [java]                         return
>      [java]                           let $logsOfArea[refCount=4] :=
>      [java]                             function key
>      [java]                               "lnr"
>      [java]                               atomize
>      [java]                                 $lnr
>      [java]                               /
>      [java]                           return
>      [java]                             let $logsOfMsg[refCount=2] :=
>      [java]                               function key
>      [java]                                 "messages"
>      [java]                                 atomize
>      [java]                                   .
>      [java]                                 /
>      [java]                             return
>      [java]                               let
> $logsOfAreaMsg[refCount=1] :=
>      [java]                                 operator intersect
>      [java]                                   $logsOfArea
>      [java]                                   $logsOfMsg
>      [java]                               return
>      [java]                                     if
>      [java]                                       function not
>      [java]                                         let
> $zz:32477527[refCount=10] :=
>      [java]                                           lazy
>      [java]                                             .
>      [java]                                         return
>      [java]                                           some $x in
>      [java]                                             $logsOfArea
>      [java]                                           satisfies
>      [java]                                             operator <<
>      [java]                                               $x
>      [java]                                               $zz:32477527
>      [java]                                     then
>      [java]                                       copy
>      [java]                                     if
>      [java]                                       function not
>      [java]                                         let
> $zz:19859865[refCount=10] :=
>      [java]                                           lazy
>      [java]                                             .
>      [java]                                         return
>      [java]                                           some $x in
>      [java]                                             $logsOfAreaMsg
>      [java]                                           satisfies
>      [java]                                             operator <<
>      [java]                                               $x
>      [java]                                               $zz:19859865
>      [java]                                     then
>      [java]                                           copy
>      [java]                                           value-of
>      [java]                                             "
>      [java] "
>      [java]                       else if
>      [java]                         true()
>      [java]                       then
>      [java]                         copyOf validation=skip
>      [java]                           .
>      [java] Error at xsl:choose on line 50 of
> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
> /akkumuliere-validierung.xsl:
>      [java]   Attempt to access a lazily-evaluated variable
> while it is
> being evaluated
>      [java] Transformation failed: Run-time errors were reported
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking
> scripting language
> that extends applications into web and mobile media. Attend
> the live webcast
> and join the prime developer group breaking into this new
> coding territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&
> dat=121642
> _______________________________________________
> saxon-help mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/saxon-help
>




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
saxon-help mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/saxon-help
Reply | Threaded
Open this post in threaded view
|

Re: lazy evaluation error

Stefan Wachter
I bundled the attached set of files with which the error can be
reproduced. If you unpacked the archive change into the created
directory and execute the command

java -jar saxon8.jar tmp-log-s-bb_validate.xml
akkumuliere-validierung.xsl handbuchFilePath=handbuch.xml

then the reported error message should appear.

Hope this helps,
--Stefan

PS: I am not sure if my stylesheet is already correct because the lazy
evaluation problem popped up while I did some modifications.

Michael Kay wrote:

> Could you please supply me with a complete stylesheet/source document that
> reproduces this error? I'm afraid I won't be able to investigate it without
> running the code. Prima facie, though, it looks like a bug. I haven't seen
> this internal error message for quite a while now.
>
> Michael Kay
> http://www.saxonica.com/ 
>
>  
>> -----Original Message-----
>> From: [hidden email]
>> [mailto:[hidden email]] On Behalf Of
>> Stefan Wachter
>> Sent: 28 February 2006 14:03
>> To: [hidden email]
>> Subject: [saxon] lazy evaluation error
>>
>> Hi all,
>>
>> running a stylesheet with Saxon 8.7 I get the following
>> error: "Attempt
>> to access a lazily-evaluated variable while it is being
>> evaluated". The
>> error is reported for line 50 where the choose element starts below:
>>
>>   <xsl:template match="log">
>>     <xsl:variable name="he" select="vdp:handbuch-element(.)"/>
>>     <xsl:choose>
>>       <xsl:when test="$he">
>>         <xsl:variable name="lnr" select="$he/@str_lnr"/>
>>         <xsl:variable name="logsOfArea" select="key('lnr', $lnr)"/>
>>         <xsl:variable name="logsOfMsg" select="key('messages', .)"/>
>>         <xsl:variable name="logsOfAreaMsg"
>> select="$logsOfArea intersect
>> $logsOfMsg"/>
>>         <xsl:if  test="not(some $x in $logsOfArea satisfies
>> $x &lt;&lt; .)">
>>           <xsl:copy>
>>             <xsl:copy-of select="@*"/>
>>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>>             <xsl:attribute name="herkunft"
>> select="$he/@str_herkunft"/>
>>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>>             <xsl:attribute name="level" select="'fehler'"/>
>>             <xsl:text/>Leitziffer hat <xsl:value-of
>> select="count($logsOfArea)"/> Validierungsfehler<xsl:text/>
>>           </xsl:copy>
>>         </xsl:if>
>>         <xsl:if test="not(some $x in $logsOfAreaMsg satisfies $x
>> &lt;&lt; .)">
>>           <xsl:copy>
>>             <xsl:copy-of select="@*"/>
>>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>>             <xsl:attribute name="herkunft"
>> select="$he/@str_herkunft"/>
>>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>>             <xsl:attribute name="level" select="'anmerkung'"/>
>>             <!-- Saxon-Fehler - intersection variable kann
>> nicht genutzt
>> werden -->
>>             <!-- xsl:value-of select="count($logsOfAreaMsg)"/>mal:
>> <xsl:text/ -->
>>             <xsl:value-of select="count($logsOfArea intersect
>> $logsOfMsg)"/>mal: <xsl:text/>
>>             <xsl:copy-of select="node()"/>
>>           </xsl:copy>
>>           <xsl:text>&#10;</xsl:text>
>>         </xsl:if>
>>       </xsl:when>
>>       <xsl:otherwise>
>>         <xsl:copy-of select="."/>
>>       </xsl:otherwise>
>>     </xsl:choose>
>>   </xsl:template>
>>
>> Here is the output when setting saxon:explain to "yes":
>>
>> java] Optimized expression tree for template at line 48 in
>> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
>> /akkumuliere-validierung.xsl:
>>      [java]                     let $he[refCount=10] :=
>>      [java]                       call vdp:handbuch-element
>>      [java]                         .
>>      [java]                     return
>>      [java]                       if
>>      [java]                         $he
>>      [java]                       then
>>      [java]                         let $lnr[refCount=1] :=
>>      [java]                           sort and deduplicate
>>      [java]                             path /
>>      [java]                               treat as node()
>>      [java]                                 $he
>>      [java]                              
>> attribute::attribute(str_lnr)
>>      [java]                         return
>>      [java]                           let $logsOfArea[refCount=4] :=
>>      [java]                             function key
>>      [java]                               "lnr"
>>      [java]                               atomize
>>      [java]                                 $lnr
>>      [java]                               /
>>      [java]                           return
>>      [java]                             let $logsOfMsg[refCount=2] :=
>>      [java]                               function key
>>      [java]                                 "messages"
>>      [java]                                 atomize
>>      [java]                                   .
>>      [java]                                 /
>>      [java]                             return
>>      [java]                               let
>> $logsOfAreaMsg[refCount=1] :=
>>      [java]                                 operator intersect
>>      [java]                                   $logsOfArea
>>      [java]                                   $logsOfMsg
>>      [java]                               return
>>      [java]                                     if
>>      [java]                                       function not
>>      [java]                                         let
>> $zz:32477527[refCount=10] :=
>>      [java]                                           lazy
>>      [java]                                             .
>>      [java]                                         return
>>      [java]                                           some $x in
>>      [java]                                             $logsOfArea
>>      [java]                                           satisfies
>>      [java]                                             operator <<
>>      [java]                                               $x
>>      [java]                                               $zz:32477527
>>      [java]                                     then
>>      [java]                                       copy
>>      [java]                                     if
>>      [java]                                       function not
>>      [java]                                         let
>> $zz:19859865[refCount=10] :=
>>      [java]                                           lazy
>>      [java]                                             .
>>      [java]                                         return
>>      [java]                                           some $x in
>>      [java]                                             $logsOfAreaMsg
>>      [java]                                           satisfies
>>      [java]                                             operator <<
>>      [java]                                               $x
>>      [java]                                               $zz:19859865
>>      [java]                                     then
>>      [java]                                           copy
>>      [java]                                           value-of
>>      [java]                                             "
>>      [java] "
>>      [java]                       else if
>>      [java]                         true()
>>      [java]                       then
>>      [java]                         copyOf validation=skip
>>      [java]                           .
>>      [java] Error at xsl:choose on line 50 of
>> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
>> /akkumuliere-validierung.xsl:
>>      [java]   Attempt to access a lazily-evaluated variable
>> while it is
>> being evaluated
>>      [java] Transformation failed: Run-time errors were reported
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by xPML, a groundbreaking
>> scripting language
>> that extends applications into web and mobile media. Attend
>> the live webcast
>> and join the prime developer group breaking into this new
>> coding territory!
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&
>> dat=121642
>> _______________________________________________
>> saxon-help mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/saxon-help
>>
>>    
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> _______________________________________________
> saxon-help mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/saxon-help
>
>
>  


lazy_eval_problem.tar.bz2 (30K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: lazy evaluation error

Stefan Wachter
In reply to this post by Michael Kay
Dear Mr. Kay,

the problem is resolved! I had a bug inside my stylesheet! The
stylesheet contained the following global variable declaration:

  <xsl:variable name="handbuch" select="document($handbuch)"/>

Unfortunately the error message was a little bit misleading.

Regards,
--Stefan


Michael Kay wrote:

> Could you please supply me with a complete stylesheet/source document that
> reproduces this error? I'm afraid I won't be able to investigate it without
> running the code. Prima facie, though, it looks like a bug. I haven't seen
> this internal error message for quite a while now.
>
> Michael Kay
> http://www.saxonica.com/ 
>
>  
>> -----Original Message-----
>> From: [hidden email]
>> [mailto:[hidden email]] On Behalf Of
>> Stefan Wachter
>> Sent: 28 February 2006 14:03
>> To: [hidden email]
>> Subject: [saxon] lazy evaluation error
>>
>> Hi all,
>>
>> running a stylesheet with Saxon 8.7 I get the following
>> error: "Attempt
>> to access a lazily-evaluated variable while it is being
>> evaluated". The
>> error is reported for line 50 where the choose element starts below:
>>
>>   <xsl:template match="log">
>>     <xsl:variable name="he" select="vdp:handbuch-element(.)"/>
>>     <xsl:choose>
>>       <xsl:when test="$he">
>>         <xsl:variable name="lnr" select="$he/@str_lnr"/>
>>         <xsl:variable name="logsOfArea" select="key('lnr', $lnr)"/>
>>         <xsl:variable name="logsOfMsg" select="key('messages', .)"/>
>>         <xsl:variable name="logsOfAreaMsg"
>> select="$logsOfArea intersect
>> $logsOfMsg"/>
>>         <xsl:if  test="not(some $x in $logsOfArea satisfies
>> $x &lt;&lt; .)">
>>           <xsl:copy>
>>             <xsl:copy-of select="@*"/>
>>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>>             <xsl:attribute name="herkunft"
>> select="$he/@str_herkunft"/>
>>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>>             <xsl:attribute name="level" select="'fehler'"/>
>>             <xsl:text/>Leitziffer hat <xsl:value-of
>> select="count($logsOfArea)"/> Validierungsfehler<xsl:text/>
>>           </xsl:copy>
>>         </xsl:if>
>>         <xsl:if test="not(some $x in $logsOfAreaMsg satisfies $x
>> &lt;&lt; .)">
>>           <xsl:copy>
>>             <xsl:copy-of select="@*"/>
>>             <xsl:attribute name="lnr" select="$he/@str_lnr"/>
>>             <xsl:attribute name="herkunft"
>> select="$he/@str_herkunft"/>
>>             <xsl:attribute name="seite" select="$he/@str_seite"/>
>>             <xsl:attribute name="zeile" select="$he/@str_zeile"/>
>>             <xsl:attribute name="level" select="'anmerkung'"/>
>>             <!-- Saxon-Fehler - intersection variable kann
>> nicht genutzt
>> werden -->
>>             <!-- xsl:value-of select="count($logsOfAreaMsg)"/>mal:
>> <xsl:text/ -->
>>             <xsl:value-of select="count($logsOfArea intersect
>> $logsOfMsg)"/>mal: <xsl:text/>
>>             <xsl:copy-of select="node()"/>
>>           </xsl:copy>
>>           <xsl:text>&#10;</xsl:text>
>>         </xsl:if>
>>       </xsl:when>
>>       <xsl:otherwise>
>>         <xsl:copy-of select="."/>
>>       </xsl:otherwise>
>>     </xsl:choose>
>>   </xsl:template>
>>
>> Here is the output when setting saxon:explain to "yes":
>>
>> java] Optimized expression tree for template at line 48 in
>> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
>> /akkumuliere-validierung.xsl:
>>      [java]                     let $he[refCount=10] :=
>>      [java]                       call vdp:handbuch-element
>>      [java]                         .
>>      [java]                     return
>>      [java]                       if
>>      [java]                         $he
>>      [java]                       then
>>      [java]                         let $lnr[refCount=1] :=
>>      [java]                           sort and deduplicate
>>      [java]                             path /
>>      [java]                               treat as node()
>>      [java]                                 $he
>>      [java]                              
>> attribute::attribute(str_lnr)
>>      [java]                         return
>>      [java]                           let $logsOfArea[refCount=4] :=
>>      [java]                             function key
>>      [java]                               "lnr"
>>      [java]                               atomize
>>      [java]                                 $lnr
>>      [java]                               /
>>      [java]                           return
>>      [java]                             let $logsOfMsg[refCount=2] :=
>>      [java]                               function key
>>      [java]                                 "messages"
>>      [java]                                 atomize
>>      [java]                                   .
>>      [java]                                 /
>>      [java]                             return
>>      [java]                               let
>> $logsOfAreaMsg[refCount=1] :=
>>      [java]                                 operator intersect
>>      [java]                                   $logsOfArea
>>      [java]                                   $logsOfMsg
>>      [java]                               return
>>      [java]                                     if
>>      [java]                                       function not
>>      [java]                                         let
>> $zz:32477527[refCount=10] :=
>>      [java]                                           lazy
>>      [java]                                             .
>>      [java]                                         return
>>      [java]                                           some $x in
>>      [java]                                             $logsOfArea
>>      [java]                                           satisfies
>>      [java]                                             operator <<
>>      [java]                                               $x
>>      [java]                                               $zz:32477527
>>      [java]                                     then
>>      [java]                                       copy
>>      [java]                                     if
>>      [java]                                       function not
>>      [java]                                         let
>> $zz:19859865[refCount=10] :=
>>      [java]                                           lazy
>>      [java]                                             .
>>      [java]                                         return
>>      [java]                                           some $x in
>>      [java]                                             $logsOfAreaMsg
>>      [java]                                           satisfies
>>      [java]                                             operator <<
>>      [java]                                               $x
>>      [java]                                               $zz:19859865
>>      [java]                                     then
>>      [java]                                           copy
>>      [java]                                           value-of
>>      [java]                                             "
>>      [java] "
>>      [java]                       else if
>>      [java]                         true()
>>      [java]                       then
>>      [java]                         copyOf validation=skip
>>      [java]                           .
>>      [java] Error at xsl:choose on line 50 of
>> file:/home/swachter/projekte/infotakt/vdp/src/xml/xsl/handbuch
>> /akkumuliere-validierung.xsl:
>>      [java]   Attempt to access a lazily-evaluated variable
>> while it is
>> being evaluated
>>      [java] Transformation failed: Run-time errors were reported
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by xPML, a groundbreaking
>> scripting language
>> that extends applications into web and mobile media. Attend
>> the live webcast
>> and join the prime developer group breaking into this new
>> coding territory!
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&
>> dat=121642
>> _______________________________________________
>> saxon-help mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/saxon-help
>>
>>    
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> _______________________________________________
> saxon-help mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/saxon-help
>
>
>  



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
saxon-help mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/saxon-help
Reply | Threaded
Open this post in threaded view
|

RE: lazy evaluation error

Michael Kay
>
> the problem is resolved! I had a bug inside my stylesheet! The
> stylesheet contained the following global variable declaration:
>
>   <xsl:variable name="handbuch" select="document($handbuch)"/>
>
> Unfortunately the error message was a little bit misleading.
>

Yes indeed. This should give an explicit error message saying that the
definition of the variable is circular. I'll look into it.

But thanks for saving me the trouble of what threatened to be a difficult
piece of debugging.

Michael Kay
http://www.saxonica.com/




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
saxon-help mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/saxon-help
Reply | Threaded
Open this post in threaded view
|

Re: lazy evaluation error

Stefan Wachter
I am glad to help.

--Stefan

Michael Kay wrote:

>> the problem is resolved! I had a bug inside my stylesheet! The
>> stylesheet contained the following global variable declaration:
>>
>>   <xsl:variable name="handbuch" select="document($handbuch)"/>
>>
>> Unfortunately the error message was a little bit misleading.
>>
>>    
>
> Yes indeed. This should give an explicit error message saying that the
> definition of the variable is circular. I'll look into it.
>
> But thanks for saving me the trouble of what threatened to be a difficult
> piece of debugging.
>
> Michael Kay
> http://www.saxonica.com/
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> _______________________________________________
> saxon-help mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/saxon-help
>
>
>  



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
saxon-help mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/saxon-help