This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Memory problem with "document()"
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 4 Mar 2002 11:37:37 -0000
- Subject: RE: [xsl] Memory problem with "document()"
- Reply-to: xsl-list at lists dot mulberrytech dot com
> We are trying to use XSLT to parse a big number of document
> in one pass.
>
> First of all, a list of the documents is parsed, and from that, each
> document is parsed separately. In one case, this is to
> produce one document
> (with msxml) and in the other case, multiple documents (with
> saxon). In
> both case, I have to
>
> In the two cases, I have memory problems, and so my question
> is : is there
> a way to make the XSLT processor releave all the memory taken
> by the XPath
> "document()" function, or a better way to do that ?
There's no obvious way to do this in Saxon, and I would advise trying to run
it as a collection of small transformations rather than one big one.
If you want to be ambitious, you could try writing a URIResolver (which will
be called when the document() function is called) that returns a proxy for
the document object rather than the object itself. Your proxy could be
written so that it only keeps a reference to the most recently selected
"real document". The proxy should implement Saxon's DocumentInfo interface
and pass all access requests through to the underlying document object.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list