Class XPathParser

java.lang.Object
org.apache.xpath.compiler.XPathParser

public class XPathParser
extends Object
Tokenizes and parses XPath expressions. This should really be named XPathParserImpl, and may be renamed in the future.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static String CONTINUE_AFTER_FATAL_ERROR  
    protected static int FILTER_MATCH_FAILED
    Results from checking FilterExpr syntax
    protected static int FILTER_MATCH_PREDICATES  
    protected static int FILTER_MATCH_PRIMARY  
  • Constructor Summary

    Constructors 
    Constructor Description
    XPathParser​(ErrorListener errorListener, SourceLocator sourceLocator)
    The parser constructor.
  • Method Summary

    Modifier and Type Method Description
    protected boolean AbbreviatedNodeTestStep​(boolean isLeadingSlashPermitted)
    AbbreviatedNodeTestStep ::= '@'? NodeTest Predicate
    protected int AdditiveExpr​(int addPos)
    This has to handle construction of the operations so that they are evaluated in pre-fix order.
    protected void AndExpr()
    AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr
    protected void Argument()
    Argument ::= Expr
    protected int AxisName()
    Basis ::= AxisName '::' NodeTest | AbbreviatedBasis
    protected void Basis()
    Basis ::= AxisName '::' NodeTest | AbbreviatedBasis
    protected void BooleanExpr()
    StringExpr ::= Expr
    protected String dumpRemainingTokenQueue()
    Dump the remaining token queue.
    protected int EqualityExpr​(int addPos)  
    protected void Expr()
    Expr ::= OrExpr
    protected int FilterExpr()
    FilterExpr ::= PrimaryExpr | FilterExpr Predicate
    protected boolean FunctionCall()
    FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')'
    ErrorListener getErrorListener()
    Return the current error listener.
    protected void IdKeyPattern()
    IdKeyPattern ::= 'id' '(' Literal ')' | 'key' '(' Literal ',' Literal ')' (Also handle doc())
    void initMatchPattern​(Compiler compiler, String expression, PrefixResolver namespaceContext)
    Given an string, init an XPath object for pattern matches, in order that a parse doesn't have to be done each time the expression is evaluated.
    void initXPath​(Compiler compiler, String expression, PrefixResolver namespaceContext)
    Given an string, init an XPath object for selections, in order that a parse doesn't have to be done each time the expression is evaluated.
    protected void Literal()
    The value of the Literal is the sequence of characters inside the " or ' characters>.
    protected void LocationPath()
    LocationPath ::= RelativeLocationPath | AbsoluteLocationPath
    protected void LocationPathPattern()
    LocationPathPattern ::= '/' RelativePathPattern? | IdKeyPattern (('/' | '//') RelativePathPattern)? | '//'? RelativePathPattern
    protected int MultiplicativeExpr​(int addPos)
    This has to handle construction of the operations so that they are evaluated in pre-fix order.
    protected void NCName()
    NCName ::= (Letter | '_') (NCNameChar) NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender
    protected void NodeTest​(int axesType)
    NodeTest ::= WildcardName | NodeType '(' ')' | 'processing-instruction' '(' Literal ')'
    protected void Number()
    Number ::= [0-9]+('.'[0-9]+)? | '.'[0-9]+
    protected void NumberExpr()
    NumberExpr ::= Expr
    protected void OrExpr()
    OrExpr ::= AndExpr | OrExpr 'or' AndExpr
    protected void PathExpr()
    PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath
    protected void Pattern()
    Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern
    protected void Predicate()
    Predicate ::= '[' PredicateExpr ']'
    protected void PredicateExpr()
    PredicateExpr ::= Expr
    protected boolean PrimaryExpr()
    PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall
    protected void QName()
    QName ::= (Prefix ':')? LocalPart Prefix ::= NCName LocalPart ::= NCName
    protected int RelationalExpr​(int addPos)
    .
    protected boolean RelativeLocationPath()
    RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath
    protected void RelativePathPattern()
    RelativePathPattern ::= StepPattern | RelativePathPattern '/' StepPattern | RelativePathPattern '//' StepPattern
    void setErrorHandler​(ErrorListener handler)
    Allow an application to register an error event handler, where syntax errors will be sent.
    protected boolean Step()
    Step ::= Basis Predicate | AbbreviatedStep
    protected boolean StepPattern​(boolean isLeadingSlashPermitted)
    StepPattern ::= AbbreviatedNodeTestStep
    protected void StringExpr()
    StringExpr ::= Expr
    protected void UnaryExpr()
    UnaryExpr ::= UnionExpr | '-' UnaryExpr
    protected void UnionExpr()
    The context of the right hand side expressions is the context of the left hand side expression.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait