Class TemplateRuleEE

    • Constructor Detail

      • TemplateRuleEE

        public TemplateRuleEE()
        Create a template rule
    • Method Detail

      • setDeclaredStreamable

        public void setDeclaredStreamable​(boolean streamable)
        Say whether or not this template is declared as streamable
        Overrides:
        setDeclaredStreamable in class TemplateRule
        Parameters:
        streamable - true if the template belongs to a streamable mode; set to false if it does not belong to a streamable mode, or if it is found that the template is not actually streamable, and fallback to non-streaming has been requested.
      • isDeclaredStreamable

        public boolean isDeclaredStreamable()
        Ask whether or not this template is declared as streamable
        Overrides:
        isDeclaredStreamable in class TemplateRule
        Returns:
        true if the template belongs to a streamable mode; false if it does not belong to a streamable mode, or if it is found that the template is not actually streamable, and fallback to non-streaming has been requested.
      • copy

        public TemplateRule copy()
        Create a copy of a template rule. This is needed when copying a rule from the "omniMode" (mode=#all) to a specific mode. Because we want the rules to be chained in the right order within the mode object, we create the copy as soon as we know it is needed. The problem is that at this stage many of the properties of the template rule are still uninitialised. So we mark the new copy as a slave of the original, and at the end of the compilation process we update all the slave copies to match the properties of the original.
        Overrides:
        copy in class TemplateRule
      • isActuallyStreamable

        public boolean isActuallyStreamable​(java.util.List<java.lang.String> reasons)
        Ask whether this template satisfies the rules for a guaranteed streamable template
        Parameters:
        reasons - the caller may supply a list which on return will contain explanations for why the template is not streamable, suitable for inclusion in error messages
        Returns:
        true if the template is within the (Saxon or W3C) definition of guaranteed streamable
      • makeInversion

        public void makeInversion()
                           throws XPathException
        Generate the inversion of the expression comprising the body of a template rules. Supported in Saxon-EE only
        Throws:
        XPathException