Re: [xml] document node



Aha, thanks!
Still there is a problem with sorting a document node. It can be fixed either by prepending the following to 
xmlXPathCmpNodes(Ext) functions:

if (node1->type == XML_DOCUMENT_NODE && node2->type == XML_DOCUMENT_NODE)
  return(0);
else if (node1->type == XML_DOCUMENT_NODE)
  return(1);
else if (node2->type == XML_DOCUMENT_NODE)
  return(-1);

or by actually fixing it somewhere inside, probably here:

for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
  if (cur == node1)
    return(1);
  depth2++;
}
root = cur;
for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
  if (cur == node2)
    return(-1);
  depth1++;
}

Vojtech

-----Original Message-----
From: Bjoern Hoehrmann [mailto:derhoermi gmx net] 
Sent: 20. září 2012 13:52
To: Vojtech Fried
Cc: xml gnome org
Subject: Re: [xml] document node

* Vojtech Fried wrote:
I would expect XPath '/data/message/ancestor-or-self::*' to return 
three
nodes: document node (the node with type XML_DOCUMENT_NODE), 'data' 
node (the root node) and 'message' node. I don't get the document node 
though.

The node test `*` matches only element nodes; use `node()` instead.
--
Björn Höhrmann . mailto:bjoern hoehrmann de . http://bjoern.hoehrmann.de Am Badedeich 7 . Telefon: 
+49(0)160/4415681 . http://www.bjoernsworld.de
25899 Dagebüll . PGP Pub. KeyID: 0xA4357E78 . http://www.websitedev.de/ 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]