From 39a5d93935bd61335e2c23dd2e933531e4f6d2eb Mon Sep 17 00:00:00 2001
From: Michael Kay
"e"
whose value matches element(Employee)
,
regardless what other entries the map might contain.
+ For generality, the syntax record(*)
define an extensible record type that has no explicit
+ field declarations. The item type denoted by record(*)
is equivalent to the item type
+ map(*)
: that is, it allows any map.
+
A record test can constrain only those entries whose keys are strings, but when the record test is marked as extensible, then other entries may be present in the map with non-string keys. Entries whose key is a string can be expressed using an (unquoted) NCName if the key conforms to @@ -6352,15 +6359,20 @@ declare function flatten($tree as tree) as item()* {
Record TestsGiven item types A and B, A ⊆
B is true if any of the following apply:
A is map(*)
and B is record(*)
.
All of the following are true:
A is a record test
B is map(*)
A is a record test.
B is map(*)
or record(*)
.
record(longitude, latitude)
⊆ map(*)
record(longitude, latitude, *)
⊆ record(*)
record(*)
⊆ map(*)