John,
yes, Sablotron does read the whole input document into memory. In other
words, it does not do "streamed XSLT processing" which is currently a
hot issue but has so far remained in theory (or not even that).
I suggest handling the XML directly in expat callbacks if the input is
very large and the processing is simple.
Tom Kaiser
"John D. Gwinner" wrote:
>
> Folks:
>
> In planning to use Sablotron or 'by hand' handling of an expat parse'd file,
> I was wondering how the overall architecture of Sablotron works. We like to
> use expat (SAX) on record based input streams because we can handle each
> 'record' (first level element) as it ends, instead of (DOM) reading in every
> single line of the XML file and THEN parsing it. In our case, this can be
> thousands of items, which is why I like a SAX parser (expat) - read one self
> supporting element and output that in it's correct format, move onto the next.
> Just as efficient, and much much less memory intensive than reading the entire
> (megabytes) xml stream into a DOM.
>
> SO, does sablotron read everything into memory and then produce the output
> file?
>
> == John ==