XPathElemParser

XPath 3.1 AST element parsing support, using cats-parse.

There are parsers for many kinds of XPath AST elements. These parsers typically expect no leading whitespace, and they typically consume only part of the input string.

Example of usage:

XPathElemParser.expr.parse(xpathString)

Using the parsers in XPathElemParser may be somewhat risky in that they may "malfunction" when called in isolation, due to the lack of context (such as cuts to avoid backtracking). Usually it is safer to stick to using the XPathParser.xpathExpr parser. On the other hand, exposing parsers for specific AST elements makes it easier to "decorate" specific parsers.

class Object
trait Matchable
class Any

Value members

Concrete fields

val andExpr: Parser[AndExpr]
val anyItemType: Parser[AnyItemType]
val anyKindTest: Parser[AnyKindTest]
val anyMapTest: Parser[AnyMapTest]
val argument: Parser[Argument]
val arrayTest: Parser[ArrayTest]
val arrowExpr: Parser[ArrowExpr]
val axisStep: Parser[AxisStep]
val castExpr: Parser[CastExpr]
val commentTest: Parser[CommentTest]
val comp: Parser[Comp]
val dataPiTest: Parser[DataPITest]
val elementTest: Parser[ElementTest]
val expr: Parser[Expr]
val exprSingle: Parser[ExprSingle]
val forExpr: Parser[ForExpr]
val forwardAxis: Parser[ForwardAxis]
val forwardStep: Parser[ForwardStep]
val generalComp: Parser[GeneralComp]
val ifExpr: Parser[IfExpr]
val itemType: Parser[ItemType]
val kindTest: Parser[KindTest]
val letExpr: Parser[LetExpr]
val literal: Parser[Literal]
val lookup: Parser[PostfixLookup]
val mapTest: Parser[MapTest]
val nameTest: Parser[NameTest]
val nodeComp: Parser[NodeComp]
val nodeTest: Parser[NodeTest]
val orExpr: Parser[OrExpr]
val param: Parser[Param]
val paramList: Parser[ParamList]
val pathExpr: Parser[PathExpr]
val piTest: Parser[PITest]
val postfixExpr: Parser[PostfixExpr]
val predicate: Parser[Predicate]
val primaryExpr: Parser[PrimaryExpr]
val quantifier: Parser[Quantifier]
val rangeExpr: Parser[RangeExpr]
val reverseAxis: Parser[ReverseAxis]
val reverseStep: Parser[ReverseStep]
val singleType: Parser[SingleType]
val stepExpr: Parser[StepExpr]
val textTest: Parser[TextTest]
val treatExpr: Parser[TreatExpr]
val unaryExpr: Parser[UnaryExpr]
val unaryLookup: Parser[UnaryLookup]
val unionExpr: Parser[UnionExpr]
val valueComp: Parser[ValueComp]
val valueExpr: Parser[ValueExpr]
val varRef: Parser[VarRef]
val wildcard: Parser[Wildcard]