Package net.sf.saxon.style
Class XSLParam
- All Implemented Interfaces:
Serializable
,Source
,SourceLocator
,LocationProvider
,SaxonLocator
,PullEvent
,Container
,VariableDeclaration
,FingerprintedNode
,Item<NodeInfo>
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,ValueRepresentation<NodeInfo>
,StylesheetProcedure
,InstructionInfo
,SiblingCountingNode
,Locator
An xsl:param element in the stylesheet.
The xsl:param element has mandatory attribute name and optional attributes select, required, as, ...
The xsl:param element has mandatory attribute name and optional attributes select, required, as, ...
- See Also:
-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
protected boolean
protected boolean
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 variableGet the static type of the parameter.void
validate
(Declaration decl) Check that the variable is not already declared, and allocate a slot numberMethods 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 org.xml.sax.Locator
getColumnNumber, getPublicId
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getVariableQName
-
Field Details
-
conversion
Expression conversion
-
-
Constructor Details
-
XSLParam
public XSLParam()
-
-
Method Details
-
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
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
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
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
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
-