Node creation methods usage examples
Node creation methods usage examples for the xml.DomDocument class.
Creating a node for the DomDocument is done in two steps:
- Create the node.
- Add the node to the
DomDocument.
Each time you create a node, you need to append it at the right place in the
DomDocument. To add a node to the document use the DomDocument
management
methods or the DomNode manipulation
methods.
createNode("<LastName>PATTERSON</LastName><FirstName>Andrew</FirstName>")Creates
a structure of nodes.createElement("CardList")Produces<CardList>
createElementNS("cny", "Company", "http://www.mysite.com/")Produces <cny:Company
xmlns:cny="http://www.mysite.com/"/> or <cny:Company
/>. See Cautions for
more details.createAttribute("Country")Creates a Country attribute
node. - To set a value to the attribute, use the method setNodeValue of the
xml.DomNodeclass. - To add the attribute to an element node, use the method setAttributeNode of the
xml.DomNodeclass.
createAttributeNS("tw","Town","http://www.mysite.com/cities")Produces xmlns:tw="http://www.mysite.com/cities"
tw:Town=""- To set a value to the attribute use the method setNodeValue of the
xml.DomNodeclass. - To add the attribute to an element node use the method setAttributeNodeNS of the
xml.DomNodeclass. - For optimization reasons, the namespace is not written beside the attribute until the saving of
the
DomDocument. - When accessing the element node, the namespace is not listed in
the list of children. In the example above,
tw:Town=""is in the list of children, notxmlns:tw="http://www.mysite.com/cities". - To access the namespace during the DomDocument building, use the method normalize first. Normalize writes the namespace declaration at the appropriate place. If there is no previous declaration, it will be accessible as an attribute of this element, otherwise it will be an attribute of one of the ancestors of the element.
createTextNode("My Company")Creates a text
node.createComment("End of the card")Produces <!--End of the
card-->createCDATASection("<website><a href=\"www.mysite.com\">My
Company</a></website>")Produces
<![CDATA[<website><a href="www.mysite.com">My
Company</a></website>]]>createEntityReference("title")Creates the
entity reference &title.createProcessingInstruction("xml-stylesheet", "type=\"text/xsl\"
href=\"card.xsl\"")Produces
<?xml-stylesheet type="text/xsl"href="card.xsl"?>createDocumentType("Card", NULL, NULL,"<!ELEMENT
Card (lastname, firstname, company, location)>")Produces <!DOCTYPE
Card [ <!ELEMENT Card (lastname , firstname , company , location)>]>- Only inline DTD are supported. The DTD has to been inserted in the DomDocument at an appropriate place.
createDocumentFragmentIs a method that creates a lightweight
DomDocument. It represents a subtree of nodes that do not need to conform to
well-formed XML rules. This makes DocumentFragment easier to manipulate than a
DomDocument.for i=1 to 5
let node = doc.createelement("Card")
call root.appendchild(node) end forThis
produces a subtree with 5 Card nodes that do not have any root node. Once the subtree is completed,
it can be added to the DomDocument object like any other node.