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>