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>