net.sf.saxon.style
Class XSLVariableDeclaration
java.lang.Object
net.sf.saxon.tree.NodeImpl
net.sf.saxon.tree.ParentNodeImpl
net.sf.saxon.tree.ElementImpl
net.sf.saxon.style.StyleElement
net.sf.saxon.style.XSLGeneralVariable
net.sf.saxon.style.XSLVariableDeclaration
- All Implemented Interfaces:
- java.io.Serializable, javax.xml.transform.Source, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, PullEvent, Container, VariableDeclaration, FingerprintedNode, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, SiblingCountingNode, ValueRepresentation, StylesheetProcedure, InstructionInfo, org.xml.sax.Locator
- Direct Known Subclasses:
- XSLParam, XSLVariable
public abstract class XSLVariableDeclaration
- extends XSLGeneralVariable
- implements VariableDeclaration, StylesheetProcedure
Generic class for xsl:variable and xsl:param elements.
- See Also:
- Serialized Form
Fields inherited from class net.sf.saxon.style.StyleElement |
defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version |
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable |
allowsAsAttribute, allowsRequired, allowsTunnelAttribute, allowsValue, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableDisplayName, getVariableQName, initializeInstruction, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, prepareAttributes, setRedundant |
Methods inherited from class net.sf.saxon.style.StyleElement |
allocateLocationId, allocatePatternSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compile, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAllStylesheetFunctions, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainParam, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree |
Methods inherited from class net.sf.saxon.tree.ElementImpl |
addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getInScopeNamespaceCodes, getLineNumber, getNameCode, getNodeKind, getPrefixForURI, getRoot, getSystemId, getTypeAnnotation, getURICodeForPrefix, getURICodeForPrefixCode, getURIForPrefix, initialise, isNilled, iteratePrefixes, putAttribute, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setLineAndColumn, setLocation, setNameCode, setNamespaceDeclarations, setSystemId, setTypeAnnotation |
Methods inherited from class net.sf.saxon.tree.ParentNodeImpl |
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, useChildrenArray |
Methods inherited from class net.sf.saxon.tree.NodeImpl |
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getSiblingPosition, getTypedValue, getURI, insertSiblings, isId, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.xml.sax.Locator |
getColumnNumber, getPublicId |
Methods inherited from interface javax.xml.transform.SourceLocator |
getColumnNumber, getPublicId |
references
protected java.util.List references
XSLVariableDeclaration
public XSLVariableDeclaration()
getSlotManager
public SlotManager getSlotManager()
- Get the SlotManager associated with this stylesheet construct. The SlotManager contains the
information needed to manage the local stack frames used by run-time instances of the code.
- Specified by:
getSlotManager
in interface StylesheetProcedure
- Returns:
- the associated SlotManager object
getSlotNumber
public int getSlotNumber()
- Get the slot number allocated to this variable (its position in the stackframe)
- Returns:
- the allocated slot number
setSlotNumber
public void setSlotNumber(int slot)
- Allocate a slot number to this variable
- Parameters:
slot
- the position of the variable on the local stack frame
getRequiredType
public abstract SequenceType getRequiredType()
- Get the static type of the variable.
- Returns:
- the static type declared for the variable
registerReference
public void registerReference(BindingReference ref)
- Method called by VariableReference to register the variable reference for
subsequent fixup
- Specified by:
registerReference
in interface VariableDeclaration
- Parameters:
ref
- the variable reference
isInstruction
public boolean isInstruction()
- Determine whether this node is an instruction.
- Overrides:
isInstruction
in class StyleElement
- Returns:
- true - it is an instruction (well, it can be, anyway)
fixupReferences
public void fixupReferences()
throws XPathException
- Notify all references to this variable of the data type
- Overrides:
fixupReferences
in class StyleElement
- Throws:
XPathException
validate
public void validate()
throws XPathException
- Check that the variable is not already declared, and allocate a slot number
- Overrides:
validate
in class XSLGeneralVariable
- Throws:
XPathException
fixupBinding
protected void fixupBinding(Binding binding)
- Notify all variable references of the Binding instruction
- Parameters:
binding
- the Binding that represents this variable declaration in the executable code tree
setReferenceCount
protected void setReferenceCount(GeneralVariable var)
- Set the number of references to this variable. This code is invoked only for a global variable,
and only if there is at least one reference.
- Overrides:
setReferenceCount
in class XSLGeneralVariable
- Parameters:
var
- the variable