Package net.sf.saxon.style
Class XSLGeneralVariable
- java.lang.Object
-
- net.sf.saxon.tree.linked.NodeImpl
-
- net.sf.saxon.tree.linked.ParentNodeImpl
-
- net.sf.saxon.tree.linked.ElementImpl
-
- net.sf.saxon.style.StyleElement
-
- net.sf.saxon.style.XSLGeneralVariable
-
- All Implemented Interfaces:
javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,ActiveSource
,GroundedValue
,Item
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,Sequence
,Location
,SteppingNode
,SiblingCountingNode
,org.xml.sax.Locator
- Direct Known Subclasses:
SaxonAssign
,XSLLocalParam
,XSLLocalVariable
,XSLWithParam
public abstract class XSLGeneralVariable extends StyleElement
This class defines common behaviour across xsl:variable, xsl:param, and xsl:with-param
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.saxon.style.StyleElement
StyleElement.OnFailure
-
-
Field Summary
Fields Modifier and Type Field Description protected SourceBinding
sourceBinding
-
Fields inherited from class net.sf.saxon.style.StyleElement
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultMode, defaultXPathNamespace, expandText, extensionNamespaces, reportingCircumstances, staticContext, validationError, version, YES_NO
-
Fields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER
-
-
Constructor Summary
Constructors Constructor Description XSLGeneralVariable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StructuredQName
getObjectName()
Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.SourceBinding
getSourceBinding()
Get the source binding object that holds information about the declared variable.StructuredQName
getVariableQName()
boolean
isGlobal()
Test whether this is a global variable or parameterprotected boolean
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-bodyvoid
postValidate()
Hook to allow additional validation of a parent element immediately after its children have been validated.void
validate(ComponentDeclaration decl)
Check that the variable is not already declared, and allocate a slot number-
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocation, arrayToSequence, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compile, compileDeclaration, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, compileWarning, compileWarning, fixupReferences, generateId, getAttributeValue, getBaseURI, getBindingInformation, getCompilation, getConfiguration, getContainingPackage, getContainingSlotManager, getDeclaredVisibility, getDefaultCollationName, getDefaultXPathNamespace, getNamespaceResolver, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getVisibility, getWithParamInstructions, getXslOriginal, hasImplicitBinding, index, invalidAttribute, isDeclaration, isExtensionAttributeAllowed, isExtensionNamespace, isInstruction, isNo, isPermittedChild, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, isYes, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, mapToSequence, markTailCalls, mayContainFallback, mayContainParam, prepareAttributes, processAllAttributes, processAttributes, processBooleanAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, requireXslt40, seesAvuncularVariables, setCompilation, setInstructionLocation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree, validateValidationAttribute
-
Methods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, addNamespace, attributes, checkNotNamespaceSensitiveElement, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, getColumnNumber, getDeclaredNamespaces, getLineNumber, getNodeKind, getNodeName, getRoot, getSchemaType, getSystemId, getURIForPrefix, initialise, isId, isIdref, isIdRefNode, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeNamespace, removeTypeAnnotation, rename, replaceStringValue, setAttributeInfo, setAttributes, setLocation, setNamespaceMap, setNilled, setNodeName, setSystemId, setTypeAnnotation
-
Methods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl
addChild, compact, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getUnicodeStringValue, hasChildNodes, insertChildren, insertChildrenAt, iterateChildren, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumber
-
Methods inherited from class net.sf.saxon.tree.linked.NodeImpl
atomize, compareOrder, effectiveBooleanValue, equals, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, getURI, hasFingerprint, hashCode, head, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, replace, saveLocation, setRawParent, setSiblingPosition
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.NodeInfo
asActiveSource, children, children, deliver, getGenre, getPublicId, isSameNodeInfo, isStreamed, toShortString
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Field Detail
-
sourceBinding
protected SourceBinding sourceBinding
-
-
Method Detail
-
getSourceBinding
public SourceBinding getSourceBinding()
Get the source binding object that holds information about the declared variable.- Returns:
- the binding object
-
getVariableQName
public StructuredQName getVariableQName()
-
getObjectName
public StructuredQName getObjectName()
Description copied from class:StyleElement
Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically. If there is no name, the value will be null.- Overrides:
getObjectName
in classStyleElement
- Returns:
- the name of the object declared in this element, if any
-
mayContainSequenceConstructor
protected boolean mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainSequenceConstructor
in classStyleElement
- Returns:
- true: yes, it may contain a template-body
-
isGlobal
public boolean isGlobal()
Test whether this is a global variable or parameter- Returns:
- true if this is global
-
validate
public void validate(ComponentDeclaration decl) throws XPathException
Check that the variable is not already declared, and allocate a slot number- Overrides:
validate
in classStyleElement
- Parameters:
decl
- the declaration being validated. A single XSLVariableDeclaration object may represent multiple declarations if it appears in a stylesheet module that is included/imported more than once- Throws:
XPathException
- if any error is found during validation
-
postValidate
public void postValidate() throws XPathException
Hook to allow additional validation of a parent element immediately after its children have been validated.- Overrides:
postValidate
in classStyleElement
- Throws:
XPathException
- if any error is found during post-traversal validation
-
-