If what you've got is a database structured as a flat list of 10k records,
with each record having fairly reguar strucutre, then I agree that at this
time that looks like a classic application for simple SAX-based processing.
If their structure isn't so regular,  using SAX to extract the records and
running them individually through XSLT might be a good approach.

Most XSLT processors do load the whole XML file into memory, since the XSLT
language supports full random access to the document's contents -- which
may be overkill for your case. There's a lot of interest in "pruning"
solutions -- analysing the stylesheet to understand when data will never be
referred to again and can thus be discarded from memory -- but as far as I
know nobody yet has that in full production. (If you search this mailing
list's archives for pruning, you'll see past discussion of this issue.)

I had a first draft of "manual" pruning code (triggered by a user-callable
extension function) sketched up for Xalan, but we recently made some
substantial changes which will require redesigning that.

Reply via email to