RE: [xsl] Attempt to access a lazily-evaluated variable while it is being evaluated

Subject: RE: [xsl] Attempt to access a lazily-evaluated variable while it is being evaluated
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 27 Jul 2006 15:55:45 +0100
Another user hit this recently and it turned out they were running the same
Transformer in two different threads at the same time. It can also represent
a circularity among global variables. Either way, it's probably a
Saxon-specific issue and should be raised on the Saxon list rather than
here.

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


> -----Original Message-----
> From: cknell@xxxxxxxxxx [mailto:cknell@xxxxxxxxxx] 
> Sent: 27 July 2006 14:56
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Attempt to access a lazily-evaluated variable 
> while it is being evaluated
> 
> I have a stylesheet whose purpose is to merge a number of 
> small XML documents. The number is 24. I do this in a 
> stylesheet whose general form is:
> 
> <xsl:param name="document-name-1" />
> ..
> 
> <xsl:param name="document-name-23" />
> 
> (For those of you who are wondering, the twenty-fourth 
> document is the one passed to the transformation on the command line.)
> 
> <xsl:variable name="doc-document-name-1" 
> select="document($document-name-1)" /> ..
> 
> <xsl:variable name="doc-document-name-23" 
> select="document($document-name-23)" />
> 
> 
>   <xsl:template match="/">
>     <report>
>       <xsl:copy-of select="ROWSET/ROW/*" />
>       <xsl:copy-of select="$doc-document-name-1/ROWSET/ROW/*" />
>       ...
>       <xsl:copy-of select="$doc-document-name-23/ROWSET/ROW/*" />
>     </report>
>   </xsl:template>
> 
> Processing this with Saxon 8.7.1J, when the transformation 
> gets to the <xsl:copy-of> that corresponds to document 21, 
> the transformation fails with this error message:
> 
> "Fatal Error! Attempt to access a lazily-evaluated variable 
> while it is being evaluated"
> 
> All the variables are defined in the same format, so I'm 
> stumped for a reason why document 21 is a lazily-evaluated 
> variable while documents 1 - 20 are not.
> 
> Can anyone shed some light on this?
> 
> Thanks.
> 
> --
> Charles Knell
> cknell@xxxxxxxxxx - email

Current Thread