[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Memory problem with "document()"


Subject: RE: [xsl] Memory problem with "document()"
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Mon, 4 Mar 2002 11:37:37 -0000

> 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@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords