diff --git a/specifications/xpath-datamodel-40/src/xpath-datamodel.xml b/specifications/xpath-datamodel-40/src/xpath-datamodel.xml index 68bdcc256..befc533d7 100644 --- a/specifications/xpath-datamodel-40/src/xpath-datamodel.xml +++ b/specifications/xpath-datamodel-40/src/xpath-datamodel.xml @@ -1172,8 +1172,8 @@ more than one other type. Examples include functions (function(xs:string) as xs:int is substitutable for function(xs:NCName) as xs:int and also for function(xs:string) as xs:decimal), and union types -(A is substitutable for union(A, B) and also -for union(A, C)). In XDM, item types include node types, +(A is substitutable for the union type (A | B) and also +for the union type (A | C)). In XDM, item types include node types, function types, and built-in atomic types. The list, which shows only hierarchic relationships, is therefore a simplification of the full model.

diff --git a/specifications/xpath-functions-40/src/xpath-functions.xml b/specifications/xpath-functions-40/src/xpath-functions.xml index 7d291b365..d7dfbcd52 100644 --- a/specifications/xpath-functions-40/src/xpath-functions.xml +++ b/specifications/xpath-functions-40/src/xpath-functions.xml @@ -763,8 +763,8 @@ more than one other type. Examples include functions (function(xs:string) as xs:int is substitutable for function(xs:NCName) as xs:int and also for function(xs:string) as xs:decimal), and union types -(A is substitutable for union(A, B) and also -for union(A, C). In XDM, item types include node types, +(A is substitutable for the union type (A | B) and also +for (A | C). In XDM, item types include node types, function types, and built-in atomic types. The diagram, which shows only hierarchic relationships, is therefore a simplification of the full model.

@@ -6491,8 +6491,8 @@ correctly in all browsers, depending on the system configuration.

--> fn:parse-html function.

- - + + @@ -7127,7 +7127,7 @@ Field 2A,Field 2B,Field 2C,Field 2D' row of the CSV data.

get is a function providing ready access to a given field in a given row. The function has signature:

- function($row as xs:integer, $column as union(xs:string, xs:integer)) as xs:string? + function($row as xs:positiveInteger, $column as (xs:string | xs:positiveInteger)) as xs:string?

The function takes two arguments: the first is an integer giving the row number (1-based), the second identifies a column either by its name or by its 1-based position.

@@ -12039,7 +12039,7 @@ ISBN 0 521 77752 6.

The type of the third argument of fn:format-number has - changed from xs:string to union(xs:string, xs:QName). + changed from xs:string to (xs:string | xs:QName). Because the expected type of this parameter is no longer xs:string, the special coercion rules for xs:string parameters no longer apply. For example, it is no diff --git a/specifications/xquery-40/src/expressions.xml b/specifications/xquery-40/src/expressions.xml index 7356457cb..a02606cb9 100644 --- a/specifications/xquery-40/src/expressions.xml +++ b/specifications/xquery-40/src/expressions.xml @@ -6212,17 +6212,17 @@ name.

Examples: -

union(xs:short, xs:long) ⊆ xs:integer +

(xs:short | xs:long) ⊆ xs:integer because xs:short ⊆ xs:integer and xs:long ⊆ xs:integer.

-

union(P, Q) ⊆ union(P, Q, R) - because P ⊆ union(P, Q, R) and Q ⊆ union(P, Q, R).

+

(P | Q) ⊆ (P | Q | R) + because P ⊆ (P | Q | R) and Q ⊆ (P | Q | R).

enum("red", "green") ⊆ xs:string because the enumeration type enum("red") ⊆ xs:string and enum("green") ⊆ xs:string.

enum("red", "green") ⊆ enum("red", "green", "blue") because enum("red") ⊆ enum("red", "green", "blue") and enum("green") ⊆ enum("red", "green", "blue").

-

enum("red", "green", "blue") ⊆ union(enum("red", "green"), enum("blue")) because +

enum("red", "green", "blue") ⊆ (enum("red", "green") | enum("blue")) because each of the types enum("red"), enum("green"), and enum("blue") is a subtype of one of the two members of the union type.

@@ -6822,9 +6822,9 @@ name.

Where an item type contains a reference to a named item type that is non-recursive, the reference is expanded, recursively, as the first step in evaluating the subtype relationship. For example this means that if U is a named item type with the expansion - union(xs:integer, xs:double), + (xs:integer | xs:double), then xs:integer ⊆ U is true, because - xs:integer ⊆ union(xs:integer, xs:double) is true.

+ xs:integer ⊆ (xs:integer | xs:double) is true.

Recursive types are considered to be, in the terminology of the computer science literature, iso-recursive (rather than equi-recursive). This means that a recursive type name is not @@ -10757,10 +10757,13 @@ return $incrementors[2](4)]]> -

The semantics of the path operator can also be defined using the simple map operator (!) as follows (forming the union with an empty sequence ($R union ()) has the effect of eliminating duplicates and sorting nodes into document order):

+

The semantics of the path operator can also be defined using the simple + map operator (!) as follows (the function + fn:distinct-ordered-nodes($R) has the effect of + eliminating duplicates and sorting nodes into document order):

@@ -21331,7 +21334,7 @@ The result of a cast expression is one of the following: to casting to an anonymous atomic type derived from xs:string whose enumeration facet restricts the value space to the single string "red", while cast $x as enum("red", "green") is equivalent to casting - to union(enum("red"), enum("green")).

+ to (enum("red") | enum("green")).

@@ -21472,7 +21475,7 @@ usa:zipcode?).

If my:chrono is a named item type that expands to - union(xs:date, xs:time, xs:dateTime), then the result + (xs:date | xs:time | xs:dateTime), then the result of my:chrono("12:00:00Z") is the xs:time value 12:00:00Z.

diff --git a/specifications/xslt-40/src/function-catalog.xml b/specifications/xslt-40/src/function-catalog.xml index 126f677f3..d3e041666 100644 --- a/specifications/xslt-40/src/function-catalog.xml +++ b/specifications/xslt-40/src/function-catalog.xml @@ -1184,7 +1184,7 @@ - + @@ -1463,7 +1463,7 @@ - + @@ -1681,7 +1681,7 @@ - + @@ -1842,7 +1842,7 @@ - + @@ -1958,7 +1958,7 @@ - + @@ -2081,7 +2081,7 @@ - + @@ -2209,7 +2209,7 @@ - +