net.sf.saxon.style
Class XSLVariable

java.lang.Object
  extended by net.sf.saxon.tree.NodeImpl
      extended by net.sf.saxon.tree.ParentNodeImpl
          extended by net.sf.saxon.tree.ElementImpl
              extended by net.sf.saxon.style.StyleElement
                  extended by net.sf.saxon.style.XSLGeneralVariable
                      extended by net.sf.saxon.style.XSLVariableDeclaration
                          extended by net.sf.saxon.style.XSLVariable
All Implemented Interfaces:
Serializable, Source, SourceLocator, LocationProvider, SaxonLocator, PullEvent, Container, VariableDeclaration, FingerprintedNode, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, SiblingCountingNode, ValueRepresentation, StylesheetProcedure, InstructionInfo, 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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.style.XSLVariableDeclaration
references
 
Fields inherited from class net.sf.saxon.style.XSLGeneralVariable
assignable, compiledVariable, 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.ElementImpl
attributeList, nameCode, namespaceList, typeCode
 
Fields inherited from class net.sf.saxon.tree.ParentNodeImpl
children, 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
 
Constructor Summary
XSLVariable()
           
 
Method Summary
 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, getCompiledVariable, getSlotManager, getSlotNumber, index, optimize, registerReference, setReferenceCount, setSlotNumber, validate
 
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
allowsAsAttribute, allowsRequired, allowsTunnelAttribute, allowsValue, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableDisplayName, getVariableQName, initializeInstruction, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, postValidate, setRedundant
 
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAllStylesheetFunctions, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getContainerGranularity, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainParam, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processStandardAttributes, processVersionAttribute, replaceSubExpression, reportAbsence, seesAvuncularVariables, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree
 
Methods inherited from class net.sf.saxon.tree.ElementImpl
addAttribute, addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getInScopeNamespaceCodes, getLineNumber, getNameCode, getNodeKind, getPrefixForURI, getRoot, getSystemId, getTypeAnnotation, getURICodeForPrefix, getURICodeForPrefixCode, getURIForPrefix, initialise, isId, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setLineAndColumn, setLocation, setNameCode, setNamespaceDeclarations, setSystemId, setTypeAnnotation
 
Methods inherited from class net.sf.saxon.tree.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, useChildrenArray
 
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getSiblingPosition, getTypedValue, getURI, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getVariableQName
 
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getLineNumber, getSystemId
 
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicId
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getPublicId
 
Methods inherited from interface net.sf.saxon.om.NodeInfo
hashCode
 

Constructor Detail

XSLVariable

public XSLVariable()
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 class XSLGeneralVariable
Throws:
XPathException

isInstruction

public boolean isInstruction()
Determine whether this node is an instruction.

Overrides:
isInstruction in class XSLVariableDeclaration
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 class XSLVariableDeclaration
Returns:
the static type declared for the variable

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 class StyleElement
Parameters:
exec - the Executable
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