Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.apache.xpath.compiler
Class XPathParser

    java.lang.Object
      |
      +--weblogic.apache.xpath.compiler.XPathParser

public class XPathParser
extends java.lang.Object

Tokenizes and parses XPath expressions. This should really be named XPathParserImpl, and may be renamed in the future.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

Constructor Summary
`XPathParser(javax.xml.transform.ErrorListener errorListener, javax.xml.transform.SourceLocator sourceLocator)` The parser constructor.

Method Summary
`protected void` | `AbbreviatedNodeTestStep()` 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 java.lang.String` | `dumpRemainingTokenQueue()` Dump the remaining token queue.
`protected int` | `EqualityExpr(int addPos)`
`protected void` | `Expr()` Expr ::= OrExpr
`protected void` | `FilterExpr()` FilterExpr ::= PrimaryExpr | FilterExpr Predicate
`protected void` | `FunctionCall()` FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')'
`javax.xml.transform.ErrorListener` | `getErrorListener()` Return the current error listener.
`protected void` | `IdKeyPattern()` IdKeyPattern ::= 'id' '(' Literal ')' | 'key' '(' Literal ',' Literal ')' (Also handle doc())
`void` | `initMatchPattern(Compiler compiler, java.lang.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, java.lang.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 void` | `PrimaryExpr()` PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall
`protected void` | `QName()` QName ::= (Prefix ':')? LocalPart Prefix ::= NCName LocalPart ::= NCName
`protected int` | `RelationalExpr(int addPos)` .
`protected void` | `RelativeLocationPath()` RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath
`protected void` | `RelativePathPattern()` RelativePathPattern ::= StepPattern | RelativePathPattern '/' StepPattern | RelativePathPattern '//' StepPattern
`void` | `setErrorHandler(javax.xml.transform.ErrorListener handler)` Allow an application to register an error event handler, where syntax errors will be sent.
`protected void` | `Step()` Step ::= Basis Predicate | AbbreviatedStep
`protected void` | `StepPattern()` 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`

Constructor Detail

### XPathParser

    public XPathParser(javax.xml.transform.ErrorListener errorListener,
                       javax.xml.transform.SourceLocator sourceLocator)

  The parser constructor.

Method Detail

### initXPath

    public void initXPath(Compiler compiler,
                          java.lang.String expression,
                          PrefixResolver namespaceContext)
                   throws javax.xml.transform.TransformerException

  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.

  Parameters:
    `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.
  Throws:
    javax.xml.transform.TransformerException -

### initMatchPattern

    public void initMatchPattern(Compiler compiler,
                                 java.lang.String expression,
                                 PrefixResolver namespaceContext)
                          throws javax.xml.transform.TransformerException

  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.

  Parameters:
    `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.
  Throws:
    javax.xml.transform.TransformerException -

### setErrorHandler

    public void setErrorHandler(javax.xml.transform.ErrorListener handler)

  Allow an application to register an error event handler, where syntax errors will be sent. If the error listener is not set, syntax errors will be sent to System.err.

  Parameters:
    `handler` - Reference to error listener where syntax errors will be sent.

### getErrorListener

    public javax.xml.transform.ErrorListener getErrorListener()

  Return the current error listener.

  Returns:
    The error listener, which should not normally be null, but may be.

### dumpRemainingTokenQueue

    protected java.lang.String dumpRemainingTokenQueue()

  Dump the remaining token queue. Thanks to Craig for this.

  Returns:
    A dump of the remaining token queue, which may be appended to an error message.

### Expr

    protected void Expr()
                 throws javax.xml.transform.TransformerException

  Expr ::= OrExpr

  Throws:
    javax.xml.transform.TransformerException -

### OrExpr

    protected void OrExpr()
                   throws javax.xml.transform.TransformerException

  OrExpr ::= AndExpr | OrExpr 'or' AndExpr

  Throws:
    javax.xml.transform.TransformerException -

### AndExpr

    protected void AndExpr()
                    throws javax.xml.transform.TransformerException

  AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr

  Throws:
    javax.xml.transform.TransformerException -

### EqualityExpr

    protected int EqualityExpr(int addPos)
                        throws javax.xml.transform.TransformerException

  Parameters:
    `addPos` - Position where expression is to be added, or -1 for append.
  Returns:
    the position at the end of the equality expression.
  Throws:
    javax.xml.transform.TransformerException -

### RelationalExpr

    protected int RelationalExpr(int addPos)
                          throws javax.xml.transform.TransformerException

  .

  Parameters:
    `addPos` - Position where expression is to be added, or -1 for append.
  Returns:
    the position at the end of the relational expression.
  Throws:
    javax.xml.transform.TransformerException -

### AdditiveExpr

    protected int AdditiveExpr(int addPos)
                        throws javax.xml.transform.TransformerException

  This has to handle construction of the operations so that they are evaluated in pre-fix order. So, for 9+7-6, instead of |+|9|-|7|6|, this needs to be evaluated as |-|+|9|7|6|. AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr

  Parameters:
    `addPos` - Position where expression is to be added, or -1 for append.
  Returns:
    the position at the end of the equality expression.
  Throws:
    javax.xml.transform.TransformerException -

### MultiplicativeExpr

    protected int MultiplicativeExpr(int addPos)
                              throws javax.xml.transform.TransformerException

  This has to handle construction of the operations so that they are evaluated in pre-fix order. So, for 9+7-6, instead of |+|9|-|7|6|, this needs to be evaluated as |-|+|9|7|6|. MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator UnaryExpr | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr | MultiplicativeExpr 'quo' UnaryExpr

  Parameters:
    `addPos` - Position where expression is to be added, or -1 for append.
  Returns:
    the position at the end of the equality expression.
  Throws:
    javax.xml.transform.TransformerException -

### UnaryExpr

    protected void UnaryExpr()
                      throws javax.xml.transform.TransformerException

  UnaryExpr ::= UnionExpr | '-' UnaryExpr

  Throws:
    javax.xml.transform.TransformerException -

### StringExpr

    protected void StringExpr()
                       throws javax.xml.transform.TransformerException

  StringExpr ::= Expr

  Throws:
    javax.xml.transform.TransformerException -

### BooleanExpr

    protected void BooleanExpr()
                        throws javax.xml.transform.TransformerException

  StringExpr ::= Expr

  Throws:
    javax.xml.transform.TransformerException -

### NumberExpr

    protected void NumberExpr()
                       throws javax.xml.transform.TransformerException

  NumberExpr ::= Expr

  Throws:
    javax.xml.transform.TransformerException -

### UnionExpr

    protected void UnionExpr()
                      throws javax.xml.transform.TransformerException

  The context of the right hand side expressions is the context of the left hand side expression. The results of the right hand side expressions are node sets. The result of the left hand side UnionExpr is the union of the results of the right hand side expressions. UnionExpr ::= PathExpr | UnionExpr '|' PathExpr

  Throws:
    javax.xml.transform.TransformerException -

### PathExpr

    protected void PathExpr()
                     throws javax.xml.transform.TransformerException

  PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath

  Throws:
    XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
    javax.xml.transform.TransformerException -

### FilterExpr

    protected void FilterExpr()
                       throws javax.xml.transform.TransformerException

  FilterExpr ::= PrimaryExpr | FilterExpr Predicate

  Throws:
    XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
    javax.xml.transform.TransformerException -

### PrimaryExpr

    protected void PrimaryExpr()
                        throws javax.xml.transform.TransformerException

  PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall

  Throws:
    javax.xml.transform.TransformerException -

### Argument

    protected void Argument()
                     throws javax.xml.transform.TransformerException

  Argument ::= Expr

  Throws:
    javax.xml.transform.TransformerException -

### FunctionCall

    protected void FunctionCall()
                         throws javax.xml.transform.TransformerException

  FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')'

  Throws:
    javax.xml.transform.TransformerException -

### LocationPath

    protected void LocationPath()
                         throws javax.xml.transform.TransformerException

  LocationPath ::= RelativeLocationPath | AbsoluteLocationPath

  Throws:
    javax.xml.transform.TransformerException -

### RelativeLocationPath

    protected void RelativeLocationPath()
                                 throws javax.xml.transform.TransformerException

  RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath

  Throws:
    javax.xml.transform.TransformerException -

### Step

    protected void Step()
                 throws javax.xml.transform.TransformerException

  Step ::= Basis Predicate | AbbreviatedStep

  Throws:
    javax.xml.transform.TransformerException -

### Basis

    protected void Basis()
                  throws javax.xml.transform.TransformerException

  Basis ::= AxisName '::' NodeTest | AbbreviatedBasis

  Throws:
    javax.xml.transform.TransformerException -

### AxisName

    protected int AxisName()
                    throws javax.xml.transform.TransformerException

  Basis ::= AxisName '::' NodeTest | AbbreviatedBasis

  Returns:
    FROM_XXX axes type, found in `Keywords`.
  Throws:
    javax.xml.transform.TransformerException -

### NodeTest

    protected void NodeTest(int axesType)
                     throws javax.xml.transform.TransformerException

  NodeTest ::= WildcardName | NodeType '(' ')' | 'processing-instruction' '(' Literal ')'

  Parameters:
    `axesType` - FROM_XXX axes type, found in `Keywords`.
  Throws:
    javax.xml.transform.TransformerException -

### Predicate

    protected void Predicate()
                      throws javax.xml.transform.TransformerException

  Predicate ::= '[' PredicateExpr ']'

  Throws:
    javax.xml.transform.TransformerException -

### PredicateExpr

    protected void PredicateExpr()
                          throws javax.xml.transform.TransformerException

  PredicateExpr ::= Expr

  Throws:
    javax.xml.transform.TransformerException -

### QName

    protected void QName()
                  throws javax.xml.transform.TransformerException

  QName ::= (Prefix ':')? LocalPart Prefix ::= NCName LocalPart ::= NCName

  Throws:
    javax.xml.transform.TransformerException -

### NCName

    protected void NCName()

  NCName ::= (Letter | '_') (NCNameChar) NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender

### Literal

    protected void Literal()
                    throws javax.xml.transform.TransformerException

  The value of the Literal is the sequence of characters inside the " or ' characters>. Literal ::= '"' [^"]* '"' | "'" [^']* "'"

  Throws:
    javax.xml.transform.TransformerException -

### Number

    protected void Number()
                   throws javax.xml.transform.TransformerException

  Number ::= [0-9]+('.'[0-9]+)? | '.'[0-9]+

  Throws:
    javax.xml.transform.TransformerException -

### Pattern

    protected void Pattern()
                    throws javax.xml.transform.TransformerException

  Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern

  Throws:
    javax.xml.transform.TransformerException -

### LocationPathPattern

    protected void LocationPathPattern()
                                throws javax.xml.transform.TransformerException

  LocationPathPattern ::= '/' RelativePathPattern? | IdKeyPattern (('/' | '//') RelativePathPattern)? | '//'? RelativePathPattern

  Throws:
    javax.xml.transform.TransformerException -

### IdKeyPattern

    protected void IdKeyPattern()
                         throws javax.xml.transform.TransformerException

  IdKeyPattern ::= 'id' '(' Literal ')' | 'key' '(' Literal ',' Literal ')' (Also handle doc())

  Throws:
    javax.xml.transform.TransformerException -

### RelativePathPattern

    protected void RelativePathPattern()
                                throws javax.xml.transform.TransformerException

  RelativePathPattern ::= StepPattern | RelativePathPattern '/' StepPattern | RelativePathPattern '//' StepPattern

  Throws:
    javax.xml.transform.TransformerException -

### StepPattern

    protected void StepPattern()
                        throws javax.xml.transform.TransformerException

  StepPattern ::= AbbreviatedNodeTestStep

  Throws:
    javax.xml.transform.TransformerException -

### AbbreviatedNodeTestStep

    protected void AbbreviatedNodeTestStep()
                                    throws javax.xml.transform.TransformerException

  AbbreviatedNodeTestStep ::= '@'? NodeTest Predicate

  Throws:
    javax.xml.transform.TransformerException -

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs70
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference