# fn:upper-case - XPath XQuery Reference

Converts a string to upper case.deterministiccontext-independentfocus-independentIf the value of $arg is the empty sequence, the zero-length string is
            returned.Otherwise, the function returns the value of $arg after translating every
               character to its upper-case correspondent as
            defined in the appropriate case mappings section in the Unicode standard . For versions of Unicode beginning with the 2.1.8 update, only
            locale-insensitive case mappings should be applied. Beginning with version 3.2.0 (and
            likely future versions) of Unicode, precise mappings are described in default case
            operations, which are full case mappings in the absence of tailoring for particular
            languages and environments. Every lower-case character that does not have an upper-case
            correspondent, as well as every upper-case character, is included in the returned value
            in its original form. fn:upper-case("abCd0")"ABCD0"Case mappings may change the length of a string. In general, the
               fn:upper-case and fn:lower-case functions are not inverses
            of each other: fn:lower-case(fn:upper-case($arg)) is not guaranteed to
            return $arg, nor is fn:upper-case(fn:lower-case($arg)). The
            Latin small letter dotless i (as used in Turkish) is perhaps the most prominent
            lower-case letter which will not round-trip. The Latin capital letter i with dot above
            is the most prominent upper-case letter which will not round trip; there are others,
            such as Latin capital letter Sharp S (#1E9E) which was introduced in Unicode 5.1. These functions may not always be linguistically appropriate (e.g. Turkish i without
            dot) or appropriate for the application (e.g. titlecase). In cases such as Turkish, a
            simple translation should be used first. Because the function is not sensitive to locale, results will not always match user
            expectations. In Quebec, for example, the standard uppercase equivalent of "è" is "È",
            while in metropolitan France it is more commonly "E"; only one of these is supported by
            the functions as defined. Many characters of class Ll lack uppercase equivalents in the Unicode case mapping
            tables; many characters of class Lu lack lowercase equivalents.