Lists Home |
Date Index |
I think that the answer to your question is: It should return the first
non-empty TEXT DOM node ("bar") (!!!)
I'm based on this from DOM3-Xpath
"The XPath model relies on the XML Information Set [XML Information set]
ands represents Character Information Items in a single logical text node
where DOM may have multiple fragmented Text nodes due to cdata sections,
entity references, etc. Instead of returning multiple nodes where XPath sees
a single logical text node, only the first non-empty DOM Text or
CDATASection node of any logical XPath text will be returned in the node
set. Applications using XPath in an environment with fragmented text nodes
must manually gather the text of a single logical text node possibly from
multiple nodes beginning with the first Text node or CDATASection node
returned by the implementation."
So if applied to a DOM tree fo the Document Xpath returns something
different that applying the same query to an XML document directly
this is really obscure and confusing.
----- Original Message -----
From: Dare Obasanjo <firstname.lastname@example.org>
Sent: Saturday, July 20, 2002 4:53 PM
Subject: RE: [xml-dev] Question for the XPath and DOM folks
> Ahhh. But many vendors (including Microsoft) have shipped DOM
implementations that enable XPath queries. Also the W3C DOM working group is
in the process of standardizing XPath over the DOM as we speak so you
can't just punt and say it shouldn't happen and is thus undefined since it
>  http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020328/
> -----Original Message-----
> From: Daniel Veillard [mailto:email@example.com]
> Sent: Sat 7/20/2002 12:45 PM
> To: Dare Obasanjo
> Cc: firstname.lastname@example.org
> Subject: Re: [xml-dev] Question for the XPath and DOM folks
> On Sat, Jul 20, 2002 at 11:19:25AM -0700, Dare Obasanjo wrote:
> > Given the following XML in a DOM document
> > <foo>
> > bar
> > <![CDATA[
> > baz
> > ]]>
> > quux
> > </foo>
> > and the following XPath
> > file://text()
> > what should be the resulting DOM nodes and why? I can think of two
answers but they both have problems.
> Well the theorical answer is that XPath operates on an XPath
> data model, not a DOM view. Your question has no answer, XPath is not
> designed to work on a standard DOM tree, CDATA are transparently
> turned in (the container) text node.
> it returns the text node of the XPath data model which is the unique
> children of the foo element node.
> Daniel Veillard | Red Hat Network https://rhn.redhat.com/
> email@example.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
> http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.373 / Virus Database: 208 - Release Date: 7/4/02