Actually, if you pass Xalan-J a SAX or Stream source, we will use a DTM
model internally, which is more space-efficient than a typical DOM
implementation (and especially more efficient than our DOM-to-DTM bridge
code).
However, it is true that XSLT in general requires that the whole document
be accessible at once, which generally means an in-memory data model.
Search archives of this list for discusion of "pruning" and "filtering";
there are definitely opportunities for deep analysis and optimization here,
but they're a moderately difficult problem and I don't know of any XSLT
implementation which is taking serious advantage of them yet.
______________________________________
Joe Kesselman, IBM Next-Generation Web Technologies: XML, XSL and more.
"The world changed profoundly and unpredictably the day Tim Berners Lee
got bitten by a radioactive spider." -- Rafe Culpin, in r.m.filk