net.sf.saxon.instruct

Class Assign

public class Assign extends GeneralVariable implements BindingReference

saxon:assign element in stylesheet. The saxon:assign element has mandatory attribute name and optional attribute expr. It also allows xsl:extension-element-prefixes etc.
Constructor Summary
Assign()
Method Summary
ValueRepresentationevaluateVariable(XPathContext context)
Evaluate the variable (method exists only to satisfy the interface)
voidfixup(Binding binding)
intgetInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes
intgetIntrinsicDependencies()
TailCallprocessLeavingTail(XPathContext context)
Expressionpromote(PromotionOffer offer)
Offer promotion for this subexpression.
voidsetStaticType(SequenceType type, Value constantValue, int properties)

Constructor Detail

Assign

public Assign()

Method Detail

evaluateVariable

public ValueRepresentation evaluateVariable(XPathContext context)
Evaluate the variable (method exists only to satisfy the interface)

fixup

public void fixup(Binding binding)

getInstructionNameCode

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

getIntrinsicDependencies

public int getIntrinsicDependencies()

processLeavingTail

public TailCall processLeavingTail(XPathContext context)

promote

public Expression promote(PromotionOffer offer)
Offer promotion for this subexpression. This needs careful handling in the case of saxon:assign

Parameters: 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 expression

Returns: if the offer is not accepted, return this expression unchanged. Otherwise return the result of rewriting the expression to promote this subexpression

Throws: net.sf.saxon.trans.XPathException if any error is detected

setStaticType

public void setStaticType(SequenceType type, Value constantValue, int properties)