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 ==


Reply via email to