1 dom.node.insertBefore
<dom.node.insertBefore>
<newChild /> !
<refChild /> !
</dom.node.insertBefore>
Arguments | |||||
---|---|---|---|---|---|
Name | Type | Required | Unique | Nullable | Description |
EnewChild | Node | The node to insert. | |||
ErefChild | Node | The reference node. For example: the previous node where the new node should be inserted. |
Returns | |
---|---|
Type | Description |
Node | The node being inserted. |
Exceptions
HIERARCHY_REQUEST_ERR
Appears if this node is of a type that not allow childs of the newChild node, if the type of the node to put is one of the ancestors of the node itself or the node itself, also if the node is of the Document type ans the result of the substitution operation adds a second DocumentType or Element in the Document node.
WRONG_DOCUMENT_ERR
Appears if newChild has been created of a different document than the one created by this node.
NO_MODIFICATION_ALLOWED_ERR
Appears if this node is readonly or if the previous parent of the node being inserted is readonly.
NOT_FOUND_ERR
Appears if refChild is not a child of this node.
NOT_SUPPORTED_ERR
If this node is of the Document type, this exception may appear if the DOM implementation does not support the replacement of the DocumentType child or Element child.
Remarks
If the node to be added does not belong to the document to which the node in which it is to be added belongs, is necessary perform first a import of the node that will be added to decontextualize it, it means, unlink it of its owner document and in this way can use it in a different document. This operation should be performed when adding ( dom.node.insertBefore), moving ( dom.node.replaceChild) or inserting ( dom.node.insertBefore).
Inserting a node of a document below another node of a different document.
<xsql-script name='dom_node_insertBefore'> <body> <set name='root_ori'><dom.parse><file name='data1.xml' type='absolute' /></dom.parse></set> <set name='root_rpl'><dom.parse><file name='data2.xml' type='absolute' /></dom.parse></set> <!-- The node should be imported to unlink it of its --> <!-- owner document, and be able to use it in a new document. --> <set name='node_rpl'> <dom.document.importNode> <root_ori/> <dom.node.getFirstChildElement><root_rpl/></dom.node.getFirstChildElement> </dom.document.importNode> </set> <!-- Replace the first element of the original document --> <!-- with the node of the remplaced document. --> <dom.node.insertBefore> <root_ori/> <node_rpl/> <dom.element.getFirstChildElement><root_ori /></dom.element.getFirstChildElement> </dom.node.insertBefore> <!-- Returns: <xsql-script name="print"> <HOLA> <test/> <string>HELLO ECHO</string> </HOLA> <body> <println> <socket.print host="dbsrv1" port="7301"> <string>HELLO ECHO</string></socket.print> </println> </body> </xsql-script> --> <println> <root_ori/> </println> </body> </xsql-script>