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

Объявляет элемент.

<element
  abstract = Boolean : false
  block = (#all | List of (extension | restriction | substitution))
  default = string
  final = (#all | List of (extension | restriction))
  fixed = string
  form = (qualified | unqualified)
  id = ID
  maxOccurs = (nonNegativeInteger | unbounded) : 1
  minOccurs = nonNegativeInteger : 1
  name = NCName
  nillable = Boolean : false
  ref = QName
  substitutionGroup = QName
  type = QName
  {any attributes with non-schema Namespace}...>
Content: (annotation?, ((simpleType | complexType)?, (unique | key | 
keyref)*))
</element>

Атрибуты

  • abstract
    Указывает, можно ли применять элемент в документе экземпляра. Если значение равно true, элемент не может присутствовать в документе экземпляра. На месте этого элемента должен быть другой, атрибут substitutionGroup которого содержит квалифицированное имя (QName) данного элемента. Ссылаться на данный элемент через атрибут substitutionGroup могут несколько элементов.

    Значение по умолчанию — false.

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

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

    расширение

    Предотвращает использование вместо этого элемента элементов, унаследованных по расширению.

    ограничение

    Предотвращает использование вместо этого элемента элементов, унаследованных по ограничению.

    substitution

    Предотвращает использование вместо этого элемента элементов, унаследованных по замещению.

    #all

    Предотвращает использование вместо этого элемента всех унаследованных элементов.

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

  • default
    Значение этого элемента по умолчанию, если его содержимое относится к простому типу или принадлежит к типу textOnly.

    Атрибуты fixed и default взаимоисключающи.

    Если элемент содержит простой тип, значение должно быть допустимым значением этого типа.

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

  • substitutionGroup
    Имя элемента, который можно заменить данным элементом. Элемент должен быть того же типа или типа, унаследованного от типа указанного элемента.

    Этот атрибут можно использовать для любого элемента, если ссылающийся на него элемент объявлен на глобальном уровне (т.е. его родителем является элемент schema).

    Это значение должно представлять собой QName.

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

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

    расширение

    Предотвращает использование вместо этого элемента элементов, унаследованных по расширению.

    ограничение

    Предотвращает использование вместо этого элемента элементов, унаследованных по ограничению.

    #all

    Предотвращает использование вместо этого элемента всех унаследованных элементов.

    Запрещено, если содержащим не является элемент schema.

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

  • fixed
    Предопределенное, неизменяемое значение этого элемента, если его содержимое относится к простому типу или принадлежит к типу textOnly.

    Атрибуты fixed и default взаимоисключающи.

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

  • form
    Форма для элемента . Значением по умолчанию является значение атрибута elementFormDefault элемента schema, содержащего этот атрибут. Значение должно быть одной из следующих строк: «qualified» или «unqualified».

    Если значение не квалифицировано, элемент не обязательно квалифицировать с помощью префикса пространства имен.

    Если значение квалифицировано, элемент нужно квалифицировать с помощью префикса пространства имен.

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

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

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

  • maxOccurs
    Максимальное число появлений элемента в содержащем его элементе. Это значение должно быть целым числом, большим или равным 0. Для того, чтобы снять ограничение на максимальное число, используйте строку "unbounded".

    Запрещено, если содержащим является элемент schema.

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

  • minOccurs
    Минимальное число появлений элемента в содержащем его элементе. Это значение должно быть целым числом, большим или равным 0. Чтобы указать, что элемент необязателен, установите атрибуту значение 0.

    Запрещено, если содержащим является элемент schema.

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

  • имя
    Имя элемента. Имя не должно содержать двоеточий (NCName), как определено в спецификации пространств имен XML. Атрибуты Name и ref не могут присутствовать одновременно.

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

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

  • nillable
    Указывает, можно ли присвоить элементу значение nil явным образом. Это относится к содержимому элемента, а не к атрибутам. Значение по умолчанию — false.

    Если для атрибута nillable задано значение true, данный экземпляр элемента может содержать значение true для атрибута nil. Атрибут nil определяется как часть пространства имен XML-схем для экземпляров.

    Например, следующий фрагмент определяет единственный элемент, атрибут nillable которого имеет значение true.

    <xs:element name="myDate" type="xs:date" nillable="true"/>
    

    В следующем фрагменте этот элемент используется, и ему явным образом присваивается значение nil (атрибуту nil присваивается значение true).

    <myDate xsi:nil="true"></myDate>
    

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

  • ref
    Имя элемента, определенного в этой схеме (или другой схеме, заданной указанным пространством имен). Значение ref должно иметь тип QName. ref может включать префикс, определяющий пространство имен.

    Запрещено, если содержащим является элемент schema.

    Если присутствует атрибут ref, элементы complexType, simpleType, key, keyref и unique и атрибуты nillable, default, fixed, form, block и type присутствовать не могут.

    <xs:element ref="comment"/>
    

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

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

    Атрибуты type и ref являются взаимоисключающими.

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

    <xs:element name="name" type="xs:string"/>
    

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

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

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

Количество элементов, определенных в схеме.

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

schema, choice, all, sequence

Описание

simpleType, complexType, key, keyref, unique

Заметки

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

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

Объявления элементов с глобальной областью действия должны непосредственно определять сложные типы.

Элемент simpleType или complexType может присутствовать в виде дочернего только в случае отсутствия атрибутов ref и type.

Кроме того, элементы могут фигурировать в виде ссылок в элементах choice, all, sequence и complexType.

Примеры

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

<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" type="xs:string"
    substitutionGroup="dog" />
<xs:element name="brownDog" type="xs:string"
    substitutionGroup ="dog" />

<xs:element name="pets">
  <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="cat"/>
      <xs:element ref="dog"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

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

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

См. также

Ссылки

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

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