Class Key


public class Key extends Function
  • Constructor Details

    • Key

      public Key()
  • Method Details

    • getName

      public String getName()
      Description copied from class: Function
      Get the name of the function. This method must be implemented in all subclasses.
      Specified by:
      getName in class Function
      Returns:
      the name of the function, as used in XSL expressions, but excluding its namespace prefix
    • getDataType

      public int getDataType()
      Determine the data type of the expression
      Specified by:
      getDataType in class Expression
      Returns:
      Value.NODESET
    • isContextDocumentNodeSet

      public boolean isContextDocumentNodeSet()
      Determine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node. Used for optimization.
      Overrides:
      isContextDocumentNodeSet in class Expression
    • simplify

      public Expression simplify() throws XPathException
      Simplify and validate
      Overrides:
      simplify in class Expression
      Returns:
      the simplified expression
      Throws:
      XPathException
    • evaluate

      public Value evaluate(Context context) throws XPathException
      Evaluate the expression
      Specified by:
      evaluate in class Expression
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      the value of the expression, evaluated in the current context
      Throws:
      XPathException
    • enumerate

      public NodeEnumeration enumerate(Context context, boolean sorted) throws XPathException
      Enumerate the expression
      Overrides:
      enumerate in class Expression
      Parameters:
      context - The context in which the expression is to be evaluated
      sorted - Indicates whether the nodes are required in document order. If this is false, they may come in any order, but there will be no duplicates.
      Throws:
      XPathException - when the expression does not return a nodeset.
    • getDependencies

      public int getDependencies()
      Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE
      Specified by:
      getDependencies in class Expression
    • reduce

      public Expression reduce(int dep, Context context) throws XPathException
      Remove specified dependencies.
      Specified by:
      reduce in class Expression
      Parameters:
      dep - The dependencies to be removed, e.g. Context.VARIABLES
      context - The context to be used for the partial evaluation
      Returns:
      a new expression (or Value) that does not have any of the specified dependencies
      Throws:
      XPathException