## net.sf.saxon.style
Class XSLParam

    java.lang.Object
      net.sf.saxon.tree.NodeImpl
          net.sf.saxon.tree.ParentNodeImpl
              net.sf.saxon.tree.ElementImpl
                  net.sf.saxon.tree.ElementWithAttributes
                      net.sf.saxon.style.StyleElement
                          net.sf.saxon.style.XSLGeneralVariable
                              net.sf.saxon.style.XSLVariableDeclaration
                                  net.sf.saxon.style.XSLParam

All Implemented Interfaces:
  Container, FingerprintedNode, InstructionInfo, Item, LocationProvider, org.xml.sax.Locator, NodeInfo, SaxonLocator, javax.xml.transform.Source, javax.xml.transform.SourceLocator, StylesheetProcedure, ValueRepresentation, VariableDeclaration

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, ...

Field Summary

Fields inherited from class net.sf.saxon.style.XSLGeneralVariable
`assignable, constantText, global, 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_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, 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, LOCAL_NAMESPACES, NO_NAMESPACES`

Constructor Summary
`XSLParam()`

Method Summary
`protected boolean` `allowsRequired()`
`protected boolean` `allowsTunnelAttribute()`
`protected boolean` `allowsValue()`
`Expression` `compile(Executable exec)` Compile: this ensures space is available for local variables declared within this global variable
`SequenceType` `getRequiredType()` Get the static type of the parameter.
`void` `validate()` Check that the variable is not already declared, and allocate a slot number

Methods inherited from class net.sf.saxon.style.XSLVariableDeclaration
`fixupBinding, fixupReferences, getReferenceList, getReferences, getSlotManager, getSlotNumber, isInstruction, registerReference`

Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
`allowsAsAttribute, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableFingerprint, getVariableName, initializeInstruction, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, prepareAttributes, 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, getInstructionFingerprint, getLastChildInstruction, getLineNumber, getLineNumber, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, 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
`addChild, compact, enumerateChildren, generateId, getBaseURI, getDocumentRoot, getFirstChild, getLastChild, getNameCode, getNodeKind, getNthChild, getRoot, getSequenceNumber, getStringValue, getStringValueCS, getSystemId, hasChildNodes, setNameCode, setSystemId, useChildrenArray`

Methods inherited from class net.sf.saxon.tree.NodeImpl
`compareOrder, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, isSameNodeInfo, iterateAxis, iterateAxis`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
`getNameCode, getVariableName`

Methods inherited from interface org.xml.sax.Locator
`getColumnNumber, getPublicId, getSystemId`

Methods inherited from interface javax.xml.transform.SourceLocator
`getColumnNumber, getPublicId, getSystemId`

Methods inherited from interface net.sf.saxon.trace.InstructionInfo
`getSystemId`

Constructor Detail

### XSLParam

    public XSLParam()

Method Detail

### allowsValue

    protected boolean allowsValue()

  Overrides:
    `allowsValue` in class `XSLGeneralVariable`

### allowsRequired

    protected boolean allowsRequired()

  Overrides:
    `allowsRequired` in class `XSLGeneralVariable`

### allowsTunnelAttribute

    protected boolean allowsTunnelAttribute()

  Overrides:
    `allowsTunnelAttribute` in class `XSLGeneralVariable`

### validate

    public void validate()
                  throws javax.xml.transform.TransformerConfigurationException

  Description copied from class: `XSLVariableDeclaration`
  Check that the variable is not already declared, and allocate a slot number

  Overrides:
    `validate` in class `XSLVariableDeclaration`
  Throws:
    `javax.xml.transform.TransformerConfigurationException`

### compile

    public Expression compile(Executable exec)
                       throws javax.xml.transform.TransformerConfigurationException

  Compile: this ensures space is available for local variables declared within this global variable

  Specified by:
    `compile` in class `StyleElement`
  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:
    `javax.xml.transform.TransformerConfigurationException`

### 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 class `XSLVariableDeclaration`