java.io.Serializable
, javax.xml.transform.SourceLocator
, LocationProvider
, SaxonLocator
, EvaluableItem
, SequenceIterable
, TailCallReturner
, InstructionInfo
, org.xml.sax.Locator
AnalyzeString
, ApplyImports
, ApplyTemplates
, Block
, BreakInstr
, CallTemplate
, Choose
, ContinueInstr
, CopyOf
, Doctype
, ForEach
, ForEachGroup
, GeneralVariable
, IterateInstr
, Message
, ParentNodeConstructor
, ResultDocument
, SimpleNodeConstructor
, TraceWrapper
, UseAttributeSets
, While
public 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, typeError
public int getImplementationMethod()
getImplementationMethod
in class Expression
Expression.ITERATE_METHOD
or Expression.EVALUATE_METHOD
or
Expression.PROCESS_METHOD
public int getInstructionNameCode()
public ItemType getItemType(TypeHierarchy th)
getItemType
in class Expression
th
- the type hierarchy cachepublic int computeCardinality()
computeCardinality
in class Expression
public abstract TailCall processLeavingTail(XPathContext context) throws XPathException
processLeavingTail
in interface TailCallReturner
context
- The dynamic context of the transformation, giving access to the current node,
the current variables, etc.XPathException
public void process(XPathContext context) throws XPathException
process
in class Expression
context
- The dynamic context, giving access to the current node,
the current variables, etc.XPathException
public 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"XPathException
protected static ParameterSet assembleTunnelParams(XPathContext context, WithParam[] actualParams) throws XPathException
context
- the XPath dynamic contextactualParams
- the set of with-param parameters that specify tunnel="yes"XPathException
public abstract Expression simplify(ExpressionVisitor visitor) throws XPathException
simplify
in class Expression
visitor
- an expression visitorXPathException
- if an error is discovered during expression
rewritingpublic int computeSpecialProperties()
computeSpecialProperties
in class Expression
public boolean createsNewNodes()
protected void promoteInst(PromotionOffer offer) throws XPathException
offer
- The type of rewrite being offeredXPathException
public Expression promote(PromotionOffer offer) throws XPathException
promote
in class Expression
offer
- 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 EvaluableItem
evaluateItem
in class Expression
context
- 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 SequenceIterable
iterate
in class Expression
context
- 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 Expression
context
- 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 InstructionInfo
getConstructType
in class Expression
Location
public boolean isXSLT()