W3C has published a new working draft document which describes constructors, operators, and functions that are used in XQuery 1.0 and XPath 2.0. The draft "was produced through the efforts of a joint task force of the W3C XML Query Working Group and the W3C XML Schema Working Group and a second joint task force of the W3C XML Query Working Group and the W3C XSL Working Group. The specification defines basic operators and functions on the datatypes defined in XML Schema Part 2: Datatypes for use in XQuery, XPath, and other related XML standards. It also discusses operators and functions on nodes and node sequences as defined in the XQuery 1.0 and XPath 2.0 Data Model for use in XQuery, XPath, and other related XML standards. Where XML Schema Part 2 defines a number of primitive and derived datatypes, collectively known as built-in datatypes, the new working draft defines operations on those datatypes. The document defines a number of constructors and other functions that apply to one or more data types; each constructor and function is defined by specifying its signature, a description of each of its arguments, and its semantics. In addition, examples are given of many constructors and functions to illustrate their use. The WD is generally unconcerned with the specific syntax with which the constructors, operators, and functions will be used, and focuses instead on defining the semantics of them as precisely as feasible."
"In general, XQuery 1.0: An XML Query Language does not support function overloading. Consequently, there are no overloaded functions in this document except for legacy XPath 1.0 functions such as string() which takes a single argument of a variety of types and concat() which takes a variable number of string arguments. This does not apply to operators such as '+' which may be overloaded. Functions with optional arguments are allowed. If optional arguments are omitted, omissions are assumed to begin from the right..."