element XML Schema schema
definicja i użycie
element schema definiuje korzeń schematu.
informacje o elemencie
ilość wystąpień | raz |
rodzic | (无父元素) |
zawartość | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
gramatyka
<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 Każde atrybuty > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Atrybut
id
Opcjonalne. Określa unikalny ID tego elementu.
attributeFormDefault
Opcjonalne. Forma atrybutów deklarowanych w przestrzeni nazw docelowej tego schemy. Wartość musi być jednym z poniższych ciągów znaków: "qualified" lub "unqualified". Domyślną wartością jest "unqualified".
- "unqualified" wskazuje, że atrybuty w przestrzeni nazw docelowej nie muszą być ograniczane za pomocą prefiksu przestrzeni nazw.
- "qualified" wskazuje, że atrybuty w przestrzeni nazw docelowej muszą być ograniczone za pomocą prefiksu przestrzeni nazw.
elementFormDefault
Opcjonalne. Forma elementów deklarowanych w przestrzeni nazw docelowej tego schemy. Wartość musi być jednym z poniższych ciągów znaków: "qualified" lub "unqualified". Domyślną wartością jest "unqualified".
- "unqualified" wskazuje, że elementy w przestrzeni nazw docelowej nie muszą być ograniczane za pomocą prefiksu przestrzeni nazw.
- "qualified" wskazuje, że elementy w przestrzeni nazw docelowej muszą być ograniczone za pomocą prefiksu przestrzeni nazw.
blockDefault
Opcjonalne. Określa wartość domyślną atrybutu block dla elementów i elementów complexType w przestrzeni nazw docelowej. Atrybut block zapobiega używaniu typów złożonych (lub elementów) o określonym typie pochodnym do zastępowania dziedziczonego typu złożonego (lub elementu). Ta wartość może zawierać #all lub listę, która jest podzbiorem extension, restriction lub substitution:
- extension - Zapobiega używaniu pochodnych typów złożonych do zastępowania tego typu złożonego poprzez rozszerzenie.
- restriction - Zapobiega używaniu pochodnych typów złożonych do zastępowania tego typu złożonego poprzez ograniczenie.
- substitution - Zapobiega zastępowaniu elementów.
- #all - Zapobiega używaniu wszystkich pochodnych typów złożonych do zastępowania tego typu złożonego.
finalDefault
Opcjonalnie. Określa wartość domyślną dla atrybutu final element, simpleType i complexType w docelowej przestrzeni nazw tego schema. Atrybut final zapobiega określonym typom pochodności elementu, simpleType lub complexType. Dla elementów i complexType wartość może zawierać #all lub listę, która jest podzbiorem extension lub restriction. Dla elementów simpleType wartość może również zawierać list i union:
- extension - Domyślnie, elementy tego schema nie mogą być pochodne przez rozszerzenie. Dotyczy tylko elementów element i complexType.
- restriction - Zapobiega pochodności przez restriction.
- list - Zapobiega pochodności przez list. Dotyczy tylko elementów simpleType.
- union - Zapobiega pochodności przez union. Dotyczy tylko elementów simpleType.
- #all - Domyślnie, elementy tego schema nie mogą być pochodne w żaden sposób.
targetNamespace
Odniesienie URI przestrzeni nazw tego schema. Można również przypisać temu przestrzeni nazwy prefiks. Jeśli nie przypisano żadnego prefiksu, komponenty schema tej przestrzeni nazwy mogą być używane z nieograniczonymi odniesieniami.
wersja
Opcjonalnie. Określa wersję schema.
xmlns
Określa jedną lub kilka odniesień URI przestrzeni nazw używanych w tym schema. Jeśli nie przypisano prefiksu, komponenty schema tej przestrzeni nazw mogą być używane z nieograniczonymi odniesieniami.
Każde atrybuty
Opcjonalnie. Określa każdą inną właściwość z non-schema przestrzeni nazw.
Przykład
Przykład 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Przykład 2
W tym przykładzie, komponent schema (nazwa elementu, typ) w przestrzeni nazw http://www.w3.org/2001/XMLSchema jest nieograniczony, podczas gdy http://www.codew3c.com/codew3cschema (mystring) jest ograniczony za pomocą przedrostka 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>