|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.expr.Expression
net.sf.saxon.expr.instruct.Instruction
public abstract class Instruction
Abstract superclass for all instructions in the compiled stylesheet.
This represents a compiled instruction, and as such, the minimum information is
retained from the original stylesheet.
Note: this class implements SourceLocator: that is, it can identify where in the stylesheet
the source instruction was located.
| Field Summary |
|---|
| Fields inherited from class net.sf.saxon.expr.Expression |
|---|
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD |
| Constructor Summary | |
|---|---|
Instruction()
Constructor |
|
| Method Summary | |
|---|---|
static ParameterSet |
assembleParams(XPathContext context,
WithParam[] actualParams)
Assemble a ParameterSet. |
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(SourceLocator loc,
XPathException error,
XPathContext context)
Construct an exception with diagnostic information. |
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 |
String |
getExpressionName()
Get a name identifying the kind of expression, in terms meaningful to a user. |
int |
getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process(). |
String |
getInstructionName()
Get a name identifying the kind of instruction, in terms meaningful to a user. |
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 |
protected SequenceIterator<? extends Item> |
getIteratorFromProcessMethod(XPathContext context)
Helper method to construct an iterator over the results of the expression when all that the expression itself offers is a process() method. |
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<? extends Item> |
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,
Expression parent)
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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface javax.xml.transform.SourceLocator |
|---|
getColumnNumber, getLineNumber, getPublicId, getSystemId |
| Constructor Detail |
|---|
public Instruction()
| Method Detail |
|---|
public int getImplementationMethod()
getImplementationMethod in class ExpressionExpression.ITERATE_METHOD or Expression.EVALUATE_METHOD or
Expression.PROCESS_METHODpublic int getInstructionNameCode()
public String getInstructionName()
public String getExpressionName()
getExpressionName in class Expressionpublic ItemType getItemType(TypeHierarchy th)
getItemType in class Expressionth - the type hierarchy cache
public int computeCardinality()
computeCardinality in class Expression
public 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.
XPathException - if a dynamic error occurs during the evaluation
of the instruction
public void process(XPathContext context)
throws XPathException
process in class Expressioncontext - The dynamic context, giving access to the current node,
the current variables, etc.
XPathException - if a dynamic error occurspublic SourceLocator getSourceLocator()
protected static XPathException dynamicError(SourceLocator loc,
XPathException error,
XPathContext context)
loc - the location of the errorerror - The exception containing information about the errorcontext - The controller of the transformation
public 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 - if an error occurs evaluating one of the
parameters
public 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 - if an error occurs evaluating one of the
tunnel parameters
public abstract Expression simplify(ExpressionVisitor visitor)
throws XPathException
simplify in class Expressionvisitor - an expression visitor
XPathException - 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 offered
XPathException - if an error occurs
public Expression promote(PromotionOffer offer,
Expression parent)
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 expressionparent - the parent of the subexpression
XPathException - if any error is detected
public Item evaluateItem(XPathContext context)
throws XPathException
evaluateItem in class Expressioncontext - The context in which the expression is to be evaluated
XPathException - if any dynamic error occurs evaluating the
expression
public SequenceIterator<? extends Item> iterate(XPathContext context)
throws XPathException
iterate in class Expressioncontext - supplies the context for evaluation
XPathException - if any dynamic error occurs evaluating the
expression
protected final SequenceIterator<? extends Item> getIteratorFromProcessMethod(XPathContext context)
throws XPathException
context - the dynamic evaluation context
XPathException - if a dynamic error occurs
public final CharSequence evaluateAsString(XPathContext context)
throws XPathException
evaluateAsString in class Expressioncontext - The context in which the expression is to be evaluated
XPathException - if any dynamic error occurs evaluating the
expression
ClassCastException - if the result type of the
expression is not xs:string?public int getConstructType()
getConstructType in interface InstructionInfogetConstructType in class ExpressionLocationpublic boolean isXSLT()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||