Description
The functx:max-depth function returns the maximum level of elements within a document, as an integer. 1 represents the root, 2 is a child of the root, etc. If $root is a document node, it is counted as a level. Text and other kinds of nodes are not counted as a level.
Arguments and Return TypeName | Type | Description |
$root |
node()? |
the root to start from |
return value |
xs:integer? |
XQuery Function DeclarationSee XSLT definition. | declare namespace functx = "http://www.functx.com";
declare function functx:max-depth
( $root as node()? ) as xs:integer? {
if ($root/*)
then max($root/*/functx:max-depth(.)) + 1
else 1
} ; |
Exampleslet $in-xml := | <authors>
<author>
<fName>Kate</fName>
<lName>Jones</lName>
</author>
<author>
<fName>John</fName>
<lName>Doe</lName>
</author>
</authors> | return |
XQuery Example | Results |
---|
functx:max-depth($in-xml) |
3 |
functx:max-depth($in-xml/author[1]) |
2 |
See AlsoHistory |
Recommended Reading:
|