Release 10.1A: OpenEdge Development:
Progress 4GL Reference

> ## CREATE-NODE-NAMESPACE( ) method

> Creates a namespace-aware XML node whose name can be either a single string `y` or an `x:y` combination.

> Note: To ensure consistency across all nodes in an XML document, use either the CREATE-NODE-NAMESPACE( ) method or the CREATE-NODE( ) method to build an XML document; do not use both methods within a single document.

> Return type: LOGICAL

> Applies to: X-document object handle

> Syntax
>     CREATE-NODE-NAMESPACE( x-node-handle , namespace-uri , qualified-name , type )

> ``x-node-handle``

> A valid X-noderef handle to use for the new namespace-aware XML node.

> ``namespace-uri``

> A character expression representing the namespace Uniform Resource Identifier (URI). The `namespace-uri` must be unique and persistent. Although the `namespace-uri` may be an HTTP URL, there is no guarantee that it points to a retrievable resource. It is only a name and care should be taken if you use this name for other purposes.

> If the character expression evaluates to either the empty string ("") or the Unknown value (`?`), no namespace is associated with the element.

> ``qualified-name``

> A character expression representing the name of the node, optionally qualified with a prefix including a colon (for example, `prefix:node-name`). Unless you are using a default namespace, a prefix is required and should be set to the prefix specified when you declared the namespace using the xmlns attribute.

> ``type``

> A character expression representing the node’s SUBTYPE, which will be either ELEMENT or ATTRIBUTE.

> Example

> The following code fragment illustrates how to create a namespace-aware node in an XML document using either a specific namespace or the default namespace:

>     . . .
>       /* Look for a colonized name in rootNodeName. */
>       found = INDEX(rootNodeName, ":").
>       IF found > 0 THEN
>        DO:
>         /* Namespace declarations are special kinds of attributes that */
>         /* belong in the http://www.w3.org/2000/xmlns/ namespace.*/
>         errStat = hDocument:CREATE-NODE-NAMESPACE(hNsDecl,
>         "http://www.w3.org/2000/xmlns/", "xmlns:" +
>         SUBSTRING(rootNodeName, 1, found - 1), "attribute").
>        END.
>       ELSE
>        DO:
>         /* Use the default namespace, which does not need a */
>         /* namespace declaration prefix, and assign it to the */
>         /* http://www.w3.org/2000/xmlns/ namespace.*/
>         errStat = hDocument:CREATE-NODE-NAMESPACE(hNsDecl,
>         "http://www.w3.org/2000/xmlns/", "xmlns", "attribute").
>        END.
>       IF errStat = NO THEN
>         LEAVE.

>       /* Set the value of the namespace attribute to the namespace URI. */
>       hNsDecl:NODE-VALUE = namespaceURI.
>     . . .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095