OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] xsi:type and unions

[ Lists Home | Date Index | Thread Index ]

Hi Alessandro,

> If an element E is defined of a type T, and there is a type U
> derived by restriction from T, and U is a union whose member types
> are A, B, and C, then:

Since U is derived by restriction from T, T must also be a union whose
member types include A, B and C (or supertypes of those types).

> If an instance of element E appears with an xsi:type attribute, will
> this attribute be interpreted only as asserting the type of E (e.g.,
> U), or can it also be used to identify the member type of U (A, B,
> or C)?

It can also be used to identify the member type of U (and T). The
rules in Type Derivation OK (Simple) [1] apply. xsi:type="U" is OK
because U is derived from T (meeting clause 2.2.1), and xsi:type="A"
etc. are OK because T's variety is union and A is derived from one of
the member definitions of T (meeting clause 2.2.4).

(This is assuming that substitution by restriction hasn't been
disallowed using the block attribute.)



P.S. Questions about XML Schema are usually best directed to

[1] http://www.w3.org/TR/xmlschema-1/#cos-st-derived-ok

Jeni Tennison


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS