This module provides a function (np:node-position) that, given a node, returns positional information about the node in the form of an xs:anyURI item. The module also defines functions that use such positional information to determine: (1) positional relationships between two nodes (e.g. if one is the ancestor of another) and (2) positional properties of a single node (e.g. its level in the tree).
Within this module, the term "node position" will be used to refer to an xs:anyURI item that is returned by the np:node-position function.
ancestor-of
($pos1 as xs:anyURI, $pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is an ancestor of the node position given as first argument. |
attribute-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is an attribute of the node position given as first argument. |
child-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a child of the node position given as first argument. |
descendant-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a descendant of the node position given as first argument. |
following-in-document-order-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is following in document order the node position given as first argument. |
following-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is following the node position given as first argument. |
following-sibling-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a following-sibling of the node position given as first argument. |
in-collection
($n-pos as xs:anyURI) as xs:boolean external
Determines whether a node position belongs to a collection. |
in-same-collection-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions belong to the same collection. |
in-same-tree-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions belong to the same tree. |
in-subtree-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument belongs to the subtree rooted at the node position given as first argument. |
is-attribute
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an attribute node. |
is-comment
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a comment node. |
is-document
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a document node. |
is-element
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an element node. |
is-processing-instruction
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an processing-instruction node. |
is-text
($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a text node. |
level
($n-pos as xs:anyURI) as xs:integer external
Computes the level of a node position in its tree. |
node-position
($arg as node()) as xs:anyURI external
Return a URI item containing positional information for a given node. |
parent-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is the parent of the node position given as first argument. |
preceding-in-document-order-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is preceding in document order the node position given as first argument. |
preceding-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is preceding the node position given as first argument. |
preceding-sibling-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a preceding-sibling of the node position given as first argument. |
sibling-of
($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions are siblings. |
declare function np:ancestor-of($pos1 as xs:anyURI, $pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is an ancestor of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is an ancestor of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:attribute-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is an attribute of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is an attribute of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:child-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a child of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is a child of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:descendant-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a descendant of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is a descendant of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:following-in-document-order-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is following in document order the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is following in document order the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:following-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is following the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is following the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:following-sibling-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a following-sibling of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is a following-sibling of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:in-collection($n-pos as xs:anyURI) as xs:boolean external
Determines whether a node position belongs to a collection.
declare function np:in-same-collection-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions belong to the same collection.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the two nodes belong to the same collection.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:in-same-tree-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions belong to the same tree.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the two nodes belong to the same tree.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:in-subtree-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument belongs to the subtree rooted at the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node belongs to the subtree rooted at the first. Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
This function differs from np:descendant-of in the way it treats attribute nodes. np:descendant-of follows the XQuery/XPath specification for the descendant axis, and as a result, it does not consider attributes as descendants of any nodes; it will always return false if $n-pos2 was obtained from an attribute node.In contrast, np:in-subtree-of will return true if $n-pos2 was obtained from an attribute node that appeared in the subtree of the node that $n-pos1 was obtained from.
declare function np:is-attribute($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an attribute node.
declare function np:is-comment($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a comment node.
declare function np:is-document($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a document node.
declare function np:is-element($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an element node.
declare function np:is-processing-instruction($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to an processing-instruction node.
declare function np:is-text($n-pos1 as xs:anyURI) as xs:boolean external
Determines whether a node position corresponds to a text node.
declare function np:level($n-pos as xs:anyURI) as xs:integer external
Computes the level of a node position in its tree.
Note: The root node of a tree is at level one.
The result of the function applies to the corresponding node as well, that is, within the snapshot in which the position was computed, the node level is the returned one.
The result of the function does not imply anything about the node level in other snapshots.
declare function np:node-position($arg as node()) as xs:anyURI external
Return a URI item containing positional information for a given node.
Within a snapshot, each has a different positional URI. However, different nodes in different snapshots might have the same URI.
declare function np:parent-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is the parent of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is the parent of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:preceding-in-document-order-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is preceding in document order the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is preceding in document order the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:preceding-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is preceding the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is preceding the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:preceding-sibling-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether the node position given as second argument is a preceding-sibling of the node position given as first argument.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is a preceding-sibling of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.
declare function np:sibling-of($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external
Determines whether two node positions are siblings.
If the two positions were obtained within the same snapshot S, then the result of the function applies to the corresponding nodes as well, that is, within snapshot S, the second node is a sibling of the first.
Otherwise, the result of the function does not imply anything about the positional relationship of the two nodes.