Class KeyDefinition

    • Constructor Detail

      • KeyDefinition

        public KeyDefinition​(Pattern match,
                             Expression use,
                             java.lang.String collationName,
                             java.util.Comparator collation)
        Constructor to create a key definition
        Parameters:
        match - the pattern in the xsl:key match attribute
        use - the expression in the xsl:key use attribute, or the expression that results from compiling the xsl:key contained instructions
        collationName - the name of the collation being used
        collation - the actual collation. This must be one that supports generation of collation keys.
    • Method Detail

      • setBackwardsCompatible

        public void setBackwardsCompatible​(boolean bc)
        Set backwards compatibility mode. The key definition is backwards compatible if ANY of the xsl:key declarations has version="1.0" in scope.
      • isBackwardsCompatible

        public boolean isBackwardsCompatible()
        Test backwards compatibility mode
      • setStrictComparison

        public void setStrictComparison​(boolean strict)
        Set whether strict comparison is needed. Strict comparison treats non-comparable values as an error rather than a no-match. This is used for internal keys that support value comparisons in Saxon-SA, it is not used for user-defined XSLT keys.
      • isStrictComparison

        public boolean isStrictComparison()
        Get whether strict comparison is needed.
      • setStackFrameMap

        public void setStackFrameMap​(SlotManager map)
        Set the map of local variables needed while evaluating the "use" expression
        Overrides:
        setStackFrameMap in class Procedure
      • setLocation

        public void setLocation​(java.lang.String systemId,
                                int lineNumber)
        Set the system Id and line number of the source xsl:key definition
      • getMatch

        public Pattern getMatch()
        Get the match pattern for the key definition
        Returns:
        the pattern specified in the "match" attribute of the xsl:key declaration
      • getUse

        public Expression getUse()
        Get the use expression for the key definition
        Returns:
        the expression specified in the "use" attribute of the xsl:key declaration
      • getCollationName

        public java.lang.String getCollationName()
        Get the collation name for this key definition.
        Returns:
        the collation name (the collation URI)
      • getCollation

        public java.util.Comparator getCollation()
        Get the collation.
        Returns:
        the collation
      • getInstructionInfo

        public InstructionInfo getInstructionInfo()
        Get the InstructionInfo details about the construct. This information isn't used for tracing, but it is available when inspecting the context stack.
        Specified by:
        getInstructionInfo in interface InstructionInfoProvider