DefaultURI (XmlDoc/XmlNode function)
Default URI in scope at selected node (XmlDoc and XmlNode classes)
DefaultURI is a member of the XmlDoc and XmlNode classes.
This function gets the Uniform Resource Identifier (URI) associated with the default namespace declaration that is in scope at a node that is the head of an XPath result.
The DefaultURI function is new as of version 6.9 of the Sirius Mods.
Syntax
%unicode = nr:DefaultURI[( [xpath])] Throws XPathError
Syntax terms
| %uri | A string variable for the returned URI. |
|---|---|
| nr | An XmlDoc or XmlNode, used as the context node for the XPath expression. If an XmlDoc, the Root node is the context node. |
| XPath | A Unicode string that is an XPath expression that results in a nodelist. The head of the nodelist is the node to process. An optional argument, its default is a period (.), that is, the node referenced by the method object (nr). Prior to Sirius Mods version 7.6, this is an EBCDIC string. |
In the following example, two elements are added along with their namespace URIs, but only the second added element, which has no prefix, has a default namespace URI:
Begin
%d Object XmlDoc Auto New
%n Object XmlNode
%n2 Object XmlNode
%n = %d:AddElement('p:top', , 'urn:top')
%n2 = %n:AddElement('inner', , 'urn:default')
%n:Print
Print 'URI of p:top default namespace =' And %n:DefaultURI
Print 'URI of inner default namespace =' And %n2:DefaultURI
End
The following lines are printed:
<p:top xmlns:p="urn:top">
<inner xmlns="urn:default"/>
</p:top>
URI of p:top default namespace =
URI of inner default namespace = urn:default
Request-Cancellation Errors
- XmlDoc Namespace property not On.
- XPath is invalid.
- Result of (XPath) is empty.
- Insufficient free space exists in CCATEMP.
See Also
- For more information about using XPath expressions, see XPath.
- For more information about namespace declarations, see ?? refid=namsp..
- For more information about URIs, see ?? refid=nsuri..
- The PrefixURI method (?? refid=prefuri.) returns the URI bound to a node's prefix (or the default URI, if a node has a default namespace declaration). The URI method (?? refid=uri.) returns the URI bound to a node's name, if any.
- These methods add namespace URIs to XmlDoc nodes: