Class XPath

java.lang.Object
org.loboevolution.apache.xpath.XPath

public class XPath extends Object
The XPath class wraps an expression object and provides general services for execution of that expression.
  • Field Details

    • SELECT

      public static final int SELECT
      Represents a select type expression.
      See Also:
    • MATCH

      public static final int MATCH
      Represents a match type expression.
      See Also:
    • MATCH_SCORE_NONE

      public static final double MATCH_SCORE_NONE
      The match score if no match is made.
      See Also:
    • MATCH_SCORE_QNAME

      public static final double MATCH_SCORE_QNAME
      The match score if the pattern has the form of a QName optionally preceded by an @ character.
      See Also:
    • MATCH_SCORE_NSWILD

      public static final double MATCH_SCORE_NSWILD
      The match score if the pattern pattern has the form NCName:*.
      See Also:
    • MATCH_SCORE_NODETEST

      public static final double MATCH_SCORE_NODETEST
      The match score if the pattern consists of just a NodeTest.
      See Also:
    • MATCH_SCORE_OTHER

      public static final double MATCH_SCORE_OTHER
      The match score if the pattern consists of something other than just a NodeTest or just a qname.
      See Also:
  • Constructor Details

    • XPath

      public XPath(String exprString, PrefixResolver prefixResolver, int type, ErrorListener errorListener) throws TransformerException
      Construct an XPath object.

      (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

      Parameters:
      exprString - The XPath expression.
      prefixResolver - A prefix resolver to use to resolve prefixes to namespace URIs.
      type - one of SELECT or MATCH.
      errorListener - The error listener, or null if default should be used.
      Throws:
      TransformerException - if syntax or other error.
    • XPath

      public XPath(String exprString, PrefixResolver prefixResolver, int type, ErrorListener errorListener, FunctionTable aTable) throws TransformerException
      Construct an XPath object.

      (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

      Parameters:
      exprString - The XPath expression.
      prefixResolver - A prefix resolver to use to resolve prefixes to namespace URIs.
      type - one of SELECT or MATCH.
      errorListener - The error listener, or null if default should be used.
      aTable - the function table to be used
      Throws:
      TransformerException - if syntax or other error.
    • XPath

      public XPath(String exprString, PrefixResolver prefixResolver, int type) throws TransformerException
      Construct an XPath object.

      (Needs review -sc) This method initializes an XPathParser/ Compiler and compiles the expression.

      Parameters:
      exprString - The XPath expression.
      prefixResolver - A prefix resolver to use to resolve prefixes to namespace URIs.
      type - one of SELECT or MATCH.
      Throws:
      TransformerException - if syntax or other error.
    • XPath

      public XPath(Expression expr)
      Construct an XPath object.
      Parameters:
      expr - The Expression object.
  • Method Details

    • getLocator

      public SourceLocator getLocator()
      Get the SourceLocator on the expression object.
      Returns:
      the SourceLocator on the expression object, which may be null.
    • execute

      public XObject execute(XPathContext xctxt, Node contextNode, PrefixResolver namespaceContext) throws TransformerException
      Given an expression and a context, evaluate the XPath and return the result.
      Parameters:
      xctxt - The execution context.
      contextNode - The node that "." expresses.
      namespaceContext - The context in which namespaces in the XPath are supposed to be expanded.
      Returns:
      The result of the XPath or null if callbacks are used.
      Throws:
      TransformerException - thrown if the error condition is severe enough to halt processing.
      TransformerException - in case of error
    • execute

      public XObject execute(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext) throws TransformerException
      Given an expression and a context, evaluate the XPath and return the result.
      Parameters:
      xctxt - The execution context.
      contextNode - The node that "." expresses.
      namespaceContext - The context in which namespaces in the XPath are supposed to be expanded.
      Throws:
      TransformerException - thrown if the active ProblemListener decides the error condition is severe enough to halt processing.
      TransformerException - in case of error
    • bool

      public boolean bool(XPathContext xctxt, int contextNode, PrefixResolver namespaceContext) throws TransformerException
      Given an expression and a context, evaluate the XPath and return the result.
      Parameters:
      xctxt - The execution context.
      contextNode - The node that "." expresses.
      namespaceContext - The context in which namespaces in the XPath are supposed to be expanded.
      Returns:
      the result
      Throws:
      TransformerException - thrown if the active ProblemListener decides the error condition is severe enough to halt processing.
      TransformerException - in case of error
    • error

      public void error(XPathContext xctxt, String msg, Object[] args) throws TransformerException
      Tell the user of an error, and probably throw an exception.
      Parameters:
      xctxt - The XPath runtime context.
      msg - An error msgkey that corresponds to one of the constants found in XPATHErrorResources, which is a key for a format string.
      args - An array of arguments represented in the format string, which may be null.
      Throws:
      TransformerException - if the current ErrorListoner determines to throw an exception.
    • getPatternString

      public String getPatternString()
      Return the XPath string associated with this object.
      Returns:
      the XPath string associated with this object.
    • callVisitors

      public void callVisitors(XPathVisitor visitor)
      This will traverse the heararchy, calling the visitor for each member. If the called visitor method returns false, the subtree should not be called.
      Parameters:
      visitor - The visitor whose appropriate method will be called.