If I were to generate very large XML files (upwards of 1 Meg?),
would I encounter problems when processing with
XSLT, considering that I would want to sort on various elements.
Since XSLT permits random access to the document's content, most XSLT
processors require that the entire source document be in memory at once.
Depending on your machine's available space for stack and swapper, this
may or may not impose limitations on the maximum size document you can
handle, and depending on the XSLT processor architecture there may be
other limitations.
Obviously, sorting involves additional tables, which also consume storage.
Early versions of Xalan had some hardcoded limits on maximum document
size; those limits should no longer exist in current releases. Xalan can
also be set into an "incremental" mode in which the source document is
lazily loaded; that imposes some overhead, but if your stylesheet doesn't
read all the way to the end fo the document, this may yield a perfomance
gain.
(There has been some discussion of recognizing stylesheets which don't
require holding everything in memory at once and handling them differently
than the general case. I haven't heard any reports of this sort of
optimization being successfully implemented. Xalan has brainstormed
several possible solutions but we haven't had time to experiment with
them; that's one of the things we're hoping to investigate this year.)
______________________________________
Joe Kesselman / IBM Research
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list