Элемент any в XML Schema
Определение и использование
Элемент any позволяет любому элементу из указанного пространства имен отображаться в элементах sequence или choice.
Этот элемент позволяет создателю расширять XML-документ с помощью элементов, не определенных схемой.
Информация о элементе
Элемент | Описание |
---|---|
Число出现的次数 | Без ограничений |
Родительский элемент | choice, sequence |
Содержимое | annotation |
Грамматика
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict any attributes > (annotation?) </any>
(? Знак.annotations позволяет элементу出现在 в любом элементе ноль или один раз.)
Атрибут
id
Доступно. Определяет уникальный идентификатор элемента.
maxOccurs
Доступно. Определяет максимальное количество раз, которое элемент any может появляться в родительском элементе. Это значение может быть целым числом, большым или равным нулю. Если вы не хотите устанавливать ограничение на максимальное количество, пожалуйста, используйте строку "unbounded". Значение по умолчанию равно 1.
minOccurs
Опционально. Определяет минимальное количество раз, которое элемент any может появляться в родительском элементе. Значение может быть любым целым числом, большего или равным нулю. Чтобы определить, что группа any опциональна, установите это свойство в ноль. По умолчанию значение равно 1.
namespace
Опционально. Определяет пространство имен, содержащее элементы, которые могут быть использованы. Если пространство имен не указано, по умолчанию ##any.
- ##any - элементы из любого пространства имен могут появляться (по умолчанию).
- ##other - элементы из любого другого пространства имен, кроме пространства имен, содержащего родительский элемент, могут появляться.
- ##local - элементы, не ограниченные пространством имен, могут появляться.
- ##targetNamespace - элементы из пространства имен, содержащего родительский элемент, могут появляться.
- Список URI-ссылок на пространства имен, ##targetNamespace, ##local - элементы из списка пространств имен, разделенных пробелами, могут появляться. Список может содержать следующее: URI-ссылки на пространства имен ##targetNamespace и ##local.
processContents
Опционально. Индикатор, указывающий, как приложение или XML-обработчик должно проверять валидность XML-документа на основе элементов, указанных этим элементом any. Если не указан атрибут processContents, то по умолчанию strict. Если указан processContents, он должен быть одним из следующих значений:
- strict - XML-обработчик должен получить схему необходимого пространства имен и должен проверять все элементы из этих пространств имен. (по умолчанию)
- lax - как strict; но, даже если не может получить схему, не будет никаких ошибок.
- skip - XML-обработчик не проверяет все элементы из указанного пространства имен.
any attributes
Опционально. Определяет любые другие атрибуты с non-schema именем пространства имен.
Пример
Пример показывает объявление элемента "person". Создатель может расширить содержимое "person" любым элементом, используя элемент <any> (после <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>