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