You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2001/09/05 07:11:39 UTC
[DO NOT REPLY: Bug 3429] New:
2.2.D10: a namespace node disappears
PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3429
*** shadow/3429 Tue Sep 4 22:11:39 2001
--- shadow/3429.tmp.780 Tue Sep 4 22:11:39 2001
***************
*** 0 ****
--- 1,78 ----
+ +============================================================================+
+ | 2.2.D10: a namespace node disappears |
+ +----------------------------------------------------------------------------+
+ | Bug #: 3429 Product: XalanJ2 |
+ | Status: NEW Version: 2.2.x |
+ | Resolution: Platform: All |
+ | Severity: Major OS/Version: Windows NT/2K |
+ | Priority: Other Component: org.apache.xpath |
+ +----------------------------------------------------------------------------+
+ | Assigned To: xalan-dev@xml.apache.org |
+ | Reported By: kent@hauN.org |
+ | CC list: Cc: |
+ +----------------------------------------------------------------------------+
+ | URL: |
+ +============================================================================+
+ | DESCRIPTION |
+ I expects the following code prints:
+
+ xmlns 'urn:x-default1'
+ xmlns:a 'urn:x-unused'
+ xmlns 'urn:x-default2'
+
+ or
+
+ xmlns 'urn:x-default1'
+ xmlns 'urn:x-default2'
+ xmlns:a 'urn:x-unused'
+
+ With Xalan-J 2.2.D10 it prints:
+
+ xmlns 'urn:x-default1'
+ xmlns 'urn:x-default2'
+
+ There is no xmlns:a node.
+
+
+ Note: In fact, it should prints five namespace nodes according to XPath 1.0
+ standard. This bug would be solved if Bugzilla #2650 is fixed completely.
+ But I guess a cause of this bug is not the same as #2650.
+
+ This and #2650 cause significant problems for XML-Signature.
+
+
+ import java.io.StringReader;
+ import org.apache.xpath.XPath;
+ import org.apache.xpath.XPathAPI;
+ import org.apache.xpath.objects.XObject;
+ import org.apache.xerces.parsers.DOMParser;
+ import org.w3c.dom.Document;
+ import org.w3c.dom.Node;
+ import org.w3c.dom.traversal.NodeIterator;
+ import org.xml.sax.InputSource;
+
+ public class XPathBug {
+ public static void main(String[] argv) throws Exception {
+ final String docStr =
+ "<bookOrder xmlns='urn:x-default1'>\n"+
+ " <item xmlns:a='urn:x-unused' xmlns='urn:x-default2'/>\n"+
+ "</bookOrder>\n";
+ DOMParser domp = new DOMParser();
+ domp.parse(new InputSource(new StringReader(docStr)));
+ Document doc = domp.getDocument();
+
+ String xpathStr = "//namespace::*";
+
+ XObject xobj = XPathAPI.eval(doc, xpathStr);
+ if (xobj.getType() != XObject.CLASS_NODESET) {
+ System.err.println("Non-nodeset: Fail");
+ } else {
+ NodeIterator iter = xobj.nodeset();
+ Node n;
+ while ((n = iter.nextNode()) != null) {
+ System.out.println(n.getNodeName()+" '"+n.getNodeValue()+"'");
+ }
+ iter.detach();
+ }
+ }
+ }