: Class Key

com.icl.saxon.functions
Class Key


java.lang.Object

  |

  +--com.icl.saxon.expr.Expression

        |

        +--com.icl.saxon.expr.Function

              |

              +--com.icl.saxon.functions.Key


public class Key
extends Function


Fields inherited from class com.icl.saxon.expr.Function
argument
 
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
 
Constructor Summary
Key()
           
 
Method Summary
 NodeEnumeration enumerate(Context context, boolean sorted)
          Enumerate the expression
 Value evaluate(Context context)
          Evaluate the expression
 int getDataType()
          Determine the data type of the expression
 int getDependencies()
          Determine which aspects of the context the expression depends on.
 java.lang.String getName()
          Get the name of the function.
 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.
 Expression reduce(int dep, Context context)
          Remove specified dependencies.
 Expression simplify()
          Simplify and validate
 
Methods inherited from class com.icl.saxon.expr.Function
addArgument, checkArgumentCount, display, getNumberOfArguments
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, make, outputStringValue, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Key


public Key()
Method Detail

getName


public java.lang.String getName()
Description copied from class: Function
Get the name of the function. This method must be implemented in all subclasses.
Overrides:
getName in class Function
Following copied from class: com.icl.saxon.expr.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
Overrides:
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
Following copied from class: com.icl.saxon.expr.Expression
Returns:
the simplified expression

evaluate


public Value evaluate(Context context)
               throws XPathException
Evaluate the expression
Overrides:
evaluate in class Expression
Following copied from class: com.icl.saxon.expr.Expression
Parameters:
context - The context in which the expression is to be evaluated
Returns:
the value of the expression, evaluated in the current context

enumerate


public NodeEnumeration enumerate(Context context,
                                 boolean sorted)
                          throws XPathException
Enumerate the expression
Overrides:
enumerate in class Expression
Following copied from class: com.icl.saxon.expr.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
Overrides:
getDependencies in class Expression

reduce


public Expression reduce(int dep,
                         Context context)
                  throws XPathException
Remove specified dependencies.
Overrides:
reduce in class Expression
Following copied from class: com.icl.saxon.expr.Expression
Parameters:
dependencies - 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