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