|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.expr.Expression net.sf.saxon.expr.instruct.Instruction net.sf.saxon.expr.instruct.GeneralVariable net.sf.saxon.expr.instruct.LocalParam
public final class LocalParam
The compiled form of an xsl:param element within a template in an XSLT stylesheet.
The xsl:param element in XSLT has mandatory attribute name and optional attribute select. It can also be specified as required="yes" or required="no".
This is used only for parameters to XSLT templates. For function calls, the caller of the function
places supplied arguments onto the callee's stackframe and the callee does not need to do anything.
Global parameters (XQuery external variables) are handled using GlobalParam
.
The LocalParam class is also used to represent parameters with the saxon:iterate instruction
Field Summary |
---|
Fields inherited from class net.sf.saxon.expr.instruct.GeneralVariable |
---|
evaluationMode, referenceCount, slotNumber, variableQName |
Fields inherited from class net.sf.saxon.expr.Expression |
---|
EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD |
Constructor Summary | |
---|---|
LocalParam()
|
Method Summary | |
---|---|
ValueRepresentation |
evaluateVariable(XPathContext c)
Evaluate the variable |
void |
explain(ExpressionPresenter out)
Diagnostic print of expression structure. |
int |
getInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes |
int |
getParameterId()
Get the parameter id, which is essentially an alias for the parameter name, unique within a stylesheet |
Iterator<Expression> |
iterateSubExpressions()
Get all the XPath expressions associated with this instruction (in XSLT terms, the expression present on attributes of the instruction, as distinct from the child instructions in a sequence construction) |
TailCall |
processLeavingTail(XPathContext context)
Process the local parameter declaration |
boolean |
replaceSubExpression(Expression original,
Expression replacement)
Replace one subexpression by a replacement subexpression |
void |
setConversion(Expression convertor)
Define a conversion that is to be applied to the supplied parameter value. |
void |
setParameterId(int id)
Allocate a number which is essentially an alias for the parameter name, unique within a stylesheet |
Methods inherited from class net.sf.saxon.expr.instruct.GeneralVariable |
---|
copy, evaluateItem, getCardinality, getEvaluationMode, getItemType, getLocalSlotNumber, getRequiredType, getSelectExpression, getSelectValue, getSlotNumber, getVariableQName, init, isAssignable, isGlobal, isImplicitlyRequiredParam, isRequiredParam, isTunnelParam, iterate, optimize, promoteInst, setAssignable, setImplicitlyRequiredParam, setReferenceCount, setRequiredParam, setRequiredType, setSelectExpression, setSlotNumber, setTunnel, setVariableQName, simplify, typeCheck |
Methods inherited from class net.sf.saxon.expr.instruct.Instruction |
---|
assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, createsNewNodes, dynamicError, evaluateAsString, getConstructType, getExpressionName, getImplementationMethod, getInstructionName, getIteratorFromProcessMethod, getSourceLocator, isXSLT, process, promote |
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 LocalParam()
Method Detail |
---|
public void setParameterId(int id)
id
- the parameter idpublic int getParameterId()
public void setConversion(Expression convertor)
convertor
- The expression to be applied. This performs type checking,
and the basic conversions implied by function calling rules, for example
numeric promotion, atomization, and conversion of untyped atomic values to
a required type. The conversion uses the actual parameter value as input,
referencing it using a VariableReference.public int getInstructionNameCode()
getInstructionNameCode
in class GeneralVariable
public Iterator<Expression> iterateSubExpressions()
iterateSubExpressions
in class GeneralVariable
public boolean replaceSubExpression(Expression original, Expression replacement)
replaceSubExpression
in class GeneralVariable
original
- the original subexpressionreplacement
- the replacement subexpression
public TailCall processLeavingTail(XPathContext context) throws XPathException
processLeavingTail
in interface TailCallReturner
processLeavingTail
in class Instruction
context
- The dynamic context of the transformation, giving access to the current node,
the current variables, etc.
XPathException
public ValueRepresentation evaluateVariable(XPathContext c)
c
- the XPath dynamic evaluation context
public void explain(ExpressionPresenter out)
explain
in class GeneralVariable
out
- the expression presenter used to display the structure
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |