[jdom-interest] JDOM and XSL/ problem with xalan 2 DO5
shauns at pixology.com
Thu Jan 25 03:50:41 PST 2001
I'll let others here clarify/correct me, but the purpose of
the SAXBuilder class is to build a Java specific in-memory
representation of the tree.
I'm not sure what you mean by behind other parsers though;
there are two ways to look at it:
1 - You use the SAX events and filter what you want. So, I
- could build a partial tree in memory, but if I wanted to
- drill down I would need to parse the file again to get the
- sub elements that I wanted. Not terribly efficient!
2 - You can build a tree in memory. All elements in the document
- will be accessible at once.
It is hard to imagine a system which offers the 'best of both'
without being reasonably inefficient (although probably doable
with random-access files). JDOM does the latter; it does not
fire events at the end user (the application programmer), although
it can capture and send SAX events if needed.
Also, JDOM is not strictly speaking a parser; it uses parsers to
build an in-memory representation of the document. I'm not sure
what the JavaWorld article is meaning, I may have a look at
What's a 'pmnace'?
Anyway, can't help noticing that we've drifted away from the
yeah.... now i am little confused
according to an article appeared on JavaWorld,
' JDOM takes the best concepts from DOM and SAX.[...] it does not require
the entire document to be in memory... '
so...are you saying that in pmnace evaluation, JDOM is still behind other
can i have more clarification on that???
thanx in advance and regards
> -----Original Message-----
> From: ext Shaun Smith [mailto:shauns at pixology.com]
> Sent: 25. January 2001 13:32
> To: 'Marco.Mistroni at nokia.com'; Shaun Smith
> Cc: xalan-dev at xml.apache.org; Scott.Boag at lotus.com
> Subject: RE: [jdom-interest] JDOM and XSL/ problem with xalan 2 DO5
> Sorry, I think I must be misunderstanding - I am sure that
> I'll be corrected tho'!
> --> Create a SAXBuilder ( SAXBuilder in memory )
> SAXBuilder builder = new SAXBuilder();
> --> Create an org.jdom.Document from the builder - this is an
> in memory
> --> similar to the DOM tree
> Document doc = builder.build(new File(args));
> --> Create a DOMOutputter and create an w3c.dom.Document - we
> now have two
> --> of the tree in memory ( the JDOM document and the W3C document )
> DOMOutputter out = new DOMOutputter();
> org.w3c.dom.Document doc2 = out.output(doc);
> To avoid having the w3c.dom.Document tree in memory during
> the transform,
> you can use the Xalan SAXSource.
> JDOM always constructs a tree in memory; see a few posts below
> about parsing 16mb files.
More information about the jdom-interest