XSD элемент union

Элемент union определяет простой тип, как коллекцию (набор) значений из заданных простых типов данных.

  • Родительские элементы: simpleType

Синтаксис элемента


<union
 id=идентификатор
 memberTypes="список QName"
 любые атрибуты
 >

 (annotation?, (simpleType*))

</union>

(Знак ? указывает на то, что элемент может появляться ноль или один раз, знак * указывает на то, что элемент может появляться ноль, один или больше раз внутри элемента union.)

Атрибуты элемента

АтрибутОписание
idНе обязательный. Определяет уникальный идентификатор для элемента
memberTypesНе обязательный. Определяет список из встроенных типов данных или элементов simpleType, декларированных в схеме
любые атрибутыНе обязательный. Любые другие атрибуты вне пространства имен схемы

Пример использования

В следующем примере определяется простой тип, который является набором из двух простых типов:


<xs:element name="jeans_size">
   <xs:simpleType>
     <xs:union memberTypes="sizebyno sizebystring" />
   </xs:simpleType>
</xs:element>

<xs:simpleType name="sizebyno">
   <xs:restriction base="xs:positiveInteger">
     <xs:maxInclusive value="42"/>
   </xs:restriction>
</xs:simpleType>

<xs:simpleType name="sizebystring">
   <xs:restriction base="xs:string">
     <xs:enumeration value="small"/>
     <xs:enumeration value="medium"/>
     <xs:enumeration value="large"/>
   </xs:restriction>
</xs:simpleType>