simple test for string equality
simple test for string equality
simply forwards the current context, element\item specific versions exist that step downwards in document order
simply forwards the current context, element\item specific versions exist that step downwards in document order
all children unpacked, normal xpath requires the context in E1/E2, which hugely complicates things, so \ is this, \+ is \ in the case where unpacking is needed which just leaves \* varieties for elements.
all children unpacked, normal xpath requires the context in E1/E2, which hugely complicates things, so \ is this, \+ is \ in the case where unpacking is needed which just leaves \* varieties for elements.
All descendants, uses XPathInfo eager to choose an implementation
All descendants, uses XPathInfo eager to choose an implementation
Parents of these paths
Parents of these paths
all cdata child elements
all commnent child elements
filter through the current matches
filter through the current matches
Equivalent to [last() < n]
Equivalent to [last() < n]
Equivalent to [last() = n]
Equivalent to [last() = n]
Equivalent to [last() > n]
Equivalent to [last() > n]
all pi child elements
1 index based, per spec, but unsure if it should be
1 index based, per spec, but unsure if it should be
Equivalent to [position() < pos]
Equivalent to [position() < pos]
Equivalent to [position() > pos]
Equivalent to [position() > pos]
Equivalent to position() = last()
Equivalent to position() = last()
all text child elements - xpath standard way, including cdata nodes, filtered to join adjacent text nodes
all text child elements - not including cdata nodes, neither sorted nor dup filtered
x prefixed to avoid disturbing the use of an xpath as an iterable
x prefixed to avoid disturbing the use of an xpath as an iterable
Little depature from standard, rather than duplicate all of the \ and \\ nodes, just a simple \\*() comment() will do
NOTE these have a large performance hit as the must sort and filter the results in order to get doc order. Better to use specific nodes avoiding \\ etc, then use the s for simple functions, sutext etc for simple useful. Additionally using the non simple versions incurs the cost of adding adjacent text node processing as per standard datamodel (all adjacent text nodes are joined and any resulting nodes that are "the zero-length string" are removed).
TODO xpath adjacent text node handling