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


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

Объявляет простой тип, который определяет ограничения на значения атрибутов или элементов, включающих только содержимое, а также сведения о них.

<simpleType
  final = (#all | (list | union | restriction)) 
  id = ID 
  name = NCName 
  {any attributes with non-schema Namespace}...>
Content: (annotation?, (restriction | list | union))
</simpleType>

Атрибуты

  • final
    Тип наследования. Атрибут final предотвращает определенный тип наследования от данного элемента simpleType. Значение может содержать строку #all или список, состоящий из подмножества элементов list, union или restriction.

    list

    Предотвращает наследование списком.

    union

    Предотвращает наследование объединением.

    ограничение

    Предотвращает наследование ограничением.

    #all

    Запрещает любое наследование (списком, объединением, ограничением).

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

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

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

  • имя
    Имя типа. Имя не должно содержать двоеточий (NCName), как определено в спецификации пространств имен XML.

    Если указано, имя должно быть уникальным по всем элементам simpleType и complexType.

    Обязательный элемент, если элемент simpleType представляет собой дочерний элемент элемента schema. В противном случае недопустим.

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

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

Без ограничений

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

attribute, element, list, restriction (simpleType), schema, union

Описание

annotation, list, restriction (simpleType), union

Заметки

Простые типы определяются как производные от существующих простых типов (встроенных типов данных и производных простых типов). Простой тип не может содержать элементов и не может иметь атрибутов.

Простой тип можно задать одним из следующих способов:

ограничение

Ограничивает диапазон значений простого типа подмножеством всех значений наследуемого простого типа.

list

Определяет простой тип, который содержит разделенный пробелами список значений наследуемого простого типа.

union

Определяет простой тип, который содержит объединение множества значений двух или более наследуемых простых типов.

Объявление simpleType, содержащееся в элементе complexType или attribute определяет этот простой тип в области действия содержащего его complexType или attribute. Если родителем объявления simpleType является элемент schema, его область действия - глобальная в пределах этой схемы.

После определения простого типа его можно использовать в объявлениях атрибутов, элементов и в определениях complexType (который, в свою очередь, может использоваться для объявления элементов).

Примеры

Следующие примеры демонстрируют определения простых типов с помощью элементов restriction, list и union.

ms256050.collapse_all(ru-ru,VS.120).gifОграничение

В данном примере показан простой тип (freezeboilrangeinteger), ограничивающий целочисленное значение диапазоном с минимальным значением 0 и максимальным значением 100.

<xs:simpleType name="freezeboilrangeInteger">
  <xs:restriction base="xs:integer">
    <xs:minInclusive value="0"/>
    <xs:maxInclusive value="100"/>
  </xs:restriction>
</xs:simpleType>

ms256050.collapse_all(ru-ru,VS.120).gifсписок

Далее показан простой тип (listOfDates), допускающий в качестве содержимого список дат (в котором даты-элементы разделены пробелами).

<xs:simpleType name="listOfDates">
  <xs:list itemType="xs:date"/>
</xs:simpleType>

ms256050.collapse_all(ru-ru,VS.120).gifОбъединение

В данном примере показан простой тип (allframesize), представляющий собой объединение двух других простых типов, которые определяют наборы перечисляемых значений. Один из этих типов содержит размеры дорожных велосипедов как набор значений на основе целых чисел, а другой перечисляет строковые значения размеров горных велосипедов (т. е. «большие», «средние» и «малые»).

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="allframesize">
  <xs:simpleType>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="roadbikesize"/>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="mountainbikesize"/>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:attribute>

<xs:simpleType name="roadbikesize">
  <xs:restriction base="xs:positiveInteger">
    <xs:enumeration value="46"/>
    <xs:enumeration value="52"/>
    <xs:enumeration value="55"/>
  </xs:restriction>
</xs:simpleType>

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

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

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

См. также

Ссылки

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

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