com.icl.saxon.style
Class XSLVariable

java.lang.Object
  extended by com.icl.saxon.om.AbstractNode
      extended by com.icl.saxon.tree.NodeImpl
          extended by com.icl.saxon.tree.ParentNodeImpl
              extended by com.icl.saxon.tree.ElementImpl
                  extended by com.icl.saxon.tree.ElementWithAttributes
                      extended by com.icl.saxon.style.StyleElement
                          extended by com.icl.saxon.style.XSLGeneralVariable
                              extended by com.icl.saxon.style.XSLVariable
All Implemented Interfaces:
Binding, NodeInfo, DOMLocator, Source, SourceLocator, Element, NamedNodeMap, Node, Locator

public class XSLVariable
extends XSLGeneralVariable
implements Binding

Handler for xsl:variable elements in stylesheet.
The xsl:variable element has mandatory attribute name and optional attribute select


Field Summary
 
Fields inherited from class com.icl.saxon.style.XSLGeneralVariable
assignable, global, procedure, redundant, select, simpleText, variableFingerprint
 
Fields inherited from class com.icl.saxon.style.StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
 
Fields inherited from class com.icl.saxon.tree.ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class com.icl.saxon.tree.ElementImpl
nameCode, root
 
Fields inherited from class com.icl.saxon.tree.ParentNodeImpl
sequence
 
Fields inherited from class com.icl.saxon.tree.NodeImpl
emptyArray, index, parent
 
Fields inherited from class com.icl.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_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface com.icl.saxon.om.NodeInfo
ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT
 
Constructor Summary
XSLVariable()
           
 
Method Summary
 Value constantValue()
          Get the value, if known statically.
 int getDataType()
          Get the data type, if known statically.
 int getSlotNumber()
          Determine a slot number for the variable.
 boolean isInstruction()
          Determine whether this node is an instruction.
 void process(Context context)
          Process the variable declaration
 void validate()
          Check that the variable is not already declared, and allocate a slot number
 
Methods inherited from class com.icl.saxon.style.XSLGeneralVariable
checkDuplicateDeclaration, getOwningProcedure, getProcedure, getSelectValue, getVariableFingerprint, getVariableName, isAssignable, isGlobal, mayContainTemplateBody, prepareAttributes, preprocess
 
Methods inherited from class com.icl.saxon.style.StyleElement
bindVariable, checkEmpty, checkNotTopLevel, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, definesExcludedNamespace, definesExtensionElement, doesPostProcessing, fallbackProcessing, findAttributeSets, forwardsCompatibleModeIsEnabled, getContainingStyleSheet, getPrecedence, getPreparedStyleSheet, getPrincipalStyleSheet, getStandardNames, getStyleSheetFunction, getVariableBinding, getVariableNames, getVersion, handleSortKeys, isExcludedNamespace, isExtensionNamespace, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, processAllAttributes, processAttributes, processAttributeSets, processChildren, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, validateChildren, validateSubtree
 
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getAttributeValue, 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 com.icl.saxon.tree.ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemId
 
Methods inherited from class com.icl.saxon.tree.ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArray
 
Methods inherited from class com.icl.saxon.tree.NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNode
 
Methods inherited from class com.icl.saxon.om.AbstractNode
appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getUserData, getValue, getWholeText, importNode, insertBefore, insertData, isDefaultNamespace, isElementContentWhitespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, replaceData, replaceWholeText, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setUserData, 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 com.icl.saxon.Binding
getVariableFingerprint, getVariableName, isAssignable, isGlobal
 
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

XSLVariable

public XSLVariable()
Method Detail

getSlotNumber

public int getSlotNumber()
Description copied from interface: Binding
Determine a slot number for the variable.

Specified by:
getSlotNumber in interface Binding

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)

validate

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

Overrides:
validate in class XSLGeneralVariable
Throws:
TransformerConfigurationException

getDataType

public int getDataType()
Get the data type, if known statically.

Specified by:
getDataType in interface Binding
Returns:
the data type if known

constantValue

public Value constantValue()
Get the value, if known statically.

Specified by:
constantValue in interface Binding
Returns:
the value if known in advance, or null if not.

process

public void process(Context context)
             throws TransformerException
Process the variable declaration

Specified by:
process in class StyleElement
Parameters:
context - The context in the source XML document, giving access to the current node, the current variables, etc.
Throws:
TransformerException