-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
1.4.2_09
-
x86
-
linux
Consider the following class:
---%<---
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class Main {
public static void main(String[] args) throws Exception {
Document doc1 = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation().createDocument(null, "x", null);
System.out.println("doc1.class=" + doc1.getClass().getName());
Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader().getParent());
Document doc2 = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation().createDocument(null, "y", null);
System.out.println("doc2.class=" + doc2.getClass().getName());
System.out.println("Importing doc1 into doc2...");
doc2.importNode(doc1.getDocumentElement(), true);
System.out.println("OK.");
}
}
---%<---
Run under JDK 1.4 with Xerces in the classpath, e.g.
/space/jdk1.4/bin/java -cp /space/src/nb_all/libs/external/xerces-2.6.2.jar:/space/src/nb_all/libs/external/xml-commons-dom-ranges-1.0.b2.jar:/tmp/test69322/dist/test69322.jar -showversion Main
I receive an exception:
---%<---
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05)
Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode)
doc1.class=org.apache.xerces.dom.DocumentImpl
doc2.class=org.apache.crimson.tree.XmlDocument
Importing doc1 into doc2...
Exception in thread "main" java.lang.ClassCastException
at org.apache.crimson.tree.XmlDocument.importNode(XmlDocument.java:1261)
at Main.main(Main.java:11)
---%<---
Cause of:
http://www.netbeans.org/issues/show_bug.cgi?id=69322
Neither
http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#Core-Document-importNode
nor
http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#newInstance()
mentions anything about importing nodes across DOM implementations being forbidden for any reason.
---%<---
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class Main {
public static void main(String[] args) throws Exception {
Document doc1 = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation().createDocument(null, "x", null);
System.out.println("doc1.class=" + doc1.getClass().getName());
Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader().getParent());
Document doc2 = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation().createDocument(null, "y", null);
System.out.println("doc2.class=" + doc2.getClass().getName());
System.out.println("Importing doc1 into doc2...");
doc2.importNode(doc1.getDocumentElement(), true);
System.out.println("OK.");
}
}
---%<---
Run under JDK 1.4 with Xerces in the classpath, e.g.
/space/jdk1.4/bin/java -cp /space/src/nb_all/libs/external/xerces-2.6.2.jar:/space/src/nb_all/libs/external/xml-commons-dom-ranges-1.0.b2.jar:/tmp/test69322/dist/test69322.jar -showversion Main
I receive an exception:
---%<---
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05)
Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode)
doc1.class=org.apache.xerces.dom.DocumentImpl
doc2.class=org.apache.crimson.tree.XmlDocument
Importing doc1 into doc2...
Exception in thread "main" java.lang.ClassCastException
at org.apache.crimson.tree.XmlDocument.importNode(XmlDocument.java:1261)
at Main.main(Main.java:11)
---%<---
Cause of:
http://www.netbeans.org/issues/show_bug.cgi?id=69322
Neither
http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#Core-Document-importNode
nor
http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#newInstance()
mentions anything about importing nodes across DOM implementations being forbidden for any reason.