java.io.Serializable, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, TailCallReturner, InstructionInfo, org.xml.sax.LocatorAnalyzeString, ApplyImports, ApplyTemplates, Block, BreakInstr, CallTemplate, Choose, ContinueInstr, CopyOf, Doctype, ForEach, ForEachGroup, GeneralVariable, IterateInstr, Message, ParentNodeConstructor, ResultDocument, SimpleNodeConstructor, TraceWrapper, UseAttributeSets, Whilepublic abstract class Instruction extends Expression implements javax.xml.transform.SourceLocator, TailCallReturner
EVALUATE_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, staticProperties| Constructor | Description |
|---|---|
Instruction() |
Constructor
|
| Modifier and Type | Method | Description |
|---|---|---|
protected static ParameterSet |
assembleParams(XPathContext context,
WithParam[] actualParams) |
Assemble a ParameterSet.
|
protected static ParameterSet |
assembleTunnelParams(XPathContext context,
WithParam[] actualParams) |
Assemble a ParameterSet.
|
int |
computeCardinality() |
Get the cardinality of the sequence returned by evaluating this instruction
|
int |
computeSpecialProperties() |
Get the static properties of this expression (other than its type).
|
boolean |
createsNewNodes() |
Determine whether this instruction creates new nodes.
|
protected static XPathException |
dynamicError(javax.xml.transform.SourceLocator loc,
XPathException error,
XPathContext context) |
Construct an exception with diagnostic information.
|
java.lang.CharSequence |
evaluateAsString(XPathContext context) |
Evaluate an expression as a String.
|
Item |
evaluateItem(XPathContext context) |
Evaluate an expression as a single item.
|
int |
getConstructType() |
Get the type of this expression for use in tracing and diagnostics
|
int |
getImplementationMethod() |
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
|
int |
getInstructionNameCode() |
Get the namecode of the instruction for use in diagnostics
|
ItemType |
getItemType(TypeHierarchy th) |
Get the item type of the items returned by evaluating this instruction
|
javax.xml.transform.SourceLocator |
getSourceLocator() |
Get a SourceLocator identifying the location of this instruction
|
boolean |
isXSLT() |
Establish whether this is an XSLT instruction or an XQuery instruction
(used to produce appropriate diagnostics)
|
SequenceIterator |
iterate(XPathContext context) |
Return an Iterator to iterate over the values of a sequence.
|
void |
process(XPathContext context) |
Process the instruction, without returning any tail calls
|
abstract TailCall |
processLeavingTail(XPathContext context) |
ProcessLeavingTail: called to do the real work of this instruction.
|
Expression |
promote(PromotionOffer offer) |
Offer promotion for this subexpression.
|
protected void |
promoteInst(PromotionOffer offer) |
Handle promotion offers, that is, non-local tree rewrites.
|
abstract Expression |
simplify(ExpressionVisitor visitor) |
Simplify an expression.
|
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, explain, findParentOf, getCardinality, getColumnNumber, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isUpdatingExpression, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeCheck, typeErrorpublic int getImplementationMethod()
getImplementationMethod in class ExpressionExpression.ITERATE_METHOD or Expression.EVALUATE_METHOD or
Expression.PROCESS_METHODpublic int getInstructionNameCode()
public ItemType getItemType(TypeHierarchy th)
getItemType in class Expressionth - the type hierarchy cachepublic int computeCardinality()
computeCardinality in class Expressionpublic abstract TailCall processLeavingTail(XPathContext context) throws XPathException
processLeavingTail in interface TailCallReturnercontext - The dynamic context of the transformation, giving access to the current node,
the current variables, etc.XPathExceptionpublic void process(XPathContext context) throws XPathException
process in class Expressioncontext - The dynamic context, giving access to the current node,
the current variables, etc.XPathExceptionpublic javax.xml.transform.SourceLocator getSourceLocator()
protected static XPathException dynamicError(javax.xml.transform.SourceLocator loc, XPathException error, XPathContext context)
loc - the location of the errorerror - The exception containing information about the errorcontext - The controller of the transformationprotected static ParameterSet assembleParams(XPathContext context, WithParam[] actualParams) throws XPathException
context - the XPath dynamic contextactualParams - the set of with-param parameters that specify tunnel="no"XPathExceptionprotected static ParameterSet assembleTunnelParams(XPathContext context, WithParam[] actualParams) throws XPathException
context - the XPath dynamic contextactualParams - the set of with-param parameters that specify tunnel="yes"XPathExceptionpublic abstract Expression simplify(ExpressionVisitor visitor) throws XPathException
simplify in class Expressionvisitor - an expression visitorXPathException - if an error is discovered during expression
rewritingpublic int computeSpecialProperties()
computeSpecialProperties in class Expressionpublic boolean createsNewNodes()
protected void promoteInst(PromotionOffer offer) throws XPathException
offer - The type of rewrite being offeredXPathExceptionpublic Expression promote(PromotionOffer offer) throws XPathException
promote in class Expressionoffer - details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expressionXPathException - if any error is detectedpublic Item evaluateItem(XPathContext context) throws XPathException
evaluateItem in interface EvaluableItemevaluateItem in class Expressioncontext - The context in which the expression is to be evaluatedXPathException - if any dynamic error occurs evaluating the
expressionpublic SequenceIterator iterate(XPathContext context) throws XPathException
iterate in interface SequenceIterableiterate in class Expressioncontext - supplies the context for evaluationXPathException - if any dynamic error occurs evaluating the
expressionpublic final java.lang.CharSequence evaluateAsString(XPathContext context) throws XPathException
evaluateAsString in class Expressioncontext - The context in which the expression is to be evaluatedXPathException - if any dynamic error occurs evaluating the
expressionjava.lang.ClassCastException - if the result type of the
expression is not xs:string?public int getConstructType()
getConstructType in interface InstructionInfogetConstructType in class ExpressionLocationpublic boolean isXSLT()