Атомные и
списковые типы дают возможность значению элемента или атрибута представляться в
одном или нескольких примерах из одного атомного типа. Напротив, объединяемый
тип дает возможность значению элемента или атрибута представляться в одном или
нескольких примерах одним типом, который получен посредством объединения
нескольких атомных и списковых типов. Чтобы проиллюстрировать это, мы
создадим объединяемый тип, который
представит американские штаты, как сокращенные символьные аббревиатуры или
списки числовых кодов. Объединяемый тип zipUnion сформирован из одного атомного типа и одного спискового типа:
<xsd:simpleType name=”zipUnion”> <xsd:union memberTypes=”USState listOfMyIntType”/> </xsd:simpleType>
Когда мы определяем объединяемый
тип, значение атрибута memberTypes
является списком всех типов в объединении.
Теперь, предположим мы объявили
элемент с именем zips
из типа zipUnion, допустимые примеры элемента будут:
<zips>CA</zips> <zips>95630 95977 95945</zips> <zips>AK</zips>
К объединяемому типу могут быть
применены два ограничения pattern
и enumeration
.