Class XSLFunction

    • Constructor Detail

      • XSLFunction

        public XSLFunction()
    • Method Detail

      • getActor

        public UserFunction getActor()
        Get the corresponding Procedure object that results from the compilation of this StylesheetProcedure
        Specified by:
        getActor in interface StylesheetComponent
        Returns:
        the compiled ComponentCode
      • isDeclaration

        public boolean isDeclaration()
        Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet (including xsl:include and xsl:import).
        Overrides:
        isDeclaration in class StyleElement
        Returns:
        true for this element
      • prepareAttributes

        protected void prepareAttributes()
        Description copied from class: StyleElement
        Set 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:
        prepareAttributes in class StyleElement
      • getObjectName

        public 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. This is used only where the name is known statically. If there is no name, the value will be -1.
        Overrides:
        getObjectName in class StyleElement
        Returns:
        the name of the object declared in this element, if any
      • mayContainSequenceConstructor

        protected boolean mayContainSequenceConstructor()
        Determine whether this type of element is allowed to contain a template-body.
        Overrides:
        mayContainSequenceConstructor in class StyleElement
        Returns:
        true: yes, it may contain a general template-body
      • mayContainParam

        protected boolean mayContainParam()
        Description copied from class: StyleElement
        Determine whether this type of element is allowed to contain an xsl:param element
        Overrides:
        mayContainParam in class StyleElement
        Returns:
        true if this element is allowed to contain an xsl:param
      • isPermittedChild

        protected boolean isPermittedChild​(StyleElement child)
        Specify that xsl:param is a permitted child
        Overrides:
        isPermittedChild in class StyleElement
        Parameters:
        child - the child that may or may not be permitted
        Returns:
        true if the child is permitted.
      • checkCompatibility

        public void checkCompatibility​(Component component)
        Description copied from interface: StylesheetComponent
        Check the compatibility of this component with another component that it is overriding
        Specified by:
        checkCompatibility in interface StylesheetComponent
        Parameters:
        component - the overridden component
      • isOverrideExtensionFunction

        public boolean isOverrideExtensionFunction()
        Is override-extension-function="yes"?.
        Returns:
        true if override-extension-function="yes" was specified, otherwise false
      • isUpdating

        public boolean isUpdating()
      • index

        public void index​(ComponentDeclaration decl,
                          PrincipalStylesheetModule top)
        Description copied from class: StyleElement
        Method supplied by declaration elements to add themselves to a stylesheet-level index
        Overrides:
        index in class StyleElement
        Parameters:
        decl - 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 element
      • validate

        public void validate​(ComponentDeclaration decl)
                      throws XPathException
        Description copied from class: StyleElement
        Check 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:
        validate in class StyleElement
        Parameters:
        decl - the declaration to be validated
        Throws:
        XPathException - if any error is found during validation
      • compileDeclaration

        public void compileDeclaration​(Compilation compilation,
                                       ComponentDeclaration decl)
                                throws XPathException
        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)
        Overrides:
        compileDeclaration in class StyleElement
        Parameters:
        compilation - the compilation episode
        decl - the containing top-level declaration, for example xsl:function or xsl:template
        Throws:
        XPathException - if compilation fails
      • getResultType

        public SequenceType 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
      • getNumberOfParameters

        public int getNumberOfParameters()
        Get the number of parameters declared by this function (that is, its arity).
        Returns:
        the arity of the function
      • getNumberOfOptionalParameters

        public int getNumberOfOptionalParameters()
        Get the number of optional parameters declared by this function
        Returns:
        the arity of the function
      • setParameterDefinitions

        public void setParameterDefinitions​(UserFunction fn)
        Set the definitions of the parameters in the compiled function, as an array.
        Parameters:
        fn - the compiled object representing the user-written function
      • getArgumentTypes

        public SequenceType[] getArgumentTypes()
        Get the argument types
        Returns:
        the declared types of the arguments
      • getCompiledFunction

        public UserFunction getCompiledFunction()
        Get the compiled function
        Returns:
        the object representing the compiled user-written function