Package com.icl.saxon.style
Class XSLVariable
- java.lang.Object
-
- All Implemented Interfaces:
Binding,NodeInfo,javax.xml.transform.dom.DOMLocator,javax.xml.transform.Source,javax.xml.transform.SourceLocator,org.w3c.dom.Element,org.w3c.dom.NamedNodeMap,org.w3c.dom.Node,org.xml.sax.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
-
-
Constructor Summary
Constructors Constructor Description XSLVariable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValueconstantValue()Get the value, if known statically.intgetDataType()Get the data type, if known statically.intgetSlotNumber()Determine a slot number for the variable.booleanisInstruction()Determine whether this node is an instruction.voidprocess(Context context)Process the variable declarationvoidvalidate()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.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
-
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
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
-
-
-
-
Method Detail
-
getSlotNumber
public int getSlotNumber()
Description copied from interface:BindingDetermine a slot number for the variable.- Specified by:
getSlotNumberin interfaceBinding
-
isInstruction
public boolean isInstruction()
Determine whether this node is an instruction.- Overrides:
isInstructionin classStyleElement- Returns:
- true - it is an instruction (well, it can be, anyway)
-
validate
public void validate() throws javax.xml.transform.TransformerConfigurationExceptionCheck that the variable is not already declared, and allocate a slot number- Overrides:
validatein classXSLGeneralVariable- Throws:
javax.xml.transform.TransformerConfigurationException
-
getDataType
public int getDataType()
Get the data type, if known statically.- Specified by:
getDataTypein interfaceBinding- Returns:
- the data type if known
-
constantValue
public Value constantValue()
Get the value, if known statically.- Specified by:
constantValuein interfaceBinding- Returns:
- the value if known in advance, or null if not.
-
process
public void process(Context context) throws javax.xml.transform.TransformerException
Process the variable declaration- Specified by:
processin classStyleElement- Parameters:
context- The context in the source XML document, giving access to the current node, the current variables, etc.- Throws:
javax.xml.transform.TransformerException
-
-