RE: [xsl] variable with document() reference

Subject: RE: [xsl] variable with document() reference
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 1 Sep 2004 19:27:17 +0100
It depends entirely on the implementation. Most implementations will only
load the document once. If they load it twice they are required to allocate
the same node identity the second time, so it's less work to keep it in
memory and avoid reloading it: but they could try to be clever and flush it
out if memory is in short supply...

Michael Kay

> -----Original Message-----
> From: 0 8 [mailto:0112358@xxxxxxxxx] 
> Sent: 01 September 2004 18:32
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] variable with document() reference
> 
> I really should know the answer to this, but I can't seem to 
> get a handle on it.
> 
> If I reference an external document in a variable, like...
> 
> <xsl:variable name="xln-source" select="document($file)" />
> 
> ...and then need to loop through it, like...
> 
> <xsl:for-each 
> select="$xln-source//set[descendant::start/@xlink:href = $match]">
>    <!-- do something -->
> </xsl:for-each>
> 
> ...is the external document being loaded in the variable or it the
> for-each call?  I have a different for-each later requiring the same
> document and I would like to load it only once.
> 
> I'm actually thinking that I may need to move this to keys anyways,
> but it's bothering me that I can't answer this question.
> 
> Thanks,
> -m

Current Thread