Xalan's default mode
of operation is to use a SAX parser for the incoming document, ie a stream of
document "events".
Typically SAX is
used so that a whole document does not need to be read into memory in order to
process it; instead the tags can be processed as they occur and discarded after
use. Of course, the SAX events can be used to build a DOM model of the source
document, or a proprietory equivalent of a DOM model of the source
document.
When using Xalan
with a SAX parser processing the source document, is it simply building a DOM or
DOM-equivalent of the complete document in memory before starting processing of
XSLT templates?
If so, then what
is the
benefit of using a SAX parser to parse the source document?
If the source
document is NOT read completely into memory, how does Xalan handle statements
with "forward referencing" XPath expressions?
Thanks,
Simon
