Skip to Content.
Sympa Menu

xom-interest - Re: [XOM-interest] XOM 1.1: XPath

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: Elliotte Harold <elharo AT metalab.unc.edu>
  • To: Michael Kay <mike AT saxonica.com>
  • Cc: 'xom-interest' <xom-interest AT lists.ibiblio.org>
  • Subject: Re: [XOM-interest] XOM 1.1: XPath
  • Date: Fri, 07 Jan 2005 07:12:35 -0500

Michael Kay wrote:

The fact that this is documented as a non-conformance means by definition
that I'm not happy with the situation and would like to fix it eventually.
My thinking is that it should be done in the same layer that does
"stripping" (really, skipping) of whitespace text nodes. The main difficulty
is that it's one of those areas where the last 1% of conformance can cost
you 10% in performance, and users don't necessarily find that the right
trade-off. (Microsoft's MSXML3, running against a DOM, has never merged
adjacent text nodes, and this doesn't seem to cause many problems.)

I'll pay the 10% in performance to get 1% in correctness.

Rather than having Saxon create virtual text nodes to represent a sequence
of adjacent XOM text nodes, I think it would be better if XOM had an option
to merge adjacent text nodes as soon as they are added to the tree.

That still relies on users to set the option. I'll have to look at the interface between XOM and SAXON you and Wolfgang wrote, but is it possible that we could break the assumption that a single XOM object is a single SAXON Node? Could several XOM objects make up a SAXON node?

OK. I've looked at the code and it seems like we could wrap an array or list of several Text objects as a single SAXON Node. However, I'm not sure how we'd feed the document into SAXON inn the first place. Where's the class that reads through a XOM Document and wraps everything? We might need to change that too so that if it saw consecutive text nodes it accumulated them into a list before wrapping, rather than wrapping each one individually.

This might require some changes to Saxon internals but it should help out with JDOM as well. What about DOM? Does SAXON also not merge adjacent text nodes there?

--
Elliotte Rusty Harold elharo AT metalab.unc.edu
XML in a Nutshell 3rd Edition Just Published!
http://www.cafeconleche.org/books/xian3/
http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim




Archive powered by MHonArc 2.6.24.

Top of Page