элемент XML Schema 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

Выборочно. Определяет уникальный ID для элемента.

attributeFormDefault

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

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

elementFormDefault

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

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

blockDefault

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

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

finalDefault

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

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

targetNamespace

URI引用命名空间的schema. также можно назначить префикс этой命名空间的. Если не назначен никакой префикс, компонент 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>