Try OpenEdge Now
skip to main content
ABL Reference
Handle Attributes and Methods Reference : CREATE-NODE( ) method
 

CREATE-NODE( ) method

Create an XML node in the current document. The first parameter must be a valid X-noderef handle and will refer to the new XML node if the method succeeds. This method merely creates the XML node as part of the XML document. The INSERT-BEFORE or APPEND-CHILD methods are required to actually insert it into the document's tree.
Return type: LOGICAL
Applies to: X-document object handle

Syntax

CREATE-NODE ( x-node-handle , name , type )
x-node-handle
A valid X-noderef handle to use for the new XML node.
name
A character expression representing the NAME of the node. The relationship between the node NAME and SUBTYPE attributes is shown in the following table.
type
A character expression representing the node's SUBTYPE, which will be one of: ATTRIBUTE, CDATA-SECTION, COMMENT, DOCUMENT-FRAGMENT, ELEMENT, ENTITY-REFERENCE, PROCESSING-INSTRUCTION, TEXT.
Table 75. Relationship between the SUBTYPE and NAME attributes
If the SUBTYPE is . . .
then the NAME attribute is . . .
ATTRIBUTE
The name of the attribute
CDATA-SECTION
COMMENT
DOCUMENT-FRAGMENT
TEXT
A constant value; the name parameter is ignored
ELEMENT
The name of the XML tag, with any namespace prefix included
ENTITY-REFERENCE
The name of the entity referenced without leading ampersand and trailing semicolon
PROCESSING-INSTRUCTION
The target; the first token following the <? markup
The following example demonstrates creating a node in a document. If hDoc is an X-document handle, and hNoderef and hNoderefChild are X-noderefs, this is how you would add hNoderefChild to hNoderef in the document associated with hDoc:
/* Assume hNoderef has previously been added to the tree. Create an ABL handle
   that can refer to a node in an XML parse tree.*/
CREATE X-NODEREF hNoderefChild.

/* Create an XML node whose name is "Address" & whose type is "ELEMENT" */
hDoc:CREATE-NODE(hNoderefChild, "Address", "ELEMENT")

/* Put this child into the tree and ultimately into the document. */
hNoderef:APPEND-CHILD(hNoderefChild).