элемент XML Schema schema

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

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

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

количество出现的次数 один раз
родительский элемент (без родительского элемента)
содержание include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType

грамматика

<schema
id=ID 
attributeFormDefault=qualified|unqualified
elementFormDefault=qualified|unqualified
blockDefault=(#all|list of (extension|restriction|substitution))
finalDefault=(#all|list of (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

Опционально. Форма атрибутов, объявленных в целевом пространстве имен schema. Значение должно быть одним из следующих строк: "qualified" или "unqualified". Значением по умолчанию является "unqualified".

  • "unqualified" указывает, что атрибуты целевого пространства имен не должны быть ограничены префиксом пространства имен.
  • "qualified" указывает, что атрибуты целевого пространства имен должны быть ограничены префиксом пространства имен.

elementFormDefault

Опционально. Форма элементов, объявленных в целевом пространстве имен schema. Значение должно быть одним из следующих строк: "qualified" или "unqualified". Значением по умолчанию является "unqualified".

  • "unqualified" указывает, что элементы целевого пространства имен не должны быть ограничены префиксом пространства имен.
  • "qualified" указывает, что элементы целевого пространства имен должны быть ограничены префиксом пространства имен.

blockDefault

Опционально. Определяет значение по умолчанию для атрибута block на элементах element и complexType в целевом пространстве имен. Атрибут block предотвращает использование сложного типа (или элемента) с указанным производным типом для замены наследуемого сложного типа (или элемента). Значение может содержать #all или список, который является подмножеством extension, restriction или substitution:

  • extension - Предотвращает использование производных сложных типов для замены данного сложного типа через расширение.
  • restriction - Предотвращает использование производных сложных типов для замены данного сложного типа через ограничение.
  • substitution - Предотвращает замену элементов.
  • #all - Предотвращает использование всех производных сложных типов для замены данного сложного типа.

finalDefault

Опционально. Определяет значение по умолчанию для атрибута final элемента, simpleType и complexType в целевом命名ном пространстве schema. Атрибут final предотвращает использование指定的 типов вывода для element, simpleType или complexType. Для element и complexType элемента значение может содержать #all или список, который является подмножеством extension или restriction. Для элемента simpleType значение также может содержать list и union:

  • extension - По умолчанию, элементы в данном schema не могут быть расширены. Применяется только к элементам element и complexType.
  • restriction - Предотвращает вывод через ограничение.
  • list - Предотвращает вывод через список. Применяется только к элементам simpleType.
  • union - Предотвращает вывод через объединение. Применяется только к элементам simpleType.
  • #all - По умолчанию, элементы в данном schema не могут быть派яты любыми способами.

targetNamespace

URI引用schema命名空间的 URI. Также можно назначить префикс для этого命名ства. Если не назначен ни один префикс, компонент schema этого命名ства может использоваться с неограниченными ссылками.

version

Опционально. Определяет версию schema.

xmlns

Определяет один или несколько URIs命名空间, используемых в данном schema. Если не назначен префикс, компонент schema этого命名空间的 может использоваться с неограниченными ссылками.

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

Опционально. Определяет любые другие атрибуты с non-schema命名空间.

Пример

Пример 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

В данном примере компонент schema (имя элемента, тип) в命名空间 http://www.w3.org/2001/XMLSchema не ограничен, а http://www.codew3c.com/codew3cschema (mystring) ограничен префиксом wsc:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsc="http://www.codew3c.com/codew3cschema"
<element name="fname" type="wsc:mystring"/>
</schema>