Package com.icl.saxon.style
Class XSLGeneralVariable
- java.lang.Object
-
- All Implemented Interfaces:
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
- Direct Known Subclasses:
SAXONAssign
,SAXONReturn
,SQLColumn
,XSLParam
,XSLVariable
,XSLWithParam
public abstract class XSLGeneralVariable extends StyleElement
This class defines common behaviour across xsl:variable, xsl:param, and xsl:with-param
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
assignable
protected boolean
global
protected Procedure
procedure
protected boolean
redundant
protected Expression
select
protected java.lang.String
simpleText
protected int
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 XSLGeneralVariable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkDuplicateDeclaration()
Check whether this declaration duplicates another oneProcedure
getOwningProcedure()
Get the owning Procedure definition, if this is a local variableProcedure
getProcedure()
Get associated Procedure (for details of stack frame, if this is a global variable containing local variable declarations)protected Value
getSelectValue(Context context)
Get the value of the select expression if present or the content of the element otherwiseint
getVariableFingerprint()
Get the fingerprint of the variable namejava.lang.String
getVariableName()
Get the display name of the variable.boolean
isAssignable()
Test whether it is permitted to assign to the variable using the saxon:assign extension element.boolean
isGlobal()
boolean
mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-bodyvoid
prepareAttributes()
Set the attribute list for the element.void
preprocess()
Preprocess: this ensures space is available for local variables declared within this global variablevoid
validate()
Check that the element is valid.-
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, isInstruction, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, process, 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 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
-
-
-
-
Field Detail
-
variableFingerprint
protected int variableFingerprint
-
select
protected Expression select
-
simpleText
protected java.lang.String simpleText
-
global
protected boolean global
-
procedure
protected Procedure procedure
-
assignable
protected boolean assignable
-
redundant
protected boolean redundant
-
-
Method Detail
-
mayContainTemplateBody
public boolean mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainTemplateBody
in 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
public Procedure getOwningProcedure() throws javax.xml.transform.TransformerConfigurationException
Get the owning Procedure definition, if this is a local variable- Throws:
javax.xml.transform.TransformerConfigurationException
-
preprocess
public void preprocess() throws javax.xml.transform.TransformerConfigurationException
Preprocess: this ensures space is available for local variables declared within this global variable- Overrides:
preprocess
in classStyleElement
- Throws:
javax.xml.transform.TransformerConfigurationException
-
getVariableName
public java.lang.String getVariableName()
Get the display name of the variable.
-
getVariableFingerprint
public int getVariableFingerprint()
Get the fingerprint of the variable name
-
prepareAttributes
public void prepareAttributes() throws javax.xml.transform.TransformerConfigurationException
Description copied from class:StyleElement
Set 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:
prepareAttributes
in classStyleElement
- Throws:
javax.xml.transform.TransformerConfigurationException
-
validate
public void validate() throws javax.xml.transform.TransformerConfigurationException
Description copied from class:StyleElement
Check 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:
validate
in classStyleElement
- Throws:
javax.xml.transform.TransformerConfigurationException
-
checkDuplicateDeclaration
public void checkDuplicateDeclaration() throws javax.xml.transform.TransformerConfigurationException
Check whether this declaration duplicates another one- Throws:
javax.xml.transform.TransformerConfigurationException
-
getSelectValue
protected Value getSelectValue(Context context) throws javax.xml.transform.TransformerException
Get the value of the select expression if present or the content of the element otherwise- Throws:
javax.xml.transform.TransformerException
-
getProcedure
public Procedure getProcedure()
Get associated Procedure (for details of stack frame, if this is a global variable containing local variable declarations)
-
-