net.sf.saxon.instruct
Class LocalVariable

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.instruct.Instruction
          extended by net.sf.saxon.instruct.GeneralVariable
              extended by net.sf.saxon.instruct.LocalVariable
All Implemented Interfaces:
Serializable, SourceLocator, Binding, EvaluableItem, SequenceIterable, TailCallReturner, InstructionInfoProvider

public class LocalVariable
extends GeneralVariable

Handler for local xsl:variable elements in stylesheet. Not used in XQuery. In fact, the class is used only transiently in XSLT: local variables are compiled first to a LocalVariable object, and subsequently to a LetExpression.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
LocalVariable()
           
 
Method Summary
 ValueRepresentation evaluateVariable(XPathContext c)
          Evaluate the variable
 TailCall processLeavingTail(XPathContext context)
          Process the local variable declaration
 
Methods inherited from class net.sf.saxon.instruct.GeneralVariable
copy, evaluateItem, explain, getCardinality, getEvaluationMode, getInstructionNameCode, getItemType, getLocalSlotNumber, getRequiredType, getSelectExpression, getSelectValue, getSlotNumber, getVariableQName, init, isAssignable, isGlobal, isImplicitlyRequiredParam, isRequiredParam, isTunnelParam, iterate, iterateSubExpressions, optimize, replaceSubExpression, setAssignable, setImplicitlyRequiredParam, setReferenceCount, setRequiredParam, setRequiredType, setSelectExpression, setSlotNumber, setTunnel, setVariableQName, simplify, typeCheck
 
Methods inherited from class net.sf.saxon.instruct.Instruction
computeCardinality, computeSpecialProperties, createsNewNodes, evaluateAsString, getImplementationMethod, getInstructionInfo, getSourceLocator, isXSLT, process, promote
 
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, effectiveBooleanValue, explain, findParentOf, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterateEvents, markTailFunctionCalls, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 

Constructor Detail

LocalVariable

public LocalVariable()
Method Detail

processLeavingTail

public TailCall processLeavingTail(XPathContext context)
                            throws XPathException
Process the local variable 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)
                                     throws XPathException
Evaluate the variable

Parameters:
c - the XPath dynamic evaluation context
Returns:
the result of evaluating the variable
Throws:
XPathException


Copyright (C) Michael H. Kay. All rights reserved.