Lists and unions derived from ID/IDREF

Does the spec have anything to say about deriving list and union types from
ID and IDREF?

The description of the ID/IDREF table in 3.15.5 discusses IDREFS separately.
This suggests that in that section one should read "derived from" as meaning
"derived by restriction from" (otherwise it would not be necessary to
mention IDREFS).

Am I right in thinking that types derived by List or Union from ID and IDREF
are permitted, but that they imply no uniqueness or referential constraints?

Another reading of the spec is that if a simple type is a list of IDs, then
the entire list is required to be unique. Equally, if a simple type is a
union of ID and integer, then its values are required to be unique - which
becomes a nice trick for defining integer or date-valued unique ids.


Michael Kay
http://www.saxonica.com/

Received on Wednesday, 3 November 2004 11:02:55 UTC