Вы здесь

XSD элемент schema

Элемент schema определяет корневой элемент XML схемы.

  • Родительские элементы: нет
Синтаксис

<schema
 id=идентификатор
 attributeFormDefault=qualified | unqualified
 elementFormDefault=qualified | unqualified
 blockDefault=(#all | список из (extension | restriction | substitution))
 finalDefault=(#all | список из (extension | restriction | list | union))
 targetNamespace=anyURI
 version=token
 xmlns=anyURI
 любые атрибуты
 >

 ((include | import | redefine | annotation)*, (((simpleType | complexType |
 group | attributeGroup) | element | attribute | notation), annotation*)*)

</schema>

Атрибуты
Атрибут Описание
id Не обязательный. Определяет уникальный идентификатор для элемента
attributeFormDefault Не обязательный. Определяет форму атрибутов, декларированных в целевом пространстве имен данной схемы. Может принимать значение "qualified" или "unqualified". Значение по умолчанию "unqualified". Значение "unqualified" указывает на то, что атрибуты из целевого пространства имен не требуют уточнения префиксом пространства имен. Значение "qualified" указывает на то, что атрибуты из целевого пространства имен должны уточняться префиксом пространства имен
elementFormDefault Не обязательный. Определяет форму элементов, декларированных в целевом пространстве имен данной схемы. Может принимать значение "qualified" или "unqualified". Значение по умолчанию "unqualified". Значение "unqualified" указывает на то, что элементы из целевого пространства имен не требуют уточнения префиксом пространства имен. Значение "qualified" указывает на то, что элементы из целевого пространства имен должны уточняться префиксом пространства имен
blockDefault

Не обязательный. Определяет значение по умолчанию для атрибута block для элементов element и complexType в целевом пространстве имен. Запрещает использование сложного типа или элемента с определенным типом наследования на месте данного сложного типа или элемента. Может принимать значение #all или список из расширений/ограничений/замещений:

  • extension — запрещает расширять элементы при помощи расширений
  • restriction — запрещает расширять элементы при помощи ограничений
  • substitution — запрещает замещение элементов
  • #all — запрещает расширят элементы всеми методами
finalDefault

Не обязательный. Устанавливает значение по умолчанию атрибута final для элементов element, simpleType и complexType в целевом пространстве имен. Атрибут final запрещает расширять элементы по определенному методу. Для элементов element и complexType может принимать значение #all или список из расширений/ограничений. Для элементов simpleType сюда также добавляются списки и объединения:

  • extension — запрещает расширение при помощи расширений
  • restriction — запрещает расширение при помощи ограничений
  • list — запрещает расширение при помощи списка
  • union — запрещает расширение при помощи объединения
  • #all — запрещает расширение любым методом
targetNamespace Не обязательный. URI пространства имен данной схемы
version Не обязательный. Версия схемы
xmlns URI, определяющая одно или больше пространств имен для использования в данной схеме. Если префикс не указан, то компоненты пространства имен схемы могут использоваться без уточнения
любые атрибуты Не обязательный. Любые другие атрибуты вне пространства имен схемы
Примеры использования элемента

Пример №1


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

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

</xs:schema>

Пример №2
В следующем примере компоненты схемы (имя элемента, тип) в пространстве имен "http://www.w3.org/2001/XMLSchema" не уточняются, а для пространства имен "https://www.example.com/sschema" (mystring) уточняются при помощи префикса wsc:


<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
 xmlns:wsc="https://www.example.com/sschema">

<element name="fname" type="wsc:mystring"/>

</schema>