On Mon, 2012-01-09 at 18:54 -0800, Ming Chen wrote:
> According to the XPath spec (V2.0 section 3.2.3 Unabbreviated
> Syntax) : child::node() selects all the children of the context node. Note
> that no attribute nodes are returned, because attributes are not
> children.
Note, libxml2 actually only supports XPath 1, not XPath 2.
However,
/descendant::node()/rec/child::node()[1]
will match text nodes, and you're getting the blank (whitespace-only)
text node that's the first child of elements, since your input is
"indented".
> Shouldn’t it have the same output as
> /descendant::node()/rec/child::*[1] and /descendant::node()/rec/para[1]?
No.
The first child node in
<rec id="1">
<para type="error" position="1"/>
is the newline and spaces between id="1"> and <para.
Liam
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml