xsltproc: nodeset sort fails on a namespace node
Another libxml2/libxslt bug is found and reported by me.
Consider the following code:
[code] <x:stylesheet xmlns:x = "http://www.w3.org/1999/XSL/Transform" version = "1.0"> <!-- --> <x:template match="/"> <data aname="aval" xmlns:ns="ns:ns:ns"> <t1><x:value-of select="string(//data/namespace::ns)"/></t1> <t2><x:value-of select="string(//data/@aname)"/></t2> <t3><x:value-of select="string(//data/@aname | //data/namespace::ns)"/></t3> </data> </x:template> </x:stylesheet> [/code]
xsltproc produces:
[code] <?xml version="1.0"?> <data xmlns:ns="ns:ns:ns" aname="aval"><t1>ns:ns:ns</t1><t2>aval</t2><t3>aval</t3></data> [/code]
but expected result is:
[code] <?xml version="1.0"?> <data xmlns:ns="ns:ns:ns" aname="aval"><t1>ns:ns:ns</t1><t2>aval</t2><t3>ns:ns:ns</t3></data> [/code]
<t3>ns:ns:ns</t3> instead of <t3>aval</t3> is expected because namespace nodes come before attribute nodes in the document order.
Categories: