Class CollatingFunction

    • Constructor Detail

      • CollatingFunction

        public CollatingFunction()
    • Method Detail

      • getExpressionBaseURI

        public java.net.URI getExpressionBaseURI()
        Get the saved static base URI
        Returns:
        the static base URI
      • getStringCollator

        public StringCollator getStringCollator()
        Get the collation if known statically, as a StringCollator object
        Returns:
        a StringCollator. Return null if the collation is not known statically.
      • getAbsoluteCollationURI

        public java.lang.String getAbsoluteCollationURI()
        Get the absolute collation URI if known statically, as a string
        Returns:
        the absolute collation URI, as a string, or null if it is not known statically
      • copy

        public Expression copy()
        Copy an expression. This makes a deep copy.
        Overrides:
        copy in class SystemFunction
        Returns:
        the copy of the original expression
      • equals

        public boolean equals​(java.lang.Object o)
        Determine whether two expressions are equivalent
        Overrides:
        equals in class SystemFunction
      • getAtomicComparer

        protected GenericAtomicComparer getAtomicComparer​(int arg,
                                                          XPathContext context)
                                                   throws XPathException
        Get a GenericAtomicComparer that can be used to compare values. This method is called at run time by subclasses to evaluate the parameter containing the collation name.

        The difference between this method and getCollator(int, net.sf.saxon.expr.XPathContext) is that a GenericAtomicComparer is capable of comparing values of any atomic type, not only strings. It is therefore called by functions such as compare, deep-equal, index-of, and min() and max() where the operands may include a mixture of strings and other types.

        Parameters:
        arg - the position of the argument (starting at 0) containing the collation name. If this argument was not supplied, the default collation is used
        context - The dynamic evaluation context.
        Returns:
        a GenericAtomicComparer that can be used to compare atomic values.
        Throws:
        XPathException
      • getCollator

        protected StringCollator getCollator​(int arg,
                                             XPathContext context)
                                      throws XPathException
        Get a collator suitable for comparing strings. Returns the collator specified in the given function argument if present, otherwise returns the default collator. This method is called by subclasses at run time. It is used (in contrast to getAtomicComparer(int, net.sf.saxon.expr.XPathContext)) when it is known that the values to be compared are always strings.
        Parameters:
        arg - The argument position (counting from zero) that holds the collation URI if present
        context - The dynamic context
        Returns:
        a StringCollator
        Throws:
        XPathException
      • expandCollationURI

        public static java.lang.String expandCollationURI​(java.lang.String collationName,
                                                          java.net.URI expressionBaseURI,
                                                          XPathContext context)
                                                   throws XPathException
        Throws:
        XPathException