Data Model WD: dm:atomic-value-sequence() function

Hi,

In the Data Model WD, the definition of the dm:atomic-value-sequence()
functions says:

  If an atomic type is used as the argument to
  dm:atomic-value-sequence... When a list type is used with
  dm:atomic-value-sequence... Using xs:anySimpleType as the
  argument.... Using xs:anyType as the argument... If a complex type
  with complex content is used to invoke the constructor...

There are two kinds of types that are missing from this definition and
that should be added:

  1. complex types with simple content
  2. union types

Presumably complex types with simple content are treated like the
simple type of the simple content, and if the simple content has an
anonymous type then they're treated like xs:anySimpleType (although
hopefully that'll change once you've decided how to treat anonymous
types more generally).

For 2, presumably the constructor goes through the member types of the
union type one by one, in order, until it finds one that doesn't raise
an error when it's used to construct the atomic value sequence, and
this it the type that gets used.

The other thing is that the definition for a list type argument is
currently:

  When a list type is used with dm:atomic-value-sequence the resulting
  sequence will contain atomic values whose type is the item type of
  the list type.

There's no guarantee that the item type of a list type is going to be
an atomic type. It could easily be a union type. The phrasing of this
sentence needs to be altered a bit to cater for this possibility.
  
Cheers,

Jeni
---
Jeni Tennison
http://www.jenitennison.com/

Received on Monday, 19 August 2002 15:56:57 UTC