net.sf.saxon.instruct
Class LocalParam

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.instruct.Instruction
          extended bynet.sf.saxon.instruct.GeneralVariable
              extended bynet.sf.saxon.instruct.LocalParam
All Implemented Interfaces:
Binding, Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator, TailCallReturner

public final class LocalParam
extends GeneralVariable

The compiled form of an xsl:param element in the stylesheet or an external variable in a Query.
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". In standard XQuery external variables are always required, and no default value can be specified; but Saxon provides an extension pragma that allows a query to specify a default.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.instruct.GeneralVariable
nameCode, referenceCount
 
Fields inherited from class net.sf.saxon.expr.ComputedExpression
locationId, staticProperties
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
LocalParam()
           
 
Method Summary
 ValueRepresentation evaluateVariable(XPathContext c)
          Evaluate the variable
 int getInstructionNameCode()
          Get the name of this instruction for diagnostic and tracing purposes
 java.util.Iterator 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
 void setConversion(Expression convertor)
          Define a conversion that is to be applied to the supplied parameter value.
 
Methods inherited from class net.sf.saxon.instruct.GeneralVariable
display, evaluateItem, getCardinality, getItemType, getLocalSlotNumber, getNameCode, getRequiredType, getSelectExpression, getSelectValue, getSlotNumber, getVariableFingerprint, getVariableName, init, isAssignable, isGlobal, isRequiredParam, isTunnelParam, iterate, optimize, promoteInst, setAssignable, setNameCode, setReferenceCount, setRequiredParam, setRequiredType, setSelectExpression, setSlotNumber, setTunnel, setVariableName, simplify, typeCheck
 
Methods inherited from class net.sf.saxon.instruct.Instruction
appendItem, assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, createsNewNodes, dynamicError, evaluateAsString, getImplementationMethod, getInstructionInfo, getSourceLocator, isXSLT, process, promote
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, markTailFunctionCalls, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 

Constructor Detail

LocalParam

public LocalParam()
Method Detail

setConversion

public void setConversion(Expression convertor)
Define a conversion that is to be applied to the supplied parameter value.

Parameters:
convertor -

getInstructionNameCode

public int getInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes

Overrides:
getInstructionNameCode in class GeneralVariable

iterateSubExpressions

public java.util.Iterator 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)

Specified by:
iterateSubExpressions in interface Expression
Overrides:
iterateSubExpressions in class GeneralVariable

processLeavingTail

public TailCall processLeavingTail(XPathContext context)
                            throws XPathException
Process the local parameter declaration

Specified by:
processLeavingTail in interface TailCallReturner
Specified by:
processLeavingTail in class Instruction
Parameters:
context - The dynamic context of the transformation, giving access to the current node, the current variables, etc.
Returns:
null if the instruction has completed execution; or a TailCall indicating a function call or template call that is delegated to the caller, to be made after the stack has been unwound so as to save stack space.
Throws:
XPathException

evaluateVariable

public ValueRepresentation evaluateVariable(XPathContext c)
Evaluate the variable