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.tree.ElementWithAttributes
                  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:
javax.xml.transform.Source, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, Container, VariableDeclaration, FingerprintedNode, Item, NodeInfo, 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, ...


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, 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.ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class net.sf.saxon.tree.ElementImpl
nameCode, root
 
Fields inherited from class net.sf.saxon.tree.ParentNodeImpl
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, LOCAL_NAMESPACES, NO_NAMESPACES
 
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
 
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, setReferenceCount, setSlotNumber
 
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, getHostLanguage, getLastChildInstruction, getLineNumber, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, 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
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemId
 
Methods inherited from class net.sf.saxon.tree.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, useChildrenArray
 
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.expr.VariableDeclaration
getNameCode, getVariableName
 
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getSystemId
 
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicId
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getPublicId
 

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