Saxon.Api

 

 

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<XdmNodeXdmNode> Ancestor()

Obtain a Step to navigate from a node to its ancestors, in reverse document order (that is, nearest ancestor first, root node last).

static Step<XdmNodeXdmNode> Ancestor(string localName)

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).

static Step<XdmNodeXdmNode> Ancestor(string uri, string localName)

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).

static Step<XdmNodeXdmNode> Ancestor(Predicate<XdmItem> filter)

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).

static Step<XdmNodeXdmNode> 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).

static Step<XdmNodeXdmNode> AncestorOrSelf(string localName)

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.

static Step<XdmNodeXdmNode> AncestorOrSelf(string uri, string localName)

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).

static Step<XdmNodeXdmNode> AncestorOrSelf(Predicate<XdmItem> filter)

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).

static Step<XdmItemXdmAtomicValue> 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.

static Step<XdmNodeXdmNode> Attribute()

Obtain a Step to navigate from a node to its attributes.

static Step<XdmNodeXdmNode> Attribute(string localName)

Obtain a Step that navigates from a node to its attributes having a specified local name, irrespective of the namespace.

static Step<XdmNodeXdmNode> Attribute(string uri, string localName)

Return a Step that navigates from a node to its attribute having a specified namespace URI and local name.

static Step<XdmNodeXdmNode> Attribute(IPredicate<XdmNode> filter)

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).

static Step<XdmNodeXdmNode> Child()

Obtain a Step to navigate from a node to its children

static Step<XdmNodeXdmNode> Child(string localName)

Obtain a Step that navigates from a node to the element children having a specified local name, irrespective of the namespace.

static Step<XdmNodeXdmNode> Child(string uri, string localName)

Obtain a Step that navigates from a node to the element children having a specified namespace URI and local name.

static Step<XdmNodeXdmNode> Child(IPredicate<XdmNode> filter)

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.

static Step<XdmNodeXdmNode> Descendant()

Obtain a Step to navigate from a node to its descendants, which are returned in document order.

static Step<XdmNodeXdmNode> Descendant(string localname)

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.

static Step<XdmNodeXdmNode> Descendant(string uri, string localName)

Obtain a Step that navigates from a node to the descendant elements having a specified namespace URI and local name.

static Step<XdmNodeXdmNode> Descendant(IPredicate<XdmNode> filter)

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.

static Step<XdmNodeXdmNode> DescendantOrSelf()

Obtain a Step to navigate from a node to its descendants, which are returned in document order, preceded by the origin node itself.

static Step<XdmNodeXdmNode> DescendantOrSelf(string localname)

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.

static Step<XdmNodeXdmNode> DescendantOrSelf(string uri, string localName)

Obtain a Step that navigates from a node to the descendant-or-self elements having a specified namespace URI and local name.

static Step<XdmNodeXdmNode> DescendantOrSelf(IPredicate<XdmNode> filter)

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.

static Step<XdmNodeXdmNode> Following()

Obtain a Step to navigate from a node to its following nodes (excluding descendants), which are returned in document order.

static Step<XdmNodeXdmNode> Following(string localName)

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.

static Step<XdmNodeXdmNode> Following(string uri, string localName)

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.

static Step<XdmNodeXdmNode> Following(Predicate<XdmItem> filter)

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.

static Step<XdmNodeXdmNode> FollowingSibling()

Obtain a Step to navigate from a node to its following siblings, which are returned in document order.

static Step<XdmNodeXdmNode> FollowingSibling(string localName)

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.

static Step<XdmNodeXdmNode> FollowingSibling(string uri, string localName)

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.

static Step<XdmNodeXdmNode> FollowingSibling(Predicate<XdmItem> filter)

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.

static Step<XdmNodeXdmNode> id(XdmNode doc)

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.

static Step<XdmNodeXdmNode> Namespace()

Obtain a Step to navigate from a node to its namespace nodes.

static Step<XdmNodeXdmNode> Namespace(string localName)

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.

static Step<XdmNodeXdmNode> Namespace(Predicate<XdmItem> filter)

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.

static Step<XdmNodeXdmNode> Parent()

Obtain a Step to navigate from a node to its parent.

static Step<XdmNodeXdmNode> Parent(string localName)

Obtain a Step that navigates from a node to the parent element provided it has a specified local name, irrespective of the namespace.

static Step<XdmNodeXdmNode> Parent(string uri, string localName)

Obtain a Step that navigates from a node to the parent element provided it has a specified namespace URI and local name.

static Step<XdmNodeXdmNode> Parent(Predicate<XdmItem> filter)

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

static Step<XdmNodeXdmNode> Path(string[] steps)

Construct a path as a composite Step from a sequence of steps composed together.

static Step<XdmNodeXdmNode> PathFromList(List<Step<XdmNodeXdmNode>> steps)

Construct a path as a composite Step from a list of steps composed together.

static Step<XdmNodeXdmNode> Preceding()

Obtain a Step to navigate from a node to its preceding nodes (excluding ancestors), which are returned in reverse document order.

static Step<XdmNodeXdmNode> Preceding(string localName)

Obtain a Step that navigates from a node to the preceding elements having a specified local name. These are returned in reverse document order.

static Step<XdmNodeXdmNode> Preceding(string uri, string localName)

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.

static Step<XdmNodeXdmNode> Preceding(Predicate<XdmItem> filter)

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.

static Step<XdmNodeXdmNode> PrecedingSibling()

Obtain a Step to navigate from a node to its preceding siblings, which are returned in reverse document order.

static Step<XdmNodeXdmNode> PrecedingSibling(string localName)

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.

static Step<XdmNodeXdmNode> PrecedingSibling(string uri, string localName)

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.

static Step<XdmNodeXdmNode> PrecedingSibling(Predicate<XdmItem> filter)

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.

static Step<XdmNodeXdmNode> 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.

static Step<XdmNodeXdmNode> Self()

Obtain a Step to navigate from a node to itself (useful only if applying a predicate).

static Step<XdmNodeXdmNode> Self(string localName)

Obtain a Step that navigates from a node to itself provided it is an element with a specified local name, irrespective of the namespace.

static Step<XdmNodeXdmNode> Self(string uri, string localName)

Obtain a Step that navigates from a node to itself provided it has a specified namespace URI and local name.

static Step<XdmNodeXdmNode> Self(Predicate<XdmNode> filter)

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.

static Step<XdmNodeXdmNode> Text()

Obtain a Step that returns text nodes found on the child axis. The function call Text() is equivalent to Child().Where(Predicate.IsText).

static Step<XdmAtomicValueXdmAtomicValue> Tokenize()

Obtain a Step whose effect is to tokenize the supplied item on whitespace boundaries, returning a sequence of strings as XdmAtomicValue instances.

 

Method Detail

Ancestor

public static Step<XdmNodeXdmNode> Ancestor()

Obtain a Step to navigate from a node to its ancestors, in reverse document order (that is, nearest ancestor first, root node last).

Returns:

A Step that selects all nodes on the ancestor axis.

Ancestor

public static Step<XdmNodeXdmNode> Ancestor(string localName)

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 nodes

Returns:

A Step, which selects the ancestors of a supplied node that have the required local name.

Ancestor

public static Step<XdmNodeXdmNode> Ancestor(string uri,
string localName)

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:

A Step, which selects the ancestors (at most one) of a supplied node that have the required local name and namespace URI.

Ancestor

public static Step<XdmNodeXdmNode> Ancestor(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the ancestor-or-self axis using the supplied predicate.

AncestorOrSelf

public static Step<XdmNodeXdmNode> 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:

A Step that selects all nodes on the ancestor-or-self axis.

AncestorOrSelf

public static Step<XdmNodeXdmNode> AncestorOrSelf(string localName)

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 nodes

Returns:

A Step, which selects the ancestors-or-self of a supplied node that have the required local name.

AncestorOrSelf

public static Step<XdmNodeXdmNode> AncestorOrSelf(string uri,
string localName)

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 namespace
localName - The local name of the ancestors to be selected by the Step

Returns:

A Step, which selects the ancestors-or-self of a supplied node that have the required local name and namespace URI.

AncestorOrSelf

public static Step<XdmNodeXdmNode> AncestorOrSelf(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the ancestor-or-self axis using a supplied predicate.

Atomize

public static Step<XdmItemXdmAtomicValue> 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

public static Step<XdmNodeXdmNode> Attribute()

Obtain a Step to navigate from a node to its attributes.

Returns:

A Step that selects all attribute nodes.

Attribute

public static Step<XdmNodeXdmNode> Attribute(string localName)

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 attributes

Returns:

A Step, which selects the attributes of a supplied node that have the required local name.

Attribute

public static Step<XdmNodeXdmNode> Attribute(string uri,
string localName)

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 namespace
localName - The local name of the attributes to be selected by the Step

Returns:

A Step, which selects the attributes (at most one) of a supplied node that have the required local name and namespace URI.

Attribute

public static Step<XdmNodeXdmNode> Attribute(IPredicate<XdmNode> filter)

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 applied

Returns:

A Step that filters the nodes found on the attribute axis using the supplied predicate.

Child

public static Step<XdmNodeXdmNode> Child()

Obtain a Step to navigate from a node to its children

Returns:

A Step that selects all nodes on the child axis

Child

public static Step<XdmNodeXdmNode> Child(string localName)

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 nodes

Returns:

A Step, which selects the element children of a supplied node that have the required local name.

Child

public static Step<XdmNodeXdmNode> Child(string uri,
string localName)

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 namespace
localName - The local name of the child elements to be selected by the Step

Returns:

A Step, which selects the element children of a supplied node that have the required local name and namespace URI.

Child

public static Step<XdmNodeXdmNode> Child(IPredicate<XdmNode> filter)

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 applied

Returns:

A Step that filters the nodes found on the child axis using the supplied predicate.

Descendant

public static Step<XdmNodeXdmNode> Descendant()

Obtain a Step to navigate from a node to its descendants, which are returned in document order.

Returns:

A Step that selects all nodes on the descendant axis.

Descendant

public static Step<XdmNodeXdmNode> Descendant(string localname)

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 nodes

Returns:

A Step, which selects the element descendants of a supplied node that have the required local name.

Descendant

public static Step<XdmNodeXdmNode> Descendant(string uri,
string localName)

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 namespace
localName - The local name of the elements to be selected by the Step

Returns:

A Step, which selects the element descendants of a supplied node that have the required local name and namespace URI.

Descendant

public static Step<XdmNodeXdmNode> Descendant(IPredicate<XdmNode> filter)

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 applied

Returns:

A Step that filters the nodes found on the descendant axis using the supplied predicate.

DescendantOrSelf

public static Step<XdmNodeXdmNode> 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:

A Step that selects all nodes on the descendant-or-self axis.

DescendantOrSelf

public static Step<XdmNodeXdmNode> DescendantOrSelf(string localname)

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 nodes

Returns:

A Step, which selects the descendant-or-self elements of a supplied node that have the required local name.

DescendantOrSelf

public static Step<XdmNodeXdmNode> DescendantOrSelf(string uri,
string localName)

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 namespace
localName - The local name of the elements to be selected by the Step

Returns:

A Step, which selects the descendant-or-self elements of a supplied node that have the required local name and namespace URI.

DescendantOrSelf

public static Step<XdmNodeXdmNode> DescendantOrSelf(IPredicate<XdmNode> filter)

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 applied

Returns:

A Step that filters the nodes found on the descendant-or-self axis using the supplied predicate.

Following

public static Step<XdmNodeXdmNode> Following()

Obtain a Step to navigate from a node to its following nodes (excluding descendants), which are returned in document order.

Returns:

A Step that selects all nodes on the following axis.

Following

public static Step<XdmNodeXdmNode> Following(string localName)

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 elements

Returns:

A Step, which selects the following elements of a supplied node that have the required local name.

Following

public static Step<XdmNodeXdmNode> Following(string uri,
string localName)

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 namespace
localName - The local name of the following elements to be selected by the Step

Returns:

A Step, which selects the following elements of a supplied node that have the required local name and namespace URI.

Following

public static Step<XdmNodeXdmNode> Following(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the following axis using the supplied predicate.

FollowingSibling

public static Step<XdmNodeXdmNode> FollowingSibling()

Obtain a Step to navigate from a node to its following siblings, which are returned in document order.

Returns:

A Step that selects all nodes on the following-sibling axis.

FollowingSibling

public static Step<XdmNodeXdmNode> FollowingSibling(string localName)

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 nodes

Returns:

A Step, which selects the following sibling elements of a supplied node that have the required local name.

FollowingSibling

public static Step<XdmNodeXdmNode> FollowingSibling(string uri,
string localName)

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 namespace
localName - The local name of the following sibling elements to be selected by the Step

Returns:

A Step, which selects the following sibling elements of a supplied node that have the required local name and namespace URI.

FollowingSibling

public static Step<XdmNodeXdmNode> FollowingSibling(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the following sibling axis using the supplied predicate.

id

public static Step<XdmNodeXdmNode> id(XdmNode doc)

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 sought

Returns:

A Step whose effect is to return the nodes that have the given string as their ID.

Namespace

public static Step<XdmNodeXdmNode> Namespace()

Obtain a Step to navigate from a node to its namespace nodes.

Returns:

A Step that selects all nodes on the namespace axis.

Namespace

public static Step<XdmNodeXdmNode> Namespace(string localName)

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 namespaces

Returns:

A Step, which selects the namespaces of a supplied node that have a given local name (prefix).

Namespace

public static Step<XdmNodeXdmNode> Namespace(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the namespace axis using the supplied predicate.

Parent

public static Step<XdmNodeXdmNode> Parent()

Obtain a Step to navigate from a node to its parent.

Returns:

A Step that selects all nodes on the parent axis (of which there is at most one).

Parent

public static Step<XdmNodeXdmNode> Parent(string localName)

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 element

Returns:

A Step, which selects the parent of a supplied node provided it is an element with the required local name.

Parent

public static Step<XdmNodeXdmNode> Parent(string uri,
string localName)

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 namespace
localName - The local name of the parent element to be selected by the Step

Returns:

A Step, which selects the parent element of a supplied node provided it is an element with the required local name and namespace URI.

Parent

public static Step<XdmNodeXdmNode> Parent(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the parent axis using the supplied predicate.

Path

public static Step<XdmNodeXdmNode> Path(string[] steps)

Construct a path as a composite Step from a sequence of steps composed together.

Parameters:

steps - The constituent steps in the path

Returns:

A composite step.

PathFromList

public static Step<XdmNodeXdmNode> PathFromList(List<Step<XdmNodeXdmNode>> steps)

Construct a path as a composite Step from a list of steps composed together.

Parameters:

steps - The constituent steps in the path

Returns:

A composite step.

Preceding

public static Step<XdmNodeXdmNode> Preceding()

Obtain a Step to navigate from a node to its preceding nodes (excluding ancestors), which are returned in reverse document order.

Returns:

A Step that selects all nodes on the preceding axis.

Preceding

public static Step<XdmNodeXdmNode> Preceding(string localName)

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 nodes

Returns:

A Step, which selects the preceding elements of a supplied node that have the required local name.

Preceding

public static Step<XdmNodeXdmNode> Preceding(string uri,
string localName)

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 namespace
localName - The local name of the preceding elements to be selected by the Step

Returns:

A Step, which selects the preceding elements of a supplied node that have the required local name and namespace URI.

Preceding

public static Step<XdmNodeXdmNode> Preceding(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the following axis using the supplied predicate.

PrecedingSibling

public static Step<XdmNodeXdmNode> PrecedingSibling()

Obtain a Step to navigate from a node to its preceding siblings, which are returned in reverse document order.

Returns:

A Step that selects all nodes on the preceding-sibling axis.

PrecedingSibling

public static Step<XdmNodeXdmNode> PrecedingSibling(string localName)

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 nodes

Returns:

A Step, which selects the preceding sibling elements of a supplied node that have the required local name.

PrecedingSibling

public static Step<XdmNodeXdmNode> PrecedingSibling(string uri,
string localName)

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 namespace
localName - The local name of the preceding sibling elements to be selected by the Step

Returns:

A Step, which selects the preceding sibling elements of a supplied node that have the required local name and namespace URI.

PrecedingSibling

public static Step<XdmNodeXdmNode> PrecedingSibling(Predicate<XdmItem> filter)

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 applied

Returns:

A Step that filters the nodes found on the following sibling axis using the supplied predicate.

Root

public static Step<XdmNodeXdmNode> 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:

A Step that selects the root node of the containing document.

Self

public static Step<XdmNodeXdmNode> Self()

Obtain a Step to navigate from a node to itself (useful only if applying a predicate).

Returns:

A Step that selects all nodes on the self axis (that is, the node itself).

Self

public static Step<XdmNodeXdmNode> Self(string localName)

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 node

Returns:

A Step, which selects the supplied node provided it has a given local name.

Self

public static Step<XdmNodeXdmNode> Self(string uri,
string localName)

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 namespace
localName - The local name of the element to be selected by the Step

Returns:

A Step, which selects the supplied node provided it is an element with a given local name and namespace URI.

Self

public static Step<XdmNodeXdmNode> Self(Predicate<XdmNode> filter)

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 applied

Returns:

A Step that filters the nodes found on the self axis using the supplied predicate.

Text

public static Step<XdmNodeXdmNode> 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:

A Step that returns the text nodes found on the child axis.

Tokenize

public static Step<XdmAtomicValueXdmAtomicValue> 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:

A Step whose effect is to take a supplied item and split its string value into a sequence of xs:string instances