Package net.sf.saxon.style
Class XSLFunction
- All Implemented Interfaces:
Source,SourceLocator,LocationProvider,SaxonLocator,Container,FingerprintedNode,Item,NodeInfo,ValueRepresentation,StylesheetProcedure,InstructionInfo,Locator
Handler for xsl:function elements in stylesheet (XSLT 2.0).
Attributes:
name gives the name of the function saxon:memo-function=yes|no indicates whether it acts as a memo function.
Attributes:
name gives the name of the function saxon:memo-function=yes|no indicates whether it acts as a memo function.
-
Field Summary
FieldsFields 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, versionFields inherited from class net.sf.saxon.tree.ElementWithAttributes
attributeList, namespaceListFields inherited from class net.sf.saxon.tree.ElementImpl
nameCode, rootFields inherited from class net.sf.saxon.tree.ParentNodeImpl
sequenceFields inherited from class net.sf.saxon.tree.NodeImpl
index, NODE_LETTER, parentFields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACESFields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompile(Executable exec) Compile the function definition to create an executable representationvoidNotify all references to this function of the data type.Get the compiled functionintGet the type of construct.intGet the fingerprint of the name of this function.intGet the number of arguments declared by this function (that is, its arity).Get the type of value returned by this functionGet associated Procedure (for details of stack frame).booleanIs override="yes"?.protected booleanisPermittedChild(StyleElement child) Specify that xsl:param is a permitted childbooleanDetermine whether this type of element is allowed to contain a template-body.voidSet the attribute list for the element.voidMethod called by UserFunctionCall to register the function call for subsequent fixup.voidSet the definitions of the parameters in the compiled function, as an array.voidvalidate()Check that the stylesheet element is valid.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, getReturnedItemType, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isInstruction, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtreeMethods inherited from class net.sf.saxon.tree.ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarationsMethods inherited from class net.sf.saxon.tree.ElementImpl
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemIdMethods inherited from class net.sf.saxon.tree.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, useChildrenArrayMethods 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, iterateAxisMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.saxon.trace.InstructionInfo
getSystemIdMethods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicIdMethods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getPublicId, getSystemId
-
Field Details
-
references
List references
-
-
Constructor Details
-
XSLFunction
public XSLFunction()
-
-
Method Details
-
registerReference
Method called by UserFunctionCall to register the function call for subsequent fixup.- Parameters:
ref- the UserFunctionCall to be registered
-
prepareAttributes
Description copied from class:StyleElementSet the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass- Specified by:
prepareAttributesin classStyleElement- Throws:
XPathException
-
mayContainSequenceConstructor
public boolean mayContainSequenceConstructor()Determine whether this type of element is allowed to contain a template-body.- Overrides:
mayContainSequenceConstructorin classStyleElement- Returns:
- true: yes, it may contain a general template-body
-
isPermittedChild
Specify that xsl:param is a permitted child- Overrides:
isPermittedChildin classStyleElement
-
isOverriding
public boolean isOverriding()Is override="yes"?.- Returns:
- true if override="yes" was specified, otherwise false
-
fixupReferences
Notify all references to this function of the data type.- Overrides:
fixupReferencesin classStyleElement- Throws:
XPathException
-
validate
Description copied from class:StyleElementCheck that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.- Overrides:
validatein classStyleElement- Throws:
XPathException
-
compile
Compile the function definition to create an executable representation- Specified by:
compilein classStyleElement- Returns:
- an Instruction, or null. The instruction returned is actually rather irrelevant; the compile() method has the side-effect of binding all references to the function to the executable representation (a UserFunction object)
- Throws:
XPathException
-
getSlotManager
Get associated Procedure (for details of stack frame).- Specified by:
getSlotManagerin interfaceStylesheetProcedure- Returns:
- the associated Procedure object
-
getFunctionFingerprint
public int getFunctionFingerprint()Get the fingerprint of the name of this function.- Returns:
- the fingerprint of the name
-
getResultType
Get the type of value returned by this function- Returns:
- the declared result type, or the inferred result type if this is more precise
-
getNumberOfArguments
public int getNumberOfArguments()Get the number of arguments declared by this function (that is, its arity).- Returns:
- the arity of the function
-
setParameterDefinitions
Set the definitions of the parameters in the compiled function, as an array. -
getCompiledFunction
Get the compiled function -
getConstructType
public int getConstructType()Get the type of construct. This will be a constant in classLocation. This method is part of theInstructionInfointerface- Specified by:
getConstructTypein interfaceInstructionInfo- Overrides:
getConstructTypein classStyleElement
-