net.sf.saxon.style
public abstract class XSLGeneralVariable extends StyleElement
Field Summary | |
---|---|
protected boolean | assignable |
protected GeneralVariable | compiledVariable |
protected String | constantText |
protected boolean | global |
protected boolean | implicitlyRequiredParam |
protected boolean | redundant |
protected boolean | requiredParam |
protected SequenceType | requiredType |
protected Expression | select |
protected SlotManager | slotManager |
protected boolean | tunnel |
Method Summary | |
---|---|
protected boolean | allowsAsAttribute() |
protected boolean | allowsRequired() |
protected boolean | allowsTunnelAttribute() |
protected boolean | allowsValue() |
void | checkAgainstRequiredType(SequenceType required)
Check the supplied select expression against the required type. |
int | getConstructType()
Get the type of construct. |
protected ItemType | getReturnedItemType()
Determine the type of item returned by this instruction (only relevant if
it is an instruction). |
String | getVariableDisplayName()
Get the display name of the variable. |
StructuredQName | getVariableQName()
Get the QName of the variable |
protected void | initializeInstruction(Executable exec, GeneralVariable var)
Initialize - common code called from the compile() method of all subclasses |
boolean | isAssignable()
Test whether it is permitted to assign to the variable using the saxon:assign
extension element. |
boolean | isGlobal()
Test whether this is a global variable or parameter |
boolean | isRequiredParam()
Test whether this is a required parameter (required="yes") |
boolean | isTunnelParam()
Test whether this is a tunnel parameter (tunnel="yes") |
boolean | mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body |
void | postValidate()
Hook to allow additional validation of a parent element immediately after its
children have been validated. |
void | prepareAttributes() |
void | setRedundant()
Mark this global variable as redundant. |
protected void | setReferenceCount(GeneralVariable var) |
void | validate() |
Parameters: required The type required by the variable declaration, or in the case of xsl:with-param, the signature of the called template
Returns: the item type returned. This is null for a variable: we are not interested in the type of the variable, but in what the xsl:variable constributes to the result of the sequence constructor it is part of.
Returns: the lexical QName
Returns: the name as a structured QName, or a dummy name if the variable has no name attribute or has an invalid name attribute
Parameters: exec the executable var the representation of the variable declaration in the compiled executable
Returns: true if the extra attribute saxon:assignable="yes" is present.
Returns: true if this is global
Returns: true if this is a required parameter
Returns: true if this is a tunnel parameter
Returns: true: yes, it may contain a template-body