Class Trace

All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, CallableExpression, InstructionInfo, Locator

public class Trace extends SystemFunction implements CallableExpression
This class supports the XPath 2.0 function trace(). The value is traced to the registered output stream (defaulting to System.err), unless a TraceListener is in use, in which case the information is sent to the TraceListener
See Also:
  • Constructor Details

    • Trace

      public Trace()
  • Method Details

    • preEvaluate

      public Expression preEvaluate(ExpressionVisitor visitor)
      preEvaluate: this method suppresses compile-time evaluation by doing nothing
      Overrides:
      preEvaluate in class FunctionCall
      Parameters:
      visitor - an expression visitor
      Returns:
      the result of the early evaluation, or the original expression, or potentially a simplified expression
    • computeSpecialProperties

      public int computeSpecialProperties()
      Get the static properties of this expression (other than its type). The result is bit-significant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.
      Overrides:
      computeSpecialProperties in class SystemFunction
      Returns:
      the special properties, as a bit-significant integer
    • computeCardinality

      public int computeCardinality()
      Get the static cardinality
      Overrides:
      computeCardinality in class SystemFunction
      Returns:
      the computed cardinality, as one of the values StaticProperty.ALLOWS_ZERO_OR_ONE, StaticProperty.EXACTLY_ONE, StaticProperty.ALLOWS_ONE_OR_MORE, StaticProperty.ALLOWS_ZERO_OR_MORE
    • evaluateItem

      public Item evaluateItem(XPathContext context) throws XPathException
      Evaluate the function
      Overrides:
      evaluateItem in class Expression
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
      Throws:
      XPathException - if any dynamic error occurs evaluating the expression
    • traceItem

      public static void traceItem(Item val, String label, PrintStream out)
    • iterate

      public SequenceIterator iterate(XPathContext context) throws XPathException
      Iterate over the results of the function
      Overrides:
      iterate in class Expression
      Parameters:
      context - supplies the context for evaluation
      Returns:
      a SequenceIterator that can be used to iterate over the result of the expression
      Throws:
      XPathException - if any dynamic error occurs evaluating the expression
    • call

      public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
      Evaluate the expression
      Specified by:
      call in interface CallableExpression
      Parameters:
      arguments - the values of the arguments, supplied as SequenceIterators
      context - the dynamic evaluation context
      Returns:
      the result of the evaluation, in the form of a SequenceIterator
      Throws:
      XPathException - if a dynamic error occurs during the evaluation of the expression