Skip to content

On teidata.namespaceOrName

David Maus edited this page Oct 6, 2022 · 2 revisions

The data type teidata.NamespaceOrName is ambiguous. The value example:name may refer to the element name from the namespace bound to the prefix example or to the namespace URI example:name.

ATOP resolves this ambiguity as follows.

If the value belongs to the lexical space of the xs:Name type and contains a colon and the substring before the colon is in the list of the in scope prefixes, then the value is an element reference.

If the value is not an element reference and belongs to the lexical space of the xs:anyURI type, then the value is a namespace URI.

Values that are neither an element reference nor a namespace URI are ignored, assuming that schema validation of the ODD document reports these values.

The function atop:namespace-or-name-is-name($pValue as xs:string, $pContext as node()) as xs:boolean returns true if its first argument is an element reference, otherwise false.

The function atop:namespace-or-name-is-namespace-uri($pValue as xs:string, $pContext as node()) as xs:boolean returns true if its first argument is a namespace URI, otherwise false.