Subject: RE: [xsl] Using Saxon 8.5 and collection() to process a directory of XML files From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 4 Aug 2005 16:23:56 +0100 |
Yes, if the collection is held in a global variable then it's likely that all the documents will be locked down. If it's in a local variable the situation is more complex: if Saxon can detect that you are doing a single iteration over the contents of the variable, then it won't actually hold the whole sequence in memory, but in other cases it will. Doing <for-each select="collection($in)/discard-document(.)"> or <apply-templates select="collection($in)/discard-document(.)"> is safest. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: David Carlisle [mailto:davidc@xxxxxxxxx] > Sent: 04 August 2005 15:57 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Using Saxon 8.5 and collection() to > process a directory of XML files > > > > > You can call saxon:discard-document() to make a document > available for > > garbage collection when there are no outstanding references to it. > > ah, thanks. > > So does that mean that one shoudn't make a global variable > > <xsl:variable name="collection" select="collection(... > > <xsl:template name="main"> > <xsl:for-each select="$collection/saxon:discard-document(.)" ... > > > as that will force you to keep the document around forever in > case I go > $collection[66]/a/b/c at some strange point? Or can your stylesheet > analysis detect that the variable is only used in a top level loop? > > > Should I instead go > > > <xsl:template name="main"> > <xsl:for-each select="collection( ...)/saxon:discard-document(.)" > > > > so that outside the loop the node is not accessible (without reparsing > the document) > > David > > ______________________________________________________________ > __________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ______________________________________________________________ > __________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Using Saxon 8.5 and colle, David Carlisle | Thread | RE: [xsl] Using Saxon 8.5 and colle, Welch Andrew (ELS) |
Re: [xsl] Using Saxon 8.5 and colle, David Carlisle | Date | Re: [xsl] Grouping text nodes, James Cummings |
Month |