public class XSLGlobalVariable extends StyleElement implements StylesheetComponent
The xsl:variable element has mandatory attribute name and
optional attribute select (inter alia)
StyleElement.OnFailure| Modifier and Type | Field and Description |
|---|---|
protected GlobalVariable |
compiledVariable |
protected boolean |
redundant |
protected SourceBinding |
sourceBinding |
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultMode, defaultXPathNamespace, expandText, extensionNamespaces, reportingCircumstances, staticContext, validationError, versionNODE_LETTERIS_DTD_TYPE, IS_NILLED| Constructor and Description |
|---|
XSLGlobalVariable() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkCompatibility(Component component)
Check the compatibility of this component with another component that it is overriding
|
void |
compileDeclaration(Compilation compilation,
ComponentDeclaration decl)
Compile.
|
void |
fixupReferences()
Fix up references from XPath expressions.
|
void |
generateByteCode(Optimizer opt)
Generate byte code if appropriate
|
Actor |
getActor()
Get the corresponding Procedure object that results from the compilation of this
StylesheetProcedure
|
SourceBinding |
getBindingInformation(StructuredQName name)
Ask whether this element contains a binding for a variable with a given name; and if it does,
return the source binding information
|
GlobalVariable |
getCompiledVariable() |
StructuredQName |
getObjectName()
Get a name identifying the object of the expression, for example a function name, template name,
variable name, key name, element name, etc.
|
protected java.util.EnumSet<SourceBinding.BindingProperty> |
getPermittedAttributes() |
SequenceType |
getRequiredType()
Get the static type of the variable.
|
SlotManager |
getSlotManager()
Get the SlotManager associated with this stylesheet construct.
|
SourceBinding |
getSourceBinding()
Get the source binding object that holds information about the declared variable.
|
SymbolicName |
getSymbolicName()
Get the symbolic name of the component, that is, the combination of the component kind and
the qualified name
|
StructuredQName |
getVariableQName() |
void |
index(ComponentDeclaration decl,
PrincipalStylesheetModule top)
Method supplied by declaration elements to add themselves to a stylesheet-level index
|
protected void |
initializeBinding(GlobalVariable var)
Initialize - common code called from the compile() method of all subclasses
|
boolean |
isAssignable()
Ask whether the global variable is declared with assignable="yes"
|
boolean |
isDeclaration()
Determine whether this node is a declaration.
|
boolean |
isGlobal()
Test whether this is a global variable or parameter
|
boolean |
isInstruction()
Determine whether this node is an instruction.
|
boolean |
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body
|
void |
optimize(ComponentDeclaration declaration)
Optimize the stylesheet construct
|
void |
postValidate()
Hook to allow additional validation of a parent element immediately after its
children have been validated.
|
void |
prepareAttributes()
Set the attribute list for the element.
|
void |
setRedundant(boolean redundant)
Mark this global variable as redundant, typically because it is overridden by another global
variable of the same name, or because there are no references to it
|
void |
validate(ComponentDeclaration decl)
Check that the stylesheet element is valid.
|
allocateLocation, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compile, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, compileWarning, compileWarning, generateId, getAttributeValue, getBaseURI, getCompilation, getConfiguration, getContainingPackage, getContainingSlotManager, getDeclaredVisibility, getDefaultCollationName, getDefaultXPathNamespace, getNamespaceResolver, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getVisibility, getWithParamInstructions, getXslOriginal, hasImplicitBinding, invalidAttribute, isExtensionAttributeAllowed, isExtensionNamespace, isPermittedChild, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, markTailCalls, mayContainFallback, mayContainParam, processAllAttributes, processBooleanAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, requireSyntaxExtensions, seesAvuncularVariables, setCompilation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree, validateValidationAttributeaddAttribute, addNamespace, addNamespace, attributes, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, getColumnNumber, getDeclaredNamespaces, getLineNumber, getNodeKind, getNodeName, getRoot, getSchemaType, getSystemId, getURIForPrefix, initialise, isId, isIdref, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeNamespace, removeTypeAnnotation, rename, replaceStringValue, setAttributeInfo, setAttributes, setLocation, setNamespaceMap, setNilled, setNodeName, setSystemId, setTypeAnnotationaddChild, children, compact, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, iterateChildren, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumberatomize, compareOrder, effectiveBooleanValue, equals, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, getURI, hasFingerprint, head, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, replace, saveLocation, setRawParent, setSiblingPositionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchildren, equals, getGenre, getPublicId, hashCode, isSameNodeInfo, isStreamed, toShortStringgetLength, itemAt, iterate, reduce, subsequence, toGroundedValueasIterable, concatenate, containsNode, materializemakeRepeatableprotected SourceBinding sourceBinding
protected GlobalVariable compiledVariable
protected boolean redundant
public SourceBinding getSourceBinding()
public StructuredQName getVariableQName()
public StructuredQName getObjectName()
StyleElementgetObjectName in class StyleElementpublic boolean mayContainSequenceConstructor()
mayContainSequenceConstructor in class StyleElementpublic boolean isGlobal()
public void postValidate()
throws XPathException
postValidate in class StyleElementXPathException - if any error is found during post-traversal validationpublic GlobalVariable getCompiledVariable()
protected java.util.EnumSet<SourceBinding.BindingProperty> getPermittedAttributes()
public Actor getActor() throws XPathException
getActor in interface StylesheetComponentXPathException - if generating the ComponentBody failspublic SymbolicName getSymbolicName()
StylesheetComponentgetSymbolicName in interface StylesheetComponentpublic void checkCompatibility(Component component)
StylesheetComponentcheckCompatibility in interface StylesheetComponentcomponent - the overridden componentpublic SourceBinding getBindingInformation(StructuredQName name)
getBindingInformation in class StyleElementname - the variable namepublic void prepareAttributes()
StyleElementprepareAttributes in class StyleElementpublic void index(ComponentDeclaration decl, PrincipalStylesheetModule top) throws XPathException
StyleElementindex in class StyleElementdecl - the Declaration being indexed. (This corresponds to the StyleElement object
except in cases where one module is imported several times with different precedence.)top - represents the outermost XSLStylesheet or XSLPackage elementXPathException - if any error is encounteredpublic void validate(ComponentDeclaration decl) throws XPathException
StyleElementvalidate in class StyleElementdecl - the declaration to be validatedXPathException - if any error is found during validationpublic boolean isAssignable()
public boolean isDeclaration()
isDeclaration in class StyleElementpublic boolean isInstruction()
isInstruction in class StyleElementpublic SequenceType getRequiredType()
public void fixupReferences()
throws XPathException
StyleElementfixupReferences in class StyleElementXPathException - if any references cannot be fixed up.public void compileDeclaration(Compilation compilation, ComponentDeclaration decl) throws XPathException
compileDeclaration in class StyleElementcompilation - the compilation episodedecl - the containing top-level declaration, for example xsl:function or xsl:templateXPathException - if compilation failsprotected void initializeBinding(GlobalVariable var)
var - the representation of the variable declaration in the compiled executablepublic SlotManager getSlotManager()
getSlotManager in interface StylesheetComponentpublic void optimize(ComponentDeclaration declaration) throws XPathException
optimize in interface StylesheetComponentdeclaration - the declaration of this variableXPathExceptionpublic void setRedundant(boolean redundant)
redundant - true if this variable is redundant, otherwise falsepublic void generateByteCode(Optimizer opt)
generateByteCode in interface StylesheetComponentopt - the optimizerCopyright (c) 2004-2020 Saxonica Limited.