Hi I've got a patch for xmlXPathNextNamespace() that fixes the problem with it not returning the default XML namespace, and reverses the namespace axis so that it is now in document order. If you have any objections to changing the direction of the namespace axis, I'll post a patch that just fixes the default XML namespace bug. Thanks, Richard ----- Original Message ----- From: "Richard Jinks" <cyberthymia yahoo co uk> To: <xml gnome org> Sent: Friday, June 21, 2002 3:28 PM Subject: [xml] Namespace axis
Hi In my batch of XSLT tests, I came across a couple of problems with stylesheets using the namespace axis. The problems are that the namespace axis appear go in the wrong direction (i.e. reverse document order), and that if no specific namespace is
defined
for an element, then no namespace (not even the default "xml" namespace)
is
returned. I've put a test case at the end of this email I've narrowed the problems down to the xmlXPathNextNamespace() and xmlGetNsList() functions. My query is that the comment for xmlXPathNextNamespace() says that the order of the namespace axis is "implementation-defined". I've gone through the XPath 1.0 spec, and it
says
that all axes are forward apart from ancestor, ancestor-or-self, preceding and preceding-sibling. Before I fix this to reverse the namespace axis (and to get it to return
the
"xml" namespace), can someone point me to a reference that suggests that reverse order is correct? If the direction of the axis is undefined, would anyone object to me reversing the direction of the axis? Thanks, Richard Test case - XML 195c.xml <?xml version="1.0"?> <XML_DATA xmlns:harry="noola"> <AAA xmlns:peach="yellow"/> <harry:BBB/> </XML_DATA> C:\libxml\libxslt-1.0.18.win32\util>testxpath -i 195c.xml "name(/XML_DATA/BBB/namespace::*[1])" testxpath -i 195c.xml "name(/XML_DATA/BBB/namespace::*[1])" Object is a string : C:\libxml\libxslt-1.0.18.win32\util>testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[1])" testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[1])" Object is a string : peach C:\libxml\libxslt-1.0.18.win32\util>testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[2])" testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[2])" Object is a string : harry C:\libxml\libxslt-1.0.18.win32\util>testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[3])" testxpath -i 195c.xml "name(/XML_DATA/AAA/namespace::*[3])" Object is a string : xml Expected results: name(/XML_DATA/BBB/namespace::*[1]) - xml name(/XML_DATA/AAA/namespace::*[1]) - xml name(/XML_DATA/AAA/namespace::*[2]) - harry name(/XML_DATA/AAA/namespace::*[3]) - peach _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml gnome org http://mail.gnome.org/mailman/listinfo/xml
Attachment:
namespace_axis.diff
Description: Binary data