Description
The functx:namespaces-in-use function returns a list of all the namespaces used in element and attribute names in the scope of $root. It does not include namespaces that are declared but not used, or ones that are used in names that are the content (as opposed to the names) of elements or attributes.
Arguments and Return Type| Name | Type | Description |
$root |
node()? |
the root node to start from |
| return value |
xs:anyURI* |
XQuery Function Declaration| See XSLT definition. | | XQuery Syntax for April 2005 - January 2007 (1.0): |
|---|
declare namespace functx = "http://www.functx.com";
declare function functx:namespaces-in-use
( $root as node()? ) as xs:anyURI* {
distinct-values(
$root/descendant-or-self::*/(.|@*)/namespace-uri(.))
} ; | | XQuery Syntax for July 2004: |
|---|
declare namespace functx = "http://www.functx.com";
declare function functx:namespaces-in-use
( $root as node()? ) as xs:anyURI* {
distinct-values(
for $node in $root/descendant-or-self::*/(.|@*)
return namespace-uri($node))
} ; | | XQuery Syntax for May 2003: |
|---|
declare namespace functx = "http://www.functx.com"
define function namespaces-in-use
( $root as node()? ) as xs:anyURI* {
fn:distinct-values(
for $node in $root/descendant-or-self::*/(.|@*)
return fn:namespace-uri($node))
} |
Exampleslet $in-xml := | <authors xmlns="abc" xmlns:d="def">
<author xmlns="ghi">
<fName xmlns:x="xyz" x:attr="123">Kate</fName>
<lName>Jones</lName>
</author>
</authors> | return |
| XQuery Example | Results | Explanation |
|---|
functx:namespaces-in-use($in-xml)
|
(abc, ghi, xyz)
|
def is not listed because it is not used in any names |
See AlsoHistory |
|