The OXF pipelines are 100% SAX-based. There are some exceptions, in particular:
o Conditionals (p:choose) which may require building XML trees to apply certain XPath expressions to the documents referenced by the p:choose's href attribute.
o Debug attributes on inputs and outputs currently build trees.
o Schema validation on inputs and outputs may require building trees, depending on the validator used.
Also, Saxon will build an internal tree for input documents, which is not a DOM tree but Saxon's own "tinytree". This is in the general case unavoidable as XSLT and XPath require being able to navigate the input documents along all axes.
In your case, I think the issue you are encountering is that the serializer is storing the output document into the OXF cache. Our current code base supports disabling caching of serialized content, similar to what we allow in 2.2 for the URL generator:
http://www.orbeon.com/oxf/doc/processors-generators#N103B3
Are you currently using 2.2? We should be able to provide you with a snapshot build with this feature.
-Erik
Henrik Pettersen wrote:
> Hello, > > I'm parsing a large xml file using the saxon xslt parser, generating an > even larger xml file which I write out to disk. > > Problem is that OXF seems to create an in-memory model of the results, > which it does not release after the file has been written out. > > 2 questions: > ------------ > 1. Is there any way to make sure that OXF never builds an in-memory > model (DOM, I presume), for an xslt transformation? > > 2. If not, is there a way to make sure that this model is not cached? > > I'll be doing several transformations on large xml files, so a low > memory footprint will be of great importance. > > Cocoon handles this by sending sax events down the pipeline. How about > OXF? > > Thanks for your help. > > Henrik
_______________________________________________ oxf-users mailing list [EMAIL PROTECTED] http://mail.orbeon.com/mailman/listinfo/oxf-users
