Saxon.Api
Class Steps
-
public class Steps
This non-instantiable class provides a number of useful implementations of the Step
class which wraps a Func object, used to navigate XDM trees, typically getting the Func property
and used as an argument to XdmValue#Select and XdmValue#SelectMany.
Method Summary |
|
|---|---|
| static Step<XdmNode, XdmNode> | Ancestor()
Obtain a |
| static Step<XdmNode, XdmNode> | Ancestor(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Ancestor(string uri, string localName)
Return a |
| static Step<XdmNode, XdmNode> | Ancestor(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | AncestorOrSelf()
Obtain a |
| static Step<XdmNode, XdmNode> | AncestorOrSelf(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | AncestorOrSelf(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | AncestorOrSelf(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmItem, XdmAtomicValue> | Atomize()
Obtain an selector that atomizes an item to produce a |
| static Step<XdmNode, XdmNode> | Attribute()
Obtain a |
| static Step<XdmNode, XdmNode> | Attribute(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Attribute(string uri, string localName)
Return a |
| static Step<XdmNode, XdmNode> | Attribute(IPredicate<XdmNode> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Child()
Obtain a |
| static Step<XdmNode, XdmNode> | Child(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Child(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Child(IPredicate<XdmNode> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Descendant()
Obtain a |
| static Step<XdmNode, XdmNode> | Descendant(string localname)
Obtain a |
| static Step<XdmNode, XdmNode> | Descendant(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Descendant(IPredicate<XdmNode> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | DescendantOrSelf()
Obtain a |
| static Step<XdmNode, XdmNode> | DescendantOrSelf(string localname)
Obtain a |
| static Step<XdmNode, XdmNode> | DescendantOrSelf(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | DescendantOrSelf(IPredicate<XdmNode> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Following()
Obtain a |
| static Step<XdmNode, XdmNode> | Following(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Following(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Following(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | FollowingSibling()
Obtain a |
| static Step<XdmNode, XdmNode> | FollowingSibling(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | FollowingSibling(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | FollowingSibling(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | id(XdmNode doc)
Obtain a Step whose effect is to interpret the supplied item as an |
| static Step<XdmNode, XdmNode> | Namespace()
Obtain a |
| static Step<XdmNode, XdmNode> | Namespace(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Namespace(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Parent()
Obtain a |
| static Step<XdmNode, XdmNode> | Parent(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Parent(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Parent(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Path(string[] steps)
Construct a path as a composite |
| static Step<XdmNode, XdmNode> | PathFromList(List<Step<XdmNode, XdmNode>> steps)
Construct a path as a composite |
| static Step<XdmNode, XdmNode> | Preceding()
Obtain a |
| static Step<XdmNode, XdmNode> | Preceding(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Preceding(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Preceding(Predicate<XdmItem> filter)
Obtain a Step that filters the nodes found on the preceding axis using a supplied
|
| static Step<XdmNode, XdmNode> | PrecedingSibling()
Obtain a |
| static Step<XdmNode, XdmNode> | PrecedingSibling(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | PrecedingSibling(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | PrecedingSibling(Predicate<XdmItem> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Root()
Obtain a |
| static Step<XdmNode, XdmNode> | Self()
Obtain a |
| static Step<XdmNode, XdmNode> | Self(string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Self(string uri, string localName)
Obtain a |
| static Step<XdmNode, XdmNode> | Self(Predicate<XdmNode> filter)
Obtain a |
| static Step<XdmNode, XdmNode> | Text()
Obtain a |
| static Step<XdmAtomicValue, XdmAtomicValue> | Tokenize()
Obtain a |
Method Detail
Ancestor
Obtain a Step that navigates from a node to its ancestor elements having a specified
local name, irrespective of the namespace. The nodes are returned in reverse document
order (that is, nearest ancestor first, root node last).
Parameters:
localName - The local name of the ancestors to be selected by the Step,
or "*" to select all ancestors that are element nodesReturns:
Step, which selects the ancestors of a supplied node that have the
required local name.Ancestor
Return a Step that navigates from a node to its ancestors having a specified
namespace URI and local name, in reverse document order (that is, nearest ancestor
first,
root node last).
Parameters:
uri - The namespace URI of the ancestors to be selected by the Step
localName - The local name of the ancestors to be selected by the Step
Returns:
Step, which selects the ancestors (at most one) of a supplied node that have the
required local name and namespace URI.Ancestor
Obtain a Step that filters the nodes found on the ancestor axis using a supplied Predicate.
Nodes are returned in reverse document order (that is, nearest ancestor first, root
node last).
The function call Ancestor(predicate) is equivalent to Ancestor.Where(predicate).
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the ancestor-or-self axis using the supplied predicate.AncestorOrSelf
Obtain a Step to navigate from a node to its ancestors, in reverse document
order, with the node itself returned at the start of the sequence (that is, origin
node first,
root node last).
Returns:
Step that selects all nodes on the ancestor-or-self axis.AncestorOrSelf
Obtain a Step that navigates from a node to its ancestor elements having a specified
local name, irrespective of the namespace. The nodes are returned in reverse document
order (that is, nearest ancestor first, root node last), and include the node itself.
Parameters:
localName - The local name of the ancestors to be selected by the Step,
or "*" to select all ancestor-or-self nodes that are element nodesReturns:
Step, which selects the ancestors-or-self of a supplied node that have
the required local name.AncestorOrSelf
Obtain a Step that navigates from a node to its ancestors-or-self having a specified
namespace URI and local name, in reverse document order (that is, nearest ancestor
first, root node last).
Parameters:
uri - The namespace URI of the ancestors to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the ancestors to be selected by the Step
Returns:
Step, which selects the ancestors-or-self of a supplied node that have the
required local name and namespace URI.AncestorOrSelf
Obtain a Step that filters the nodes found on the ancestor-or-self axis using a supplied Predicate.
Nodes are returned in reverse document order (that is, origin node first, root node
last).
The function call AncestorOrSelf(predicate) is equivalent to AncestorOrSelf.Where(predicate).
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the ancestor-or-self axis using a supplied predicate.Atomize
Obtain an selector that atomizes an item to produce a XdmValue of atomic values. Atomizing a node will
usually produce a single atomic value, but in the case of schema-typed nodes using
a list type, there may
be more than one atomic value. Atomizing an array also returns multiple atomic values.
Attribute
Obtain a Step to navigate from a node to its attributes.
Returns:
Step that selects all attribute nodes.Attribute
Obtain a Step that navigates from a node to its attributes having a specified
local name, irrespective of the namespace.
Parameters:
localName - The local name of the attributes to be selected by the Step, or
"*" to select all attributesReturns:
Step, which selects the attributes of a supplied node that have the
required local name.Attribute
Return a Step that navigates from a node to its attribute having a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the attributes to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the attributes to be selected by the Step
Returns:
Step, which selects the attributes (at most one) of a supplied node that have the
required local name and namespace URI.Attribute
Obtain a Step that filters the nodes found on the attribute axis using a supplied Predicate.
The function call Attribute(predicate) is equivalent to Attribute.Where(predicate).
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the attribute axis using the supplied predicate.Child
Obtain a Step to navigate from a node to its children
Returns:
Step that selects all nodes on the child axisChild
Obtain a Step that navigates from a node to the element children having a specified
local name, irrespective of the namespace.
Parameters:
localName - The local name of the child elements to be selected by the Step,
or "*" to select all children that are element nodesReturns:
Step, which selects the element children of a supplied node that have the required local
name.Child
Obtain a Step that navigates from a node to the element children having a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the child elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the child elements to be selected by the Step
Returns:
Step, which selects the element children of a supplied node that have the
required local name and namespace URI.Child
Obtain a Step that filters the nodes found on the child axis using a supplied Predicate.
The function call Child(predicate) is equivalent to Child.Where(predicate).
For example, Child(IsElement()) returns a Step that selects the element node children
of a given node.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the child axis using the supplied predicate.Descendant
Obtain a Step to navigate from a node to its descendants, which are returned in document order.
Returns:
Step that selects all nodes on the descendant axis.Descendant
Obtain a Step that navigates from a node to the descendant elements having a specified
local name, irrespective of the namespace. These are returned in document order.
Parameters:
localname - The local name of the descendant elements to be selected by the Step,
or "*" to select all descendants that are element nodesReturns:
Step, which selects the element descendants of a supplied node that have the
required local name.Descendant
Obtain a Step that navigates from a node to the descendant elements having a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the elements to be selected by the Step
Returns:
Step, which selects the element descendants of a supplied node that have the required
local name and namespace URI.Descendant
Obtain a Step that filters the nodes found on the descendant axis using a supplied Predicate.
The function call Descendant(predicate) is equivalent to Descendant.Where(predicate).
For example, Steps.Descendant(Predicates.IsElement())
returns a Step that selects the element node descendants
of a given node, while Descendant(Predicate.Exists(attribute("id"))) selects those that have an attribute
named "id". These are returned in document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the descendant axis using the supplied predicate.DescendantOrSelf
Obtain a Step to navigate from a node to its descendants, which are returned in document order,
preceded by the origin node itself.
Returns:
Step that selects all nodes on the descendant-or-self axis.DescendantOrSelf
Obtain a Step that navigates from a node to the descendant-or-self elements having a specified
local name, irrespective of the namespace. These are returned in document order.
Parameters:
localname - The local name of the descendant-or-self elements to be selected by the Step,
or "*" to select all descendant-or-self that are element nodesReturns:
Step, which selects the descendant-or-self elements of a supplied node that have the
required local name.DescendantOrSelf
Obtain a Step that navigates from a node to the descendant-or-self elements having a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the elements to be selected by the Step
Returns:
Step, which selects the descendant-or-self elements of a supplied node that have the required
local name and namespace URI.DescendantOrSelf
Obtain a Step that filters the nodes found on the descendant-or-self axis using a supplied Predicate.
The function call DescendantOrSelf(predicate) is equivalent to DescendantOrSelf.Where(predicate).
For example, Steps.DescendantOrSelf(Predicates.IsElement())
returns a Step that selects the descendant-or-self element nodes
of a given node, while DescendantOrSelf(Predicate.Exists(attribute("id"))) selects those that have an attribute
named "id". These are returned in document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the descendant-or-self axis using the supplied predicate.Following
Obtain a Step to navigate from a node to its following nodes
(excluding descendants), which are returned in document order.
Returns:
Step that selects all nodes on the following axis.Following
Obtain a Step that navigates from a node to the following elements having a specified
local name, irrespective of the namespace. These are returned in document order.
Parameters:
localName - The local name of the following elements to be selected by the Step,
or "*" to select all following nodes that are elementsReturns:
Step, which selects the following elements of a supplied node that have the
required local name.Following
Obtain a Step that navigates from a node to the following elements having a specified
namespace URI and local name. These are returned in document order.
Parameters:
uri - The namespace URI of the following elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the following elements to be selected by the Step
Returns:
Step, which selects the following elements of a supplied node that have the
required local name and namespace URI.Following
Obtain a Step that filters the nodes found on the following axis using a supplied Predicate.
The function call Following(predicate) is equivalent to Following().Where(predicate).
For example, Following(IsElement()) returns a Step that selects the following elements
of a given node, while Following(Exists(Attribute("id"))) selects those that have an attribute
named "id". These are returned in document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the following axis using the supplied predicate.FollowingSibling
Obtain a Step to navigate from a node to its following siblings, which are returned in document
order.
Returns:
Step that selects all nodes on the following-sibling axis.FollowingSibling
Obtain a Step that navigates from a node to the following sibling elements having a specified
local name, irrespective of the namespace. These are returned in document order.
Parameters:
localName - The local name of the following sibling elements to be selected by the Step,
or "*" to select all following siblings that are element nodesReturns:
Step, which selects the following sibling elements of a supplied node that have the
required local name.FollowingSibling
Obtain a Step that navigates from a node to the following sibling elements having a specified
namespace URI and local name. These are returned in document order.
Parameters:
uri - The namespace URI of the following sibling elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the following sibling elements to be selected by the Step
Returns:
Step, which selects the following sibling elements of a supplied node that have the
required local name and namespace URI.FollowingSibling
Obtain a Step that filters the nodes found on the following sibling axis using a supplied Predicate.
The function call FollowingSibling(predicate) is equivalent to FollowingSibling.Where(predicate).
For example, FollowingSibling(IsElement()) returns a Step that selects the following sibling
elements of a given node, while FollowingSibling(Exists(Attribute("id")))
selects those that have an attribute named "id". These are returned in document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the following sibling axis using the supplied predicate.id
Obtain a Step whose effect is to interpret the supplied item as an xs:ID value
and return the nodes (in a given document) that have that string as their ID.
Parameters:
doc - The root node (document node) of the document within which the ID
value should be soughtReturns:
Step whose effect is to return the nodes that have the given string as their ID.Namespace
Obtain a Step to navigate from a node to its namespace nodes.
Returns:
Step that selects all nodes on the namespace axis.Namespace
Obtain a Step that navigates from a node to its namespaces having a specified
local name. The local name of a namespace node corresponds to the prefix used in the
namespace binding.
Parameters:
localName - The local name (representing the namespace prefix) of the namespace nodes
to be selected by the Step, or "*" to select all namespacesReturns:
Step, which selects the namespaces of a supplied node that have a
given local name (prefix).Namespace
Obtain a Step that filters the nodes found on the namespace axis using a supplied Predicate.
The function call Namespace(predicate) is equivalent to Namespace().Where(predicate).
For example, Namespace(Eq("http://www.w3.org/1999/XSL/Transform")
selects a namespace node that binds a prefix to the XSLT namespace.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the namespace axis using the supplied predicate.Parent
Obtain a Step to navigate from a node to its parent.
Returns:
Step that selects all nodes on the parent axis (of which there is at most one).Parent
Obtain a Step that navigates from a node to the parent element provided it has a specified
local name, irrespective of the namespace.
Parameters:
localName - The local name of the parent element to be selected by the Step,
or "*" to select the parent node provided it is an elementReturns:
Step, which selects the parent of a supplied node provided it is an element with the
required local name.Parent
Obtain a Step that navigates from a node to the parent element provided it has a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the parent element to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the parent element to be selected by the Step
Returns:
Step, which selects the parent element of a supplied node provided it is an
element with the required local name and namespace URI.Parent
Obtain a Step that filters the node found on the parent axis using a supplied Predicate.
The function call Parent(filter) is equivalent to Parent(filter).where(Predicate).
For example, Parent(Predicate.IsElement()).GetFunc returns a Step that selects the parent node provided it is an element
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the parent axis using the supplied predicate.Path
Construct a path as a composite Step from a sequence of steps composed together.
Parameters:
steps - The constituent steps in the pathReturns:
PathFromList
Construct a path as a composite Step from a list of steps composed together.
Parameters:
steps - The constituent steps in the pathReturns:
Preceding
Obtain a Step to navigate from a node to its preceding nodes (excluding ancestors),
which are returned in reverse document order.
Returns:
Step that selects all nodes on the preceding axis.Preceding
Obtain a Step that navigates from a node to the preceding elements having a specified
local name. These are returned in reverse document order.
Parameters:
localName - The local name of the preceding elements to be selected by the Step,
or "*" to select all descendants that are element nodesReturns:
Step, which selects the preceding elements of a supplied node that have the
required local name.Preceding
Obtain a Step that navigates from a node to the preceding elements having a specified
namespace URI and local name. These are returned in reverse document order.
Parameters:
uri - The namespace URI of the preceding elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the preceding elements to be selected by the Step
Returns:
Step, which selects the preceding elements of a supplied node that have the
required local name and namespace URI.Preceding
Obtain a Step that filters the nodes found on the preceding axis using a supplied
Predicate .
The function call Preceding(predicate) is equivalent to Preceding().Where(predicate).
For example, Preceding(isElement()) returns a Step that selects the preceding elements
of a given node, while Preceding(Predicate.Exists(attribute("id"))) selects those that have an attribute named "id".
These are returned in reverse document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the following axis using the supplied predicate.PrecedingSibling
Obtain a Step to navigate from a node to its preceding siblings, which are returned
in reverse document order.
Returns:
Step that selects all nodes on the preceding-sibling axis.PrecedingSibling
Obtain a Step that navigates from a node to the preceding sibling elements having a specified
local name. These are returned in reverse document order.
Parameters:
localName - The local name of the preceding sibling elements to be selected by the Step,
or "*" to select all descendants that are element nodesReturns:
Step, which selects the preceding sibling elements of a supplied node that have the
required local name.PrecedingSibling
Obtain a Step that navigates from a node to the preceding sibling elements having a specified
namespace URI and local name. These are returned in reverse document order.
Parameters:
uri - The namespace URI of the preceding sibling elements to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the preceding sibling elements to be selected by the Step
Returns:
Step, which selects the preceding sibling elements of a supplied node that have the
required local name and namespace URI.PrecedingSibling
Obtain a Step that filters the nodes found on the preceding sibling axis using a supplied Predicate.
The function call PrecedingSibling(predicate) is equivalent to PrecedingSibling().Where(predicate).
For example, PrecedingSibling(isElement()) returns a Step that selects the preceding sibling elements
of a given node, while PrecedingSibling(Predicate.Exists(attribute("id"))) selects those that have an attribute named "id".
These are returned in reverse document order.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the following sibling axis using the supplied predicate.Root
Obtain a Step that selects the root node of the containing document (which may or may not
be a document node). If not a node a wrapped empty sequence is returned.
Returns:
Step that selects the root node of the containing document.Self
Obtain a Step to navigate from a node to itself (useful only if applying a predicate).
Returns:
Step that selects all nodes on the self axis (that is, the node itself).Self
Obtain a Step that navigates from a node to itself provided it is an element with a specified
local name, irrespective of the namespace.
Parameters:
localName - The local name of the element to be selected by the Step,
or "*" to select the node provided that it is an element nodeReturns:
Step, which selects the supplied node provided it has a given local name.Self
Obtain a Step that navigates from a node to itself provided it has a specified
namespace URI and local name.
Parameters:
uri - The namespace URI of the element to be selected by the Step:
supply a zero-length string to indicate the null namespacelocalName - The local name of the element to be selected by the Step
Returns:
Step, which selects the supplied node provided it is an element with a given local name
and namespace URI.Self
Obtain a Step that filters the node found on the self axis using a supplied Predicate filter.
The function call Self(predicate) is equivalent to Self().Where(predicate).
For example, self(isElement()) returns a Step that selects the supplied node provided it is an element.
Parameters:
filter - The predicate to be appliedReturns:
Step that filters the nodes found on the self axis using the supplied predicate.Text
Obtain a Step that returns text nodes found on the child axis.
The function call Text() is equivalent to Child().Where(Predicate.IsText).
Returns:
Step that returns the text nodes found on the child axis.Tokenize
Obtain a Step whose effect is to tokenize the supplied item on whitespace
boundaries, returning a sequence of strings as XdmAtomicValue instances.
Note: the tokenize step, when applied to a string with leading and trailing whitespace, has the effect of removing this whitespace. In addition to its primary role, the function can therefore be useful for trimming the content of a single string.
Returns:
Step whose effect is to take a supplied item and split its string
value into a sequence of xs:string instances
Obtain a
Stepto navigate from a node to its ancestors, in reverse document order (that is, nearest ancestor first, root node last).Returns:
Stepthat selects all nodes on the ancestor axis.