This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: How parser maintains and XML tree
- From: Mike Brown <mike at skew dot org>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Sat, 29 Jun 2002 04:04:25 -0600 (MDT)
- Subject: Re: [xsl] How parser maintains and XML tree
- Reply-to: xsl-list at lists dot mulberrytech dot com
Mailer Mailer wrote:
> Hello All,
Dennis, You might want to change your email configuration so that you aren't
"Mailer Mailer".
> I was just wondering that the xslt parsers use DOM structure
XSLT processors, not 'XSLT parsers'. Parser is a word used to refer to an XML
parser, which decodes the bytes and lexical structure of an XML document, and
reports certain logical structures to an application like an XSLT processor.
XSLT processors are required to act as if they use the XPath/XSLT data model,
which is DOM-like, but has some differences from an actual DOM object. In
practice, they all do implement node trees; you are correct.
> and I am still not convinced that the parser
> would be able to maintain a large XML tree say, 50Mb
> or more.
> It will show the Out of memory problems, if this is
> the case then what is the solution for this problem?
That's correct. Some functions in XPath and XSLT make it necessary to have
the entire tree for each document in memory, so XSLT processors generally
require that every document be parsed and modeled as a node tree before XSLT
processing can begin.
However, at least one XSLT processor, Saxon, has a feature that allows it to
get around this. My understanding is that in order to process documents
incrementally, you have to give up some functionality in your transformation.
I'm not sure exactly what. You might want to go look at the documentation for
Saxon at saxon.sourceforge.net for more info.
> Otherwise in case it works for large XML struct. then
> how do they maintain in the memory?????
Michael Kay can answer that one. :)
- Mike
____________________________________________________________________________
mike j. brown | xml/xslt: http://skew.org/xml/
denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list