Элемент any в XML Schema

Определение и использование

Элемент any позволяет любому элементу из указанного пространства имен отображаться в контексте, содержащем элементы sequence или choice.

Этот элемент позволяет создателю расширять XML документ через элементы, не определенные схемой.

Информация о элементе

Элемент Описание
Число出现的次数 Без ограничений
Родительский элемент choice、sequence
Содержимое аннотация

Грамматика

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
любые атрибуты
>
(аннотация?)
</any>

(? Символ объявления элемента может出现在 внутри любого элемента 0 или 1 раз.)

Свойства

id

Дополнительные. Указание уникального идентификатора этого элемента.

maxOccurs

Дополнительные. Указание максимального количества раз, которое элемент any может появляться в родительском элементе. Значение может быть целым числом, большим или равным нулю. Если不想 устанавливать ограничение на максимальное количество, используйте строку "unbounded". По умолчанию значение равно 1.

minOccurs

Дополнительные. Указание минимального количества раз, которое элемент any может появляться в родительском элементе. Значение может быть целым числом, большим или равным нулю. Чтобы указать, что этот набор any является необязательным, установите этот атрибут в ноль. По умолчанию значение равно 1.

namespace

Дополнительные. Указание пространства имен, содержащего элементы, которые можно использовать. Если не указано пространство имен, то по умолчанию используется ##any. Если указано пространство имен, оно должно быть одним из следующих значений:

  • ##any - элементы из любого пространства имен могут появляться (по умолчанию).
  • ##other - элементы из любого другого пространства имен, кроме пространства имен, содержащего этот элемент, могут появляться.
  • ##local - элементы, не ограниченные пространством имен, могут появляться.
  • ##targetNamespace - элементы из пространства имен, содержащего этот элемент, могут появляться.
  • Список ссылок на пространства имен {URI references of namespaces, ##targetNamespace, ##local} - элементы из списка пространств имен, разделенных пробелами, могут появляться. Список может содержать следующее: ссылки на URI пространства имен ##targetNamespace и ##local.

processContents

Дополнительные. Индикатор, указывающий, как приложение или XML-преобразователь должно проверять валидацию XML-документа, используя элементы, указанные этим элементом any. Если не указан атрибут processContents, то по умолчанию используется Strict. Если указан processContents, он должен быть одним из следующих значений:

  • Strict - XML-преобразователь должен получить схему необходимого пространства имен и должен проверить все элементы из этих пространств имен. (по умолчанию)
  • Relакс - как Strict; но, даже если не можно получить эту схему, не будет никакой ошибки.
  • Пропуск - XML-преобразователь не проверяет все элементы из указанного пространства имен.

любые атрибуты

Дополнительные атрибуты. Указание любых других атрибутов с non-schema命名空间.

Пример

Ниже приведен пример объявления элемента "person". Используя элемент <any>, создатель может расширить содержимое "person" любым элементом (после <lastname>):

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>