Subject: RE: 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: 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
|