Packages

  • package root
    Definition Classes
    root
  • package eu
    Definition Classes
    root
  • package cdevreeze
    Definition Classes
    eu
  • package xpathparser
    Definition Classes
    cdevreeze
  • package ast

    Abstract syntax tree of XPath expressions, as produced by the parsers specified in the 'parse' package.

    Abstract syntax tree of XPath expressions, as produced by the parsers specified in the 'parse' package.

    Definition Classes
    xpathparser
  • package common

    Common classes for expanded names and qualified names.

    Common classes for expanded names and qualified names. Copied (and "trimmed") from the yaidom project, with permission. Conversion from and to the yaidom counterparts is trivial, for example through the string representation.

    Definition Classes
    xpathparser
  • package parse

    FastParse parser of XPath expressions, returning AST objects from the 'ast' package if successful.

    FastParse parser of XPath expressions, returning AST objects from the 'ast' package if successful.

    Definition Classes
    xpathparser
  • DelimitingTerminals
  • EQNames
  • NCNames
  • NonDelimitingTerminals
  • Wildcards
  • XPathElemParser
  • XPathParser
  • package queryapi

    Query API, as offered by the AST classes.

    Query API, as offered by the AST classes. It is inspired by the yaidom project.

    The query API methods may be somewhat verbose, but that is intentional. First of all, there are multiple different "axes" that can be used in queries, such as child elements, descendant elements or descendant-or-self elements (if we consider only forward axes). Second, when querying for elements of specific types, there is something to be said for having normal parameters for those types, instead of (more hidden) type parameters.

    Definition Classes
    xpathparser
  • package util

    Utilities on top of the xpathparser API.

    Utilities on top of the xpathparser API.

    Definition Classes
    xpathparser

package parse

FastParse parser of XPath expressions, returning AST objects from the 'ast' package if successful.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. parse
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. object DelimitingTerminals

    Delimiting terminal symbols.

    Delimiting terminal symbols. No whitespace is skipped during this tokenization. Lookahead is applied when needed to distinguish between different terminal symbols starting with the same character.

    When using this object, make sure that a "-" symbol requires a symbol separator (whitespace or comments) if it follows a QName or NCName. The same holds for a "." symbol. Also, if a "." follows or precedes a numeric literal, it requires a symbol separator. (Other than that, symbol separators are only needed for non-delimiting terminal symbols.)

  2. object EQNames

    EQName parsing support.

    EQName parsing support. Note that EQNames are non-delimiting terminal symbols. No whitespace is skipped during parsing of an EQName.

    For re-usability without imposing any NoCut calls on using parsers, no cuts have been used.

  3. object NCNames

    NCName parsing support.

    NCName parsing support. Note that NCNames are non-delimiting terminal symbols. No whitespace is skipped during parsing of an NCName.

  4. object NonDelimitingTerminals

    Non-delimiting terminal symbols.

    Non-delimiting terminal symbols. No whitespace is skipped during this tokenization. Lookahead is applied when needed to distinguish between different terminal symbols starting with the same characters.

  5. object Wildcards

    Wildcard parsing support.

    Wildcard parsing support. No whitespace skipping is performed. See ws:explicit constraint.

    For re-usability without imposing any NoCut calls on using parsers, no cuts have been used.

  6. object XPathElemParser

    XPath 3.1 AST element parsing support, using FastParse.

    XPath 3.1 AST element parsing support, using FastParse.

    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.

    TODO Make this the default implementation of a parser interface.

  7. object XPathParser

    XPath 3.1 parsing support, using FastParse.

    XPath 3.1 parsing support, using FastParse.

    Usage:

    XPathParser.xpathExpr.parse(xpathString)

Inherited from AnyRef

Inherited from Any

Ungrouped