Package net.sf.saxon.style
Class XSLParam
- java.lang.Object
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,LocationProvider
,SaxonLocator
,PullEvent
,Container
,VariableDeclaration
,FingerprintedNode
,Item<NodeInfo>
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,ValueRepresentation<NodeInfo>
,StylesheetProcedure
,InstructionInfo
,SiblingCountingNode
,org.xml.sax.Locator
public class XSLParam extends XSLVariableDeclaration
An xsl:param element in the stylesheet.
The xsl:param element has mandatory attribute name and optional attributes select, required, as, ...- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Expression
conversion
-
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
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version, YES_NO
-
Fields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, 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 XSLParam()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
allowsRequired()
protected boolean
allowsTunnelAttribute()
protected boolean
allowsValue()
Expression
compile(Executable exec, Declaration decl)
Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.void
compileDeclaration(Executable exec, Declaration decl)
Compile a global xsl:param element: this ensures space is available for local variables declared within this global variableSequenceType
getRequiredType()
Get the static type of the parameter.void
validate(Declaration decl)
Check that the variable is not already declared, and allocate a slot number-
Methods inherited from class net.sf.saxon.style.XSLVariableDeclaration
fixupBinding, fixupReferences, getCompiledVariable, getSlotManager, getSlotNumber, index, isDeclaration, isInstruction, optimize, registerReference, setReferenceCount, setSlotNumber
-
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
allowsAsAttribute, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableDisplayName, getVariableQName, initializeBinding, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, postValidate, prepareAttributes, setRedundant
-
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, bindLocalVariable, bindVariable, checkAttributeValue, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, compileError, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getContainerGranularity, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getEffectiveVersion, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPreparedStylesheet, getPrincipalStylesheetModule, getProcessorVersion, getProperties, getProperty, getSchemaType, getStaticContext, getSystemId, getTypeAnnotation, getWithParamInstructions, isActionCompleted, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, isXslt30Processor, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainParam, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, seesAvuncularVariables, setActionCompleted, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree, xPath10ModeIsEnabled
-
Methods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNamespaceList, getNodeKind, getPrefixForURI, getRoot, getSchemaType, getSystemId, getTypeAnnotation, getURIForPrefix, gsetAttributeCollection, initialise, isId, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setAttributeList, setLocation, setNameCode, setNamespaceDeclarations, setNamespaceList, setSystemId, setTypeAnnotation
-
Methods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumber
-
Methods inherited from class net.sf.saxon.tree.linked.NodeImpl
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRawParent, getSiblingPosition, getTypedValue, getURI, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace, setRawParent, setSiblingPosition
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getLineNumber, getSystemId
-
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getVariableQName
-
-
-
-
Field Detail
-
conversion
Expression conversion
-
-
Method Detail
-
allowsValue
protected boolean allowsValue()
- Overrides:
allowsValue
in classXSLGeneralVariable
-
allowsRequired
protected boolean allowsRequired()
- Overrides:
allowsRequired
in classXSLGeneralVariable
-
allowsTunnelAttribute
protected boolean allowsTunnelAttribute()
- Overrides:
allowsTunnelAttribute
in classXSLGeneralVariable
-
validate
public void validate(Declaration decl) throws XPathException
Description copied from class:XSLVariableDeclaration
Check that the variable is not already declared, and allocate a slot number- Overrides:
validate
in classXSLVariableDeclaration
- Parameters:
decl
- the declaration to be validated- Throws:
XPathException
- if any error is found during validation
-
compileDeclaration
public void compileDeclaration(Executable exec, Declaration decl) throws XPathException
Compile a global xsl:param element: this ensures space is available for local variables declared within this global variable- Overrides:
compileDeclaration
in classStyleElement
- Parameters:
exec
- the Executabledecl
- the containing top-level declaration, for example xsl:function or xsl:template- Throws:
XPathException
- if compilation fails
-
compile
public Expression compile(Executable exec, Declaration decl) throws XPathException
Description copied from class:StyleElement
Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.- Overrides:
compile
in classStyleElement
- Parameters:
exec
- the Executabledecl
- the containing top-level declaration, for example xsl:function or xsl:template- 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
- if validation fails
-
getRequiredType
public SequenceType getRequiredType()
Get the static type of the parameter. This is the declared type, because we cannot know the actual value in advance.- Specified by:
getRequiredType
in classXSLVariableDeclaration
- Returns:
- the static type declared for the variable
-
-