Hi All,

I have notice that xmlGetNodePath doesn't return the right path if the same
namespace has different prefixes in the document.

For example for calling xmlGetNodePath on any of the following nodes in
this document will return "/root/l_0:l1"


/************** Document with multiple prefixes for the same namespace
****************/
<root xmlns:a="http://a.b/c";>
  <l_0:l1 xmlns:l_0="http://ns.org/ns/"; id="id_0"/>
  <l_1:l1 xmlns:l_1="http://ns.org/ns/"; id="id_1"/>
  <l_2:l1 xmlns:l_2="http://ns.org/ns/"; id="id_2"/>
  <l_3:l1 xmlns:l_3="http://ns.org/ns/"; id="id_3"/>
  <l_4:l1 xmlns:l_4="http://ns.org/ns/"; id="id_4"/>
  <l_5:l1 xmlns:l_5="http://ns.org/ns/"; id="id_5"/>
  <l_6:l1 xmlns:l_6="http://ns.org/ns/"; id="id_6"/>
  <l_7:l1 xmlns:l_7="http://ns.org/ns/"; id="id_7"/>
  <l_8:l1 xmlns:l_8="http://ns.org/ns/"; id="id_8"/>
  <l_9:l1 xmlns:l_9="http://ns.org/ns/"; id="id_9"/>
</root>
/************** End ****************/


However if I use the same prefix for all nodes, xmlGetNodePath will return
the correct xpath for each node (/root/ns:l1[1], /root/ns:l1[2], etc...)

/************** Document with one prefix per namespace ****************/
<root xmlns:a="http://a.b/c";>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_0"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_1"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_2"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_3"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_4"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_5"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_6"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_7"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_8"/>
  <ns:l1 xmlns:ns="http://ns.org/ns/"; id="id_9"/>
</root>
/************** End ****************/



thanks,
-- 
-Ahmed
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
https://mail.gnome.org/mailman/listinfo/xml

Reply via email to