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