Package net.sf.saxon.style
Class XSLVariable
- java.lang.Object
-
- All Implemented Interfaces:
javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,LocationProvider
,SaxonLocator
,Container
,VariableDeclaration
,FingerprintedNode
,Item
,NodeInfo
,ValueRepresentation
,StylesheetProcedure
,InstructionInfo
,org.xml.sax.Locator
public class XSLVariable extends XSLVariableDeclaration
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 net.sf.saxon.style.XSLVariableDeclaration
references
-
Fields inherited from class net.sf.saxon.style.XSLGeneralVariable
assignable, constantText, global, implicitlyRequiredParam, redundant, requiredParam, requiredType, select, slotManager, tunnel
-
Fields inherited from class net.sf.saxon.style.StyleElement
defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, 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
-
Fields inherited from class net.sf.saxon.tree.ParentNodeImpl
sequence
-
Fields inherited from class net.sf.saxon.tree.NodeImpl
index, NODE_LETTER, parent
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
-
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
-
-
Constructor Summary
Constructors Constructor Description XSLVariable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
compile(Executable exec)
Compile: used only for global variables.Expression
compileLocalVariable(Executable exec)
SequenceType
getRequiredType()
Get the static type of the variable.boolean
isInstruction()
Determine whether this node is an instruction.void
prepareAttributes()
Set the attribute list for the element.-
Methods inherited from class net.sf.saxon.style.XSLVariableDeclaration
fixupBinding, fixupReferences, getReferenceList, getReferences, getSlotManager, getSlotNumber, registerReference, setReferenceCount, setSlotNumber, validate
-
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
allowsAsAttribute, allowsRequired, allowsTunnelAttribute, allowsValue, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableFingerprint, getVariableName, initializeInstruction, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, setRedundant
-
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree
-
Methods inherited from class net.sf.saxon.tree.ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarations
-
Methods inherited from class net.sf.saxon.tree.ElementImpl
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemId
-
Methods inherited from class net.sf.saxon.tree.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, useChildrenArray
-
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getSystemId
-
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getPublicId, getSystemId
-
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getNameCode, getVariableName
-
-
-
-
Method Detail
-
prepareAttributes
public void prepareAttributes() throws XPathException
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- Overrides:
prepareAttributes
in classXSLGeneralVariable
- Throws:
XPathException
-
isInstruction
public boolean isInstruction()
Determine whether this node is an instruction.- Overrides:
isInstruction
in classXSLVariableDeclaration
- Returns:
- true - it is an instruction (well, it can be, anyway)
-
getRequiredType
public SequenceType getRequiredType()
Get the static type of the variable. This is the declared type, unless the value is statically known and constant, in which case it is the actual type of the value.- Specified by:
getRequiredType
in classXSLVariableDeclaration
-
compile
public Expression compile(Executable exec) throws XPathException
Compile: used only for global variables. This method ensures space is available for local variables declared within this global variable- Specified by:
compile
in classStyleElement
- Returns:
- either a ComputedExpression, or null. The value null is returned when compiling an instruction that returns a no-op, or when compiling a top-level object such as an xsl:template that compiles into something other than an instruction.
- Throws:
XPathException
-
compileLocalVariable
public Expression compileLocalVariable(Executable exec) throws XPathException
- Throws:
XPathException
-
-