Class Executable

  • All Implemented Interfaces:
    java.io.Serializable

    public class Executable
    extends java.lang.Object
    implements java.io.Serializable
    A compiled stylesheet or a query in executable form. Note that the original stylesheet tree is not retained.
    See Also:
    Serialized Form
    • Constructor Detail

      • Executable

        public Executable()
    • Method Detail

      • setConfiguration

        public void setConfiguration​(Configuration config)
        Set the configuration
      • getConfiguration

        public Configuration getConfiguration()
        Get the configuration
      • setHostLanguage

        public void setHostLanguage​(int language)
        Set the host language
      • setRuleManager

        public void setRuleManager​(RuleManager rm)
        Set the RuleManager that handles template rules
        Parameters:
        rm - the RuleManager containing details of all the template rules
      • getRuleManager

        public RuleManager getRuleManager()
        Get the RuleManager which handles template rules
        Returns:
        the RuleManager registered with setRuleManager
      • getNamedTemplateTable

        public IntHashMap getNamedTemplateTable()
        Get the named template table. Provided for use by tools allowing selection of a transformation entry point from a supplied list.
        Returns:
        a hash table containing entries that map the names of named templates (in the form of namePool fingerprints) to the Template objects representing the compiled xsl:template element in the stylesheet.
      • getNamedTemplate

        public Template getNamedTemplate​(int fingerprint)
        Get the named template with a given name.
        Parameters:
        fingerprint - The namepool fingerprint of the template name
        Returns:
        The template (of highest import precedence) with this name if there is one; null if none is found.
      • putNamedTemplate

        public void putNamedTemplate​(int fingerprint,
                                     Template template)
        Register the named template with a given name
      • getFunctionLibrary

        public FunctionLibrary getFunctionLibrary()
        Get the library containing all the in-scope functions in the static context
        Returns:
        the function libary
      • setFunctionLibrary

        public void setFunctionLibrary​(FunctionLibrary functionLibrary)
        Set the library containing all the in-scope functions in the static context
        Parameters:
        functionLibrary - the function libary
      • setCharacterMapIndex

        public void setCharacterMapIndex​(IntHashMap cmi)
        Set the index of named character maps
        Parameters:
        cmi - a hash table that maps the names of character maps to the HashMap objects representing the character maps
      • getCharacterMapIndex

        public IntHashMap getCharacterMapIndex()
        Get the index of named character maps
        Returns:
        the hash table that maps the names of character maps to the HashMap objects representing the character maps
      • setStripperRules

        public void setStripperRules​(Mode rules)
        Set the rules determining which nodes are to be stripped from the tree
        Parameters:
        rules - a Mode object containing the whitespace stripping rules. A Mode is generally a collection of template rules, but it is reused here to represent a collection of stripping rules.
      • getStripperRules

        public Mode getStripperRules()
        Get the rules determining which nodes are to be stripped from the tree
        Returns:
        a Mode object containing the whitespace stripping rules. A Mode is generally a collection of template rules, but it is reused here to represent a collection of stripping rules.
      • setStripsWhitespace

        public void setStripsWhitespace​(boolean strips)
        Indicate that the stylesheet does some whitespace stripping
        Parameters:
        strips - true if the stylesheet performs whitespace stripping of one or more elements.
      • newStripper

        public Stripper newStripper()
        Create a Stripper which handles whitespace stripping definitions
        Returns:
        the constructed Stripper object
      • stripsWhitespace

        public boolean stripsWhitespace()
        Determine whether this stylesheet does any whitespace stripping
        Returns:
        true if the stylesheet performs whitespace stripping of one or more elements.
      • setStripsInputTypeAnnotations

        public void setStripsInputTypeAnnotations​(boolean strips)
        Set whether source documents are to have their type annotations stripped
      • stripsInputTypeAnnotations

        public boolean stripsInputTypeAnnotations()
        Determine whether source documents are to have their type annotations stripped
      • setKeyManager

        public void setKeyManager​(KeyManager km)
        Set the KeyManager which handles key definitions
        Parameters:
        km - the KeyManager containing the xsl:key definitions
      • getKeyManager

        public KeyManager getKeyManager()
        Get the KeyManager which handles key definitions
        Returns:
        the KeyManager containing the xsl:key definitions
      • setDefaultOutputProperties

        public void setDefaultOutputProperties​(java.util.Properties properties)
        Set the default output properties (the properties for the unnamed output format)
        Parameters:
        properties - the output properties to be used when the unnamed output format is selected
      • getDefaultOutputProperties

        public java.util.Properties getDefaultOutputProperties()
        Get the default output properties
        Returns:
        the properties for the unnamed output format
      • setOutputProperties

        public void setOutputProperties​(int fingerprint,
                                        java.util.Properties properties)
        An a named output format
        Parameters:
        fingerprint - the name of the output format
        properties - the properties of the output format
      • getOutputProperties

        public java.util.Properties getOutputProperties​(int fingerprint)
        Get a named output format
        Parameters:
        fingerprint - the name of the output format
        Returns:
        properties the properties of the output format. Return null if there are no output properties with the given name
      • setDecimalFormatManager

        public void setDecimalFormatManager​(DecimalFormatManager dfm)
        Set the DecimalFormatManager which handles decimal-format definitions
        Parameters:
        dfm - the DecimalFormatManager containing the named xsl:decimal-format definitions
      • getDecimalFormatManager

        public DecimalFormatManager getDecimalFormatManager()
        Get the DecimalFormatManager which handles decimal-format definitions
        Returns:
        the DecimalFormatManager containing the named xsl:decimal-format definitions
      • setDefaultCollationName

        public void setDefaultCollationName​(java.lang.String name)
        Set the default collation
        Parameters:
        name - the name of the default collation
      • getDefaultCollationName

        public java.lang.String getDefaultCollationName()
        Get the name of the default collation
        Returns:
        the name of the default collation; this is the code point collation URI if no other default has been set up.
      • getDefaultCollation

        public java.util.Comparator getDefaultCollation()
        Get the default collation
        Returns:
        a Comparator that implements the default collation
      • setCollationTable

        public void setCollationTable​(CollationMap table)
        Set the table of collations
        Parameters:
        table - a hash table that maps collation names (URIs) to objects representing the collation information
      • getCollationTable

        public CollationMap getCollationTable()
        Get the table of collations
        Returns:
        a hash table that maps collation names (URIs) to objects representing the collation information
      • getNamedCollation

        public java.util.Comparator getNamedCollation​(java.lang.String name)
        Find a named collation.
        Parameters:
        name - identifies the name of the collation required; null indicates that the default collation is required
        Returns:
        the requested collation, or null if the collation is not found
      • addQueryLibraryModule

        public void addQueryLibraryModule​(StaticQueryContext module)
        Add an XQuery library module to the configuration. The Executable maintains a table indicating for each module namespace, the set of modules that have been loaded from that namespace. If a module import is encountered that specifies no location hint, all the known modules for that namespace are imported.
      • getQueryLibraryModules

        public java.util.List getQueryLibraryModules​(java.lang.String namespace)
        Locate the known XQuery library modules for a given module namespace.
        Parameters:
        namespace - the module namespace URI
        Returns:
        a list of items each of which is the StaticQueryContext representing a module, or null if the module namespace is unknown
      • fixupQueryModules

        public void fixupQueryModules​(StaticQueryContext main)
                               throws XPathException
        Fix up global variables and functions in all query modules. This is done right at the end, because recursive imports are permitted
        Throws:
        XPathException
      • setPatternSlotSpace

        public void setPatternSlotSpace​(int patternLocals)
        Set the space requirements for variables used in template match patterns
        Parameters:
        patternLocals - The largest number of local variables used in the match pattern of any template rule
      • getGlobalVariableMap

        public SlotManager getGlobalVariableMap()
        Get the global variable map
        Returns:
        the SlotManager defining the allocation of slots to global variables
      • getCompiledGlobalVariables

        public IntHashMap getCompiledGlobalVariables()
        Get the index of global variables
        Returns:
        the index of global variables. This is a HashMap in which the key is the integer fingerprint of the variable name, and the value is the GlobalVariable object representing the compiled global variable
      • registerGlobalVariable

        public void registerGlobalVariable​(GlobalVariable variable)
        Register a global variable
      • initialiseBindery

        public void initialiseBindery​(Bindery bindery)
        Allocate space in bindery for all the variables needed
        Parameters:
        bindery - The bindery to be initialized
      • getLargestPatternStackFrame

        public int getLargestPatternStackFrame()
        Determine the size of the stack frame needed for evaluating match patterns
      • setLocationMap

        public void setLocationMap​(LocationMap map)
        Set the location map
      • getLocationMap

        public LocationMap getLocationMap()
        Get the location map
      • addRequiredParam

        public void addRequiredParam​(int fingerprint)
        Add a required parameter
      • setReasonUnableToCompile

        public void setReasonUnableToCompile​(java.lang.String reason)
        If this Executable can't be compiled, set a message explaining why
      • getReasonUnableToCompile

        public java.lang.String getReasonUnableToCompile()
        Determine whether this executable can be compiled; and if it can't, return the reason why
        Returns:
        null if the executable can be compiled, or a message otherwise