## net.sf.saxon.style
Class XSLParam

    java.lang.Object
      |
      +--net.sf.saxon.om.AbstractNode
            |
            +--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, javax.xml.transform.dom.DOMLocator, org.w3c.dom.Element, FingerprintedNode, InstructionInfo, Item, LocationProvider, org.xml.sax.Locator, org.w3c.dom.NamedNodeMap, org.w3c.dom.Node, NodeInfo, SaxonLocator, javax.xml.transform.Source, javax.xml.transform.SourceLocator, StylesheetProcedure, 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
`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, parent`

Fields inherited from class net.sf.saxon.om.AbstractNode
`NODE_LETTER`

Fields inherited from interface org.w3c.dom.Node
`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Fields inherited from interface net.sf.saxon.om.NodeInfo
`ALL_NAMESPACES, 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, getSlotManager, getSlotNumber, isInstruction, registerReference`

Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
`allowsAsAttribute, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableFingerprint, getVariableName, initializeInstruction, isAssignable, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, prepareAttributes, setRedundant`

Methods inherited from class net.sf.saxon.style.StyleElement

`allocateLocationId, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileChildren, compileError, compileError, compileError, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getConfiguration, getContainingSlotManager, getContainingStylesheet, getDefaultXPathNamespace, getExecutable, getInstructionFingerprint, getLastChildInstruction, getLineNumber, getLineNumber, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getURIForPrefix, getVariableBinding, getVersion, getWithParamInstructions, isExcludedNamespace, isExtensionNamespace, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree`

Methods inherited from class net.sf.saxon.tree.ElementWithAttributes

`addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations`

Methods inherited from class net.sf.saxon.tree.ElementImpl
`addChild, compact, enumerateChildren, generateId, getBaseURI, getDocumentRoot, getFirstChild, getLastChild, getNameCode, getNodeKind, getNodeValue, getNthChild, getRoot, getSequenceNumber, getStringValue, getSystemId, hasChildNodes, setNameCode, setSystemId, useChildrenArray`

Methods inherited from class net.sf.saxon.tree.NodeImpl
`compareOrder, copy, getDisplayName, getDocumentElement, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, iterateAxis, iterateAxis`

Methods inherited from class net.sf.saxon.om.AbstractNode

`appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getChildNodes, getColumnNumber, getData, getDoctype, getDocumentNumber, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getLocalName, getName, getNamespaceURI, getNodeName, getNodeType, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getTypeAnnotation, getTypedValue, getUserData, getValue, importNode, insertBefore, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, replaceData, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setValue, splitText, substringData, supports`

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`

Methods inherited from interface org.w3c.dom.Element
`getElementsByTagName, getElementsByTagNameNS, getTagName`

Methods inherited from interface org.w3c.dom.Node
`appendChild, cloneNode, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix`

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`
    `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 an Instruction, 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.
    `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`