public class XSLFunction extends StyleElement implements StylesheetComponent
StyleElement.OnFailureACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultMode, defaultXPathNamespace, expandText, extensionNamespaces, reportingCircumstances, staticContext, validationError, versionNODE_LETTERIS_DTD_TYPE, IS_NILLED| Constructor and Description |
|---|
XSLFunction() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkCompatibility(Component component)
Check the compatibility of this component with another component that it is overriding
|
void |
compileDeclaration(Compilation compilation,
ComponentDeclaration decl)
Compile the function definition to create an executable representation
The compileDeclaration() method has the side-effect of binding
all references to the function to the executable representation
(a UserFunction object)
|
void |
generateByteCode(Optimizer opt)
Generate byte code if appropriate
|
UserFunction |
getActor()
Get the corresponding Procedure object that results from the compilation of this
StylesheetProcedure
|
SequenceType[] |
getArgumentTypes()
Get the argument types
|
UserFunction |
getCompiledFunction()
Get the compiled function
|
int |
getNumberOfArguments()
Get the number of arguments declared by this function (that is, its arity).
|
StructuredQName |
getObjectName()
Get a name identifying the object of the expression, for example a function name, template name,
variable name, key name, element name, etc.
|
SequenceType |
getResultType()
Get the type of value returned by this function
|
SlotManager |
getSlotManager()
Get associated stack frame details.
|
SymbolicName.F |
getSymbolicName()
Get the symbolic name of the component, that is, the combination of the component kind and
the qualified name
|
Visibility |
getVisibility()
Get the visibility of the component.
|
void |
index(ComponentDeclaration decl,
PrincipalStylesheetModule top)
Method supplied by declaration elements to add themselves to a stylesheet-level index
|
boolean |
isDeclaration()
Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet
(including xsl:include and xsl:import).
|
boolean |
isOverrideExtensionFunction()
Is override-extension-function="yes"?.
|
protected boolean |
isPermittedChild(StyleElement child)
Specify that xsl:param is a permitted child
|
protected boolean |
mayContainParam()
Determine whether this type of element is allowed to contain an xsl:param element
|
boolean |
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a template-body.
|
void |
optimize(ComponentDeclaration declaration)
Optimize the stylesheet construct
|
void |
prepareAttributes()
Set the attribute list for the element.
|
void |
setParameterDefinitions(UserFunction fn)
Set the definitions of the parameters in the compiled function, as an array.
|
void |
validate(ComponentDeclaration decl)
Check that the stylesheet element is valid.
|
allocateLocation, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compile, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, compileWarning, compileWarning, fixupReferences, generateId, getAttributeValue, getBaseURI, getBindingInformation, getCompilation, getConfiguration, getContainingPackage, getContainingSlotManager, getDeclaredVisibility, getDefaultCollationName, getDefaultXPathNamespace, getNamespaceResolver, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getWithParamInstructions, getXslOriginal, hasImplicitBinding, invalidAttribute, isExtensionAttributeAllowed, isExtensionNamespace, isInstruction, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processBooleanAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, requireSyntaxExtensions, seesAvuncularVariables, setCompilation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree, validateValidationAttributeaddAttribute, addNamespace, addNamespace, attributes, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, getColumnNumber, getDeclaredNamespaces, getLineNumber, getNodeKind, getNodeName, getRoot, getSchemaType, getSystemId, getURIForPrefix, initialise, isId, isIdref, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeNamespace, removeTypeAnnotation, rename, replaceStringValue, setAttributeInfo, setAttributes, setLocation, setNamespaceMap, setNilled, setNodeName, setSystemId, setTypeAnnotationaddChild, children, compact, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, iterateChildren, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumberatomize, compareOrder, effectiveBooleanValue, equals, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, getURI, hasFingerprint, head, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, replace, saveLocation, setRawParent, setSiblingPositionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchildren, equals, getGenre, getPublicId, hashCode, isSameNodeInfo, isStreamed, toShortStringgetLength, itemAt, iterate, reduce, subsequence, toGroundedValueasIterable, concatenate, containsNode, materializemakeRepeatablepublic UserFunction getActor()
getActor in interface StylesheetComponentpublic boolean isDeclaration()
isDeclaration in class StyleElementpublic void prepareAttributes()
StyleElementprepareAttributes in class StyleElementpublic StructuredQName getObjectName()
getObjectName in class StyleElementpublic boolean mayContainSequenceConstructor()
mayContainSequenceConstructor in class StyleElementprotected boolean mayContainParam()
StyleElementmayContainParam in class StyleElementprotected boolean isPermittedChild(StyleElement child)
isPermittedChild in class StyleElementchild - the child that may or may not be permittedpublic Visibility getVisibility()
StyleElementStyleElement.invalidAttribute(String, String) if the value is invalid.getVisibility in class StyleElementVisibility.PRIVATE
if the visibility attribute is absent.public SymbolicName.F getSymbolicName()
StylesheetComponentgetSymbolicName in interface StylesheetComponentpublic void checkCompatibility(Component component)
StylesheetComponentcheckCompatibility in interface StylesheetComponentcomponent - the overridden componentpublic boolean isOverrideExtensionFunction()
public void index(ComponentDeclaration decl, PrincipalStylesheetModule top)
StyleElementindex in class StyleElementdecl - the Declaration being indexed. (This corresponds to the StyleElement object
except in cases where one module is imported several times with different precedence.)top - represents the outermost XSLStylesheet or XSLPackage elementpublic void validate(ComponentDeclaration decl) throws XPathException
StyleElementvalidate in class StyleElementdecl - the declaration to be validatedXPathException - if any error is found during validationpublic void compileDeclaration(Compilation compilation, ComponentDeclaration decl) throws XPathException
compileDeclaration in class StyleElementcompilation - the compilation episodedecl - the containing top-level declaration, for example xsl:function or xsl:templateXPathException - if compilation failspublic void optimize(ComponentDeclaration declaration) throws XPathException
StylesheetComponentoptimize in interface StylesheetComponentdeclaration - the combination of the source XSLT element defining the component, and the
module in which it appearsXPathExceptionpublic void generateByteCode(Optimizer opt) throws XPathException
generateByteCode in interface StylesheetComponentopt - the optimizerXPathException - if bytecode generation failspublic SlotManager getSlotManager()
getSlotManager in interface StylesheetComponentpublic SequenceType getResultType()
public int getNumberOfArguments()
public void setParameterDefinitions(UserFunction fn)
fn - the compiled object representing the user-written functionpublic SequenceType[] getArgumentTypes()
public UserFunction getCompiledFunction()
Copyright (c) 2004-2021 Saxonica Limited. All rights reserved.