MAKENODE v18

The MAKENODE function accepts different types of values and returns the DOMNode.

MAKENODE(doc DOMDocument) RETURN DOMNode

MAKENODE(elem DOMElement) RETURN DOMNode

MAKENODE(t DOMText) RETURN DOMNode

Parameters

doc

The DOMDocument to cast.

elem

The DOMElement to cast.

t

The DOMText to cast.

Examples

You can turn a DOMDocument, DOMElement, and DOMText into a DOMNode.

This example creates an XML DOMDocument and turns it into a DOMNode so it can be root. Then, it creates a DOMElement with the tag name Departments, turns it into a node, and appends it to the DOMElement. It then creates a text node DOMNode with the tag name Depts list and appends it as a child to the DOMElement node.

DECLARE
   l_domdoc DBMS_XMLDOM.DOMDocument;
   l_root_node DBMS_XMLDOM.DOMNode;
   l_department_element DBMS_XMLDOM.DOMElement;
   l_departments_node DBMS_XMLDOM.DOMNode;
   l_name_text DBMS_XMLDOM.DOMText;
   l_xmltype XMLTYPE;


BEGIN
   l_domdoc := DBMS_XMLDOM.NEWDOMDOCUMENT;
   l_root_node := DBMS_XMLDOM.MAKENODE(l_domdoc);
   l_department_element := DBMS_XMLDOM.CREATEELEMENT(l_domdoc, 'Departments' );
   l_departments_node := DBMS_XMLDOM.APPENDCHILD(l_root_node,DBMS_XMLDOM.makeNode(l_department_element));
   l_name_text := DBMS_XMLDOM.CREATETEXTNODE(l_domdoc, 'Depts list' );
   PERFORM DBMS_XMLDOM.APPENDCHILD(l_departments_node,DBMS_XMLDOM.MAKENODE(l_name_text));
   l_xmltype := DBMS_XMLDOM.GETXMLTYPE(l_domdoc);
   DBMS_OUTPUT.PUT_LINE(l_xmltype.getStringVal());
END;