Атомные и списковые типы дают возможность значению элемента или атрибута использовать только один атомный тип. Напротив, объединяемый тип дает возможность сформировать тип элемента или атрибута посредством объединения нескольких разных атомных и списковых типов. Для иллюстрации мы создадим объединяемый тип 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
.