| SAXONICA | 
XSLT: Sorting and Collations
The default collation for xsl:sort has changed. If no collation,
            lang, or case-order attribute is present on the xsl:sort
            element, the default collation is determined in the same way as the default collation for operators
            such as le and functions such as min and max: that is, it
            is taken from the nearest enclosing [xsl:]default-collation attribute if there is one,
            or failing that, the Unicode codepoint collation is used.
         
This change is motivated primarily by performance considerations. Previously Saxon used the linguistic collation for the current Java locale. Sort-intensive stylesheets can run at five times the speed when using the codepoint collation.
The change also has usability benefits in that it brings the default collation for xsl:sort
            into line with the defaults for all other functions and operators, and with the order by construct
            in XQuery.
         
For English-speaking users, the most noticeable effect will be that upper-case now precedes lower-case, for example, "ZEBRA" sorts before "aardvark".
Note that according to the XSLT 2.0 specification, the default collation used by xsl:sort
            is implementation-defined.
         
If linguistic collation is required, this can be achieved by specifying lang="en" 
            (or another language) on the xsl:sort element. To pick up the collation for the current Java locale,
            whatever it might be, specify collation="http://saxon.sf.net/collation" with no query
            parameters. It is possible to specify a default collation for a stylesheet module using the
            default-collation attribute on the xsl:stylesheet element, but note that
            this will affect other operations besides sorting.
         
From this release, the saxon:collation declaration is deprecated, and the 
            default attribute of this declaration is ignored.
         
XSLT: Validation of Namespace URIs
XSLT error codes XTDE0835 and XTDE0865 are now detected and reported. This means that it is an error to supply
            a value for the namespace attribute of xsl:element or xsl:attribute that
            is not a valid URI. Note that this represents a backwards incompatibility from previous Saxon releases and from
            the XSLT 1.0 specification, which explicitly stated that supplying an invalid URI was not an error.
         
Similarly the xsl:namespace instruction now raises error XDTE0905 if the constructed
            namespace node has a string value that is not a valid URI.