| SAXONICA | 
Operator precedences have changed. They are now aligned with the internal 12 January 2004 draft, except that unary "+" and "-" bind more tightly than anything except "/".
The implementation of the eq family of operators has been brought into line
            with the latest specifications. In particular, an untypedAtomic value is now converted to a string,
            no longer to the type of the other operand. At compile time, a warning rather than an error is now produced
            if the static types of the two operands are incomparable but both optional: technically, comparison of
            xs:integer? to xs:string? is not a static error, because in the case where
            both operands evaluate to an empty sequence, the comparison is legitimate (and returns ()).
         
The SequenceType syntax empty() is now implemented.
         
The syntax for SequenceTypes incorporates some changes agreed by the W3C Working Groups but
            not yet published. Specifically, element(N) matches any element named N whether or not
            N is declared in a schema; element(*) matches any element; element(N, T)
            matches any element named N whose type annotation is T, where T is a simple or global type defined in
            a schema, or a built-in type; schema-element(N) matches an element
            whose name is N, or a name in the substitution group of N, where N is a global element declaration
            in the schema, and whose type matches the type of this global element. And similarly for attributes.