Поделиться через


Элемент <xsd:union>

Определяет коллекцию из нескольких определений simpleType.

<union
  id = ID 
  memberTypes = List of QNames 
  {any attributes with non-schema Namespace}...>
Content: (annotation?, (simpleType*))
</union>

Атрибуты

  • id
    Идентификатор данного элемента. Значение id должно иметь тип ID и быть уникальным в пределах документа, содержащего этот элемент.

    Необязательно.

  • memberTypes
    Список имен встроенных типов данных или элементов simpleType, определенных в этой схеме (или другой схеме, заданной указанным пространством имен). Элемент simpleType, содержащий элемент union, является производным от простых типов, заданных значением memberTypes. Значения memberTypes должны быть полными именами (QName).

    Для определений объединений простых типов список простых типов является объединением содержимого memberTypes (который тоже представляет собой список простых типов), и каждого из определений дочерних элементов simpleType в элементе union. См. второй пример далее в этом разделе.

    Атрибут memberTypes является противоположностью атрибута itemType для элемента list, который является взаимоисключающим для дочернего элемента simpleType элемента list.

    Необязательно.

Сведения об элементе

Количество вхождений

Однократно

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

simpleType

Описание

annotation, simpleType

Пример

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

<xs:attribute name="fontsize">
  <xs:simpleType>
    <xs:union memberTypes="fontbynumber fontbystringname" />
  </xs:simpleType>
</xs:attribute>

<xs:simpleType name="fontbynumber">
  <xs:restriction base="xs:positiveInteger">
    <xs:maxInclusive value="72"/>
  </xs:restriction>
</xs:simpleType>

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

Пример

В следующем примере показано определение простого типа, который представляет собой объединение всех неотрицательных целых чисел и типа NMTOKEN "unbounded". (Пример взят из документа «W3C схема XML. Часть 1: спецификация структур».)

<xs:simpleType name="allNNI">
  <xs:annotation>
    <xs:documentation>for maxOccurs</xs:documentation>
  </xs:annotation>
  <xs:union memberTypes="nonNegativeInteger">
   <xs:simpleType>
    <xs:restriction base="xs:NMTOKEN">
     <xs:enumeration value="unbounded"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:union>
 </xs:simpleType>

Другие ресурсы

Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 1: структуры» по адресу www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.

См. также

Ссылки

Справочник по XML-схемам (XSD)

Элементы XML-схемы