public class XPathParser extends Object
Modifier and Type | Field and 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 and Description |
---|
XPathParser(ErrorListener errorListener,
SourceLocator sourceLocator)
The parser constructor.
|
Modifier and Type | Method and 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.
|
public static final String CONTINUE_AFTER_FATAL_ERROR
protected static final int FILTER_MATCH_FAILED
protected static final int FILTER_MATCH_PRIMARY
protected static final int FILTER_MATCH_PREDICATES
public XPathParser(ErrorListener errorListener, SourceLocator sourceLocator)
public void initXPath(Compiler compiler, String expression, PrefixResolver namespaceContext) throws TransformerException
compiler
- The compiler object.expression
- A string conforming to the XPath grammar.namespaceContext
- An object that is able to resolve prefixes in
the XPath to namespaces.TransformerException
public void initMatchPattern(Compiler compiler, String expression, PrefixResolver namespaceContext) throws TransformerException
compiler
- The XPath object to be initialized.expression
- A String representing the XPath.namespaceContext
- An object that is able to resolve prefixes in
the XPath to namespaces.TransformerException
public void setErrorHandler(ErrorListener handler)
handler
- Reference to error listener where syntax errors will be
sent.public ErrorListener getErrorListener()
protected String dumpRemainingTokenQueue()
protected void Expr() throws TransformerException
TransformerException
protected void OrExpr() throws TransformerException
TransformerException
protected void AndExpr() throws TransformerException
TransformerException
protected int EqualityExpr(int addPos) throws TransformerException
addPos
- Position where expression is to be added, or -1 for append.TransformerException
protected int RelationalExpr(int addPos) throws TransformerException
addPos
- Position where expression is to be added, or -1 for append.TransformerException
protected int AdditiveExpr(int addPos) throws TransformerException
addPos
- Position where expression is to be added, or -1 for append.TransformerException
protected int MultiplicativeExpr(int addPos) throws TransformerException
addPos
- Position where expression is to be added, or -1 for append.TransformerException
protected void UnaryExpr() throws TransformerException
TransformerException
protected void StringExpr() throws TransformerException
TransformerException
protected void BooleanExpr() throws TransformerException
TransformerException
protected void NumberExpr() throws TransformerException
TransformerException
protected void UnionExpr() throws TransformerException
TransformerException
protected void PathExpr() throws TransformerException
XSLProcessorException
- thrown if the active ProblemListener and XPathContext decide
the error condition is severe enough to halt processing.TransformerException
protected int FilterExpr() throws TransformerException
XSLProcessorException
- thrown if the active ProblemListener and XPathContext decide
the error condition is severe enough to halt processing.TransformerException
protected boolean PrimaryExpr() throws TransformerException
TransformerException
protected void Argument() throws TransformerException
TransformerException
protected boolean FunctionCall() throws TransformerException
TransformerException
protected void LocationPath() throws TransformerException
TransformerException
protected boolean RelativeLocationPath() throws TransformerException
TransformerException
protected boolean Step() throws TransformerException
TransformerException
protected void Basis() throws TransformerException
TransformerException
protected int AxisName() throws TransformerException
Keywords
.TransformerException
protected void NodeTest(int axesType) throws TransformerException
axesType
- FROM_XXX axes type, found in Keywords
.TransformerException
protected void Predicate() throws TransformerException
TransformerException
protected void PredicateExpr() throws TransformerException
TransformerException
protected void QName() throws TransformerException
TransformerException
protected void NCName()
protected void Literal() throws TransformerException
TransformerException
protected void Number() throws TransformerException
TransformerException
protected void Pattern() throws TransformerException
TransformerException
protected void LocationPathPattern() throws TransformerException
TransformerException
protected void IdKeyPattern() throws TransformerException
TransformerException
protected void RelativePathPattern() throws TransformerException
TransformerException
protected boolean StepPattern(boolean isLeadingSlashPermitted) throws TransformerException
isLeadingSlashPermitted
- a boolean indicating whether a slash can
appear at the start of this stepTransformerException
protected boolean AbbreviatedNodeTestStep(boolean isLeadingSlashPermitted) throws TransformerException
isLeadingSlashPermitted
- a boolean indicating whether a slash can
appear at the start of this stepTransformerException
Copyright © 2019 JBoss by Red Hat. All rights reserved.