Class XSLGeneralVariable
- All Implemented Interfaces:
NodeInfo, DOMLocator, Source, SourceLocator, Element, NamedNodeMap, Node, Locator
- Direct Known Subclasses:
SAXONAssign, SAXONReturn, SQLColumn, XSLParam, XSLVariable, XSLWithParam
This class defines common behaviour across xsl:variable, xsl:param, and xsl:with-param
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected booleanprotected Procedureprotected booleanprotected Expressionprotected Stringprotected intFields inherited from class StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, versionFields inherited from class ElementWithAttributes
attributeList, namespaceListFields inherited from class ElementImpl
nameCode, rootFields inherited from class ParentNodeImpl
sequenceFields inherited from class NodeImpl
emptyArray, index, parentFields inherited from class AbstractNode
NODE_LETTERFields inherited from interface 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidCheck whether this declaration duplicates another oneGet the owning Procedure definition, if this is a local variableGet associated Procedure (for details of stack frame, if this is a global variable containing local variable declarations)protected ValuegetSelectValue(Context context) Get the value of the select expression if present or the content of the element otherwiseintGet the fingerprint of the variable nameGet the display name of the variable.booleanTest whether it is permitted to assign to the variable using the saxon:assign extension element.booleanisGlobal()booleanDetermine whether this type of element is allowed to contain a template-bodyvoidSet the attribute list for the element.voidPreprocess: this ensures space is available for local variables declared within this global variablevoidvalidate()Check that the element is valid.Methods inherited from class 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, isInstruction, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, process, processAllAttributes, processAttributes, processAttributeSets, processChildren, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, validateChildren, validateSubtreeMethods inherited from class 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, setNamespaceDeclarationsMethods inherited from class ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemIdMethods inherited from class ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArrayMethods inherited from class NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNodeMethods inherited from class 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, supportsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNSMethods inherited from interface Locator
getColumnNumber, getLineNumber, getPublicId, getSystemIdMethods inherited from interface 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
-
Field Details
-
variableFingerprint
protected int variableFingerprint -
select
-
simpleText
-
global
protected boolean global -
procedure
-
assignable
protected boolean assignable -
redundant
protected boolean redundant
-
-
Constructor Details
-
XSLGeneralVariable
public XSLGeneralVariable()
-
-
Method Details
-
mayContainTemplateBody
public boolean mayContainTemplateBody()Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainTemplateBodyin classStyleElement- Returns:
- true: yes, it may contain a template-body
-
isGlobal
public boolean isGlobal() -
isAssignable
public boolean isAssignable()Test whether it is permitted to assign to the variable using the saxon:assign extension element. This will only be true if the extra attribute saxon:assignable="yes" is present. -
getOwningProcedure
Get the owning Procedure definition, if this is a local variable -
preprocess
Preprocess: this ensures space is available for local variables declared within this global variable- Overrides:
preprocessin classStyleElement- Throws:
TransformerConfigurationException
-
getVariableName
Get the display name of the variable. -
getVariableFingerprint
public int getVariableFingerprint()Get the fingerprint of the variable name -
prepareAttributes
Description copied from class:StyleElementSet the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass- Specified by:
prepareAttributesin classStyleElement- Throws:
TransformerConfigurationException
-
validate
Description copied from class:StyleElementCheck that the element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.- Overrides:
validatein classStyleElement- Throws:
TransformerConfigurationException
-
checkDuplicateDeclaration
Check whether this declaration duplicates another one -
getSelectValue
Get the value of the select expression if present or the content of the element otherwise- Throws:
TransformerException
-
getProcedure
Get associated Procedure (for details of stack frame, if this is a global variable containing local variable declarations)
-