net.sf.saxon.functions

Class Trace

Implemented Interfaces:
EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator

public class Trace
extends SystemFunction

This class supports the XPath 2.0 function trace(). The value is traced to the System.err stream, unless a TraceListener is in use, in which case the information is sent to the TraceListener

Nested Class Summary

class
Trace.TracingIterator
Tracing Iterator class

Field Summary

Fields inherited from class net.sf.saxon.functions.SystemFunction

operation

Fields inherited from class net.sf.saxon.expr.FunctionCall

argument

Fields inherited from class net.sf.saxon.expr.Expression

EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD, locationId, staticProperties

Method Summary

int
computeCardinality()
Get the static cardinality
int
computeSpecialProperties()
Get the static properties of this expression (other than its type).
Item
evaluateItem(XPathContext context)
Evaluate the function
SequenceIterator
iterate(XPathContext context)
Iterate over the results of the function
Expression
preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method suppresses compile-time evaluation by doing nothing
Expression
simplify(ExpressionVisitor visitor)
Simplify the function call.

Methods inherited from class net.sf.saxon.functions.SystemFunction

addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault

Methods inherited from class net.sf.saxon.expr.FunctionCall

addExternalFunctionCallToPathMap, checkArgumentCount, checkArguments, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck

Methods inherited from class net.sf.saxon.expr.Expression

addToPathMap, adoptChildExpression, checkPermittedContents, computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, explain, findParentOf, getCardinality, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getItemType, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, process, promote, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, simplify, staticTypeCheck, suppressValidation, toString, typeCheck, typeError

Method Details

computeCardinality

public int computeCardinality()
Get the static cardinality
Overrides:
computeCardinality in interface SystemFunction

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 interface SystemFunction

evaluateItem

public Item evaluateItem(XPathContext context)
            throws XPathException
Evaluate the function
Specified by:
evaluateItem in interface EvaluableItem
Overrides:
evaluateItem in interface Expression

iterate

public SequenceIterator iterate(XPathContext context)
            throws XPathException
Iterate over the results of the function
Specified by:
iterate in interface SequenceIterable
Overrides:
iterate in interface Expression

preEvaluate

public Expression preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method suppresses compile-time evaluation by doing nothing
Overrides:
preEvaluate in interface FunctionCall
Parameters:
visitor - an expression visitor

simplify

public Expression simplify(ExpressionVisitor visitor)
            throws XPathException
Simplify the function call. This implementation saves the static namespace context, in case it is needed by the TraceListener.
Overrides:
simplify in interface FunctionCall
Parameters:
visitor - an expression visitor