Java DOM implementations and cloneNode

Don Park donpark at
Tue Jan 26 08:03:42 GMT 1999

>Am I expecting too much here? Shouldn't the classes that implement the
>DOM interfaces be able to copy via cloneNode, which is a DOM interface
>function? Is this a bug or expected behavior?

It is not a well known fact that DOM Level 1 does not dictate inter-document
operations or movement of nodes between documents.  You will find that
following is true:

Node node1 = doc1.createElement("boo");
Node node2 = node1.cloneNode(false);
if (node1.getOwnerDocument() == node2.getOwnerDocument())
    System.out.println("both the original and the clone belongs to same

So when you tried to populate the second document with clones of the first
document, you were trying to move nodes from one document to another.

I am quite sure that some DOM implementations allow you do this although it
means your DOM code will no longer work with all DOM implementations.  If
you are willing to stretch your neck just so, you might give the currently
available version 1.0PR3 at www.docuverse.dom/domsdk/ a try.  I am fairly
certain I added code for this.  If not, Docuverse 1.0 Beta 1 definitely will
(soon, real soon now).


Don Park

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list