net.sf.saxon.style
Class XSLParam

java.lang.Object
  extended by net.sf.saxon.tree.NodeImpl
      extended by net.sf.saxon.tree.ParentNodeImpl
          extended by net.sf.saxon.tree.ElementImpl
              extended by net.sf.saxon.style.StyleElement
                  extended by net.sf.saxon.style.XSLGeneralVariable
                      extended by net.sf.saxon.style.XSLVariableDeclaration
                          extended by net.sf.saxon.style.XSLParam
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.Source, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, PullEvent, Container, VariableDeclaration, FingerprintedNode, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, SiblingCountingNode, ValueRepresentation, StylesheetProcedure, InstructionInfo, 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
(package private)  Expression conversion
           
 
Fields inherited from class net.sf.saxon.style.XSLVariableDeclaration
references
 
Fields inherited from class net.sf.saxon.style.XSLGeneralVariable
assignable, constantText, global, implicitlyRequiredParam, 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_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
 
Fields inherited from class net.sf.saxon.tree.ElementImpl
attributeList, nameCode, namespaceList, typeCode
 
Fields inherited from class net.sf.saxon.tree.ParentNodeImpl
children, 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, IS_DTD_TYPE, IS_NILLED, 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, setReferenceCount, setSlotNumber
 
Methods inherited from class net.sf.saxon.style.XSLGeneralVariable
allowsAsAttribute, checkAgainstRequiredType, getConstructType, getReturnedItemType, getVariableDisplayName, getVariableQName, initializeInstruction, isAssignable, isGlobal, isRequiredParam, isTunnelParam, mayContainSequenceConstructor, prepareAttributes, setRedundant
 
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, forwardsCompatibleModeIsEnabled, getAllStylesheetFunctions, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainParam, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree
 
Methods inherited from class net.sf.saxon.tree.ElementImpl
addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getInScopeNamespaceCodes, getLineNumber, getNameCode, getNodeKind, getPrefixForURI, getRoot, getSystemId, getTypeAnnotation, getURICodeForPrefix, getURICodeForPrefixCode, getURIForPrefix, initialise, isNilled, iteratePrefixes, putAttribute, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setLineAndColumn, setLocation, setNameCode, setNamespaceDeclarations, setSystemId, setTypeAnnotation
 
Methods inherited from class net.sf.saxon.tree.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, useChildrenArray
 
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getSiblingPosition, getTypedValue, getURI, insertSiblings, isId, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getVariableQName
 
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, getPublicId
 
Methods inherited from interface net.sf.saxon.om.NodeInfo
hashCode
 

Field Detail

conversion

Expression conversion
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 XPathException
Description copied from class: XSLVariableDeclaration
Check that the variable is not already declared, and allocate a slot number

Overrides:
validate in class XSLVariableDeclaration
Throws:
XPathException

compile

public Expression compile(Executable exec)
                   throws XPathException
Compile: this ensures space is available for local variables declared within this global variable

Specified by:
compile in class StyleElement
Parameters:
exec - the Executable
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

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
Returns:
the static type declared for the variable