It seems to be another solution to my problem:
DOM_Document::importNode() and DOM_Node::replaceChild:
Hie's the code, that does it:
DOM_Document src_doc;
DOM_Document trg_doc;
DOM_Node src_node = find_src_node(src_doc);
DOM_Node trg_node = find_trg_node(trg_node);
DOM_Node imported_node = trg_doc.importNode(src_node, true/*deep*/);
DOM_Node parent = trg_node.getParentNode();
parent.replaceChild(imported_node, trg_node);
The only problem i have is the comment of the
DOM_Document::importNode() function:
/**
* Imports a node from another document to this document.
* The returned node has no parent (<CODE>parentNode</CODE> is
* <CODE>null</CODE>). The source node is not altered or removed from
the
* original document; this method creates a new copy of the source
* node.<BR>For all nodes, importing a node creates a node object owned
by
* the importing document, with attribute values identical to the
source
* node's <CODE>nodeName</CODE> and <CODE>nodeType</CODE>, plus the
* attributes related to namespaces (prefix and namespaces URI).
*
* <p><b>"Experimental - subject to change"</b></p>
*
* @param importedNode The node to import.
* @param deep If <CODE>true</CODE>, recursively import the subtree
under the
* specified node; if <CODE>false</CODE>, import only the node
itself,
* as explained above. This does not apply to
<CODE>DOM_Attr</CODE>,
* <CODE>DOM_EntityReference</CODE>, and <CODE>DOM_Notation</CODE>
nodes.
* @return The imported node that belongs to this
<CODE>DOM_Document</CODE>.
* @exception DOMException
* NOT_SUPPORTED_ERR: Raised if the type of node being imported is
* not supported.
*/
???
* <p><b>"Experimental - subject to change"</b></p>
What does it mean? Can I use this function in a productiv environment?
(Inclusiv future update, of course).
Thank in advance
David Ostrovsky