net.sf.saxon.style
Class XSLVariableDeclaration

java.lang.Object
  |
  +--net.sf.saxon.om.AbstractNode
        |
        +--net.sf.saxon.tree.NodeImpl
              |
              +--net.sf.saxon.tree.ParentNodeImpl
                    |
                    +--net.sf.saxon.tree.ElementImpl
                          |
                          +--net.sf.saxon.tree.ElementWithAttributes
                                |
                                +--net.sf.saxon.style.StyleElement
                                      |
                                      +--net.sf.saxon.style.XSLGeneralVariable
                                            |
                                            +--net.sf.saxon.style.XSLVariableDeclaration
All Implemented Interfaces:
javax.xml.transform.dom.DOMLocator, org.w3c.dom.Element, Item, org.xml.sax.Locator, org.w3c.dom.NamedNodeMap, org.w3c.dom.Node, NodeInfo, javax.xml.transform.Source, javax.xml.transform.SourceLocator, VariableDeclaration
Direct Known Subclasses:
XSLParam, XSLVariable

public abstract class XSLVariableDeclaration
extends XSLGeneralVariable
implements VariableDeclaration

Generic class for xsl:variable and xsl:param elements.


Field Summary
 
Fields inherited from class net.sf.saxon.style.XSLGeneralVariable
assignable, constantText, global, procedure, redundant, requiredParam, requiredType, select, tunnel, variableFingerprint
 
Fields inherited from class net.sf.saxon.style.StyleElement
defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
 
Fields inherited from class net.sf.saxon.tree.ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class net.sf.saxon.tree.ElementImpl
nameCode, root, sequence
 
Fields inherited from class net.sf.saxon.tree.NodeImpl
index, parent
 
Fields inherited from class net.sf.saxon.om.AbstractNode
NODE_LETTER
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, LOCAL_NAMESPACES, NO_NAMESPACES
 
Constructor Summary
XSLVariableDeclaration()
           
 
Method Summary
protected  void fixupBinding(Binding binding)
          Notify all variable references of the Binding instruction
 void fixupReferences()
          Notify all references to this variable of the data type
abstract  SequenceType getRequiredType()
          Get the static type of the variable.
 int getSlotNumber()
           
 boolean isInstruction()
          Determine whether this node is an instruction.
 void registerReference(BindingReference ref)
          Method called by VariableReference to register the variable reference for subsequent fixup
 void validate()
          Check that the variable is not already declared, and allocate a slot number
 
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
allowsAsAttribute, allowsNameAttribute, allowsRequired, allowsTunnelAttribute, allowsValue, checkAgainstRequiredType, getProcedure, getReturnedItemType, getSelectExpression, getVariableFingerprint, getVariableName, initializeInstruction, isAssignable, isTunnelParam, mayContainTemplateBody, prepareAttributes, setRedundant, setSelectExpression
 
Methods inherited from class net.sf.saxon.style.StyleElement
allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compile, compileChildren, compileError, compileError, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getConfiguration, getContainingStyleSheet, getContextItemType, getDefaultXPathNamespace, getLastChildInstruction, getLineNumber, getOwningProcedure, getPrecedence, getPreparedStyleSheet, getPrincipalStyleSheet, getSchemaType, getStyleSheetFunction, getTargetNamePool, getTypeAnnotation, getURIForPrefix, getVariableBinding, getVersion, getWithParamInstructions, isExcludedNamespace, isExtensionNamespace, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setLineNumber, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree
 
Methods inherited from class net.sf.saxon.tree.ElementWithAttributes
addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations
 
Methods inherited from class net.sf.saxon.tree.ElementImpl
addChild, compact, enumerateChildren, generateId, getBaseURI, getDocumentRoot, getFirstChild, getLastChild, getNameCode, getNodeKind, getNodeValue, getNthChild, getRoot, getSequenceNumber, getStringValue, getSystemId, hasChildNodes, setNameCode, setSystemId, useChildrenArray
 
Methods inherited from class net.sf.saxon.tree.NodeImpl
compareOrder, copy, getDisplayName, getDocumentElement, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNode, iterateAxis, iterateAxis
 
Methods inherited from class net.sf.saxon.om.AbstractNode
appendChild, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getChildNodes, getColumnNumber, getData, getDoctype, getDocumentNumber, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getLocalName, getName, getNamespaceURI, getNodeName, getNodeType, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSpecified, getTagName, getTypeAnnotation, getTypedValue, getValue, importNode, insertBefore, insertData, isSupported, normalize, removeChild, replaceChild, replaceData, setData, setNodeValue, setPrefix, setValue, splitText, substringData, supports
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getVariableFingerprint, getVariableName
 
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicId, getSystemId
 
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getTagName
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 

Constructor Detail

XSLVariableDeclaration

public XSLVariableDeclaration()
Method Detail

getSlotNumber

public int getSlotNumber()

getRequiredType

public abstract SequenceType getRequiredType()
Get the static type of 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

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 javax.xml.transform.TransformerConfigurationException
Notify all references to this variable of the data type

Overrides:
fixupReferences in class StyleElement
javax.xml.transform.TransformerConfigurationException

validate

public void validate()
              throws javax.xml.transform.TransformerConfigurationException
Check that the variable is not already declared, and allocate a slot number

Overrides:
validate in class XSLGeneralVariable
javax.xml.transform.TransformerConfigurationException

fixupBinding

protected void fixupBinding(Binding binding)
Notify all variable references of the Binding instruction