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 enkele eigenschappen > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Eigenschap
id
Optioneel. Stelt het unieke ID van dit element in.
attributeFormDefault
Optioneel. De vorm van de eigenschappen die in de doelnaamruimte van dit schema worden verklaard. De waarde moet een van de volgende strings zijn: "qualified" of "unqualified". De standaardwaarde is "unqualified".
- "unqualified" geeft aan dat eigenschappen in de doelnaamruimte niet moeten worden gedefinieerd met een naamruimteprefix.
- "qualified" geeft aan dat eigenschappen in de doelnaamruimte moeten worden gedefinieerd met een naamruimteprefix.
elementFormDefault
Optioneel. De vorm van de elementen die in de doelnaamruimte van dit schema worden verklaard. De waarde moet een van de volgende strings zijn: "qualified" of "unqualified". De standaardwaarde is "unqualified".
- "unqualified" geeft aan dat elementen in de doelnaamruimte niet moeten worden gedefinieerd met een naamruimteprefix.
- "qualified" geeft aan dat elementen in de doelnaamruimte moeten worden gedefinieerd met een naamruimteprefix.
blockDefault
Optioneel. Stelt de standaardwaarde van de block-eigenschap voor op de element en complexType-elementen in de doelnaamruimte. De block-eigenschap voorkomt dat complexe typen (of elementen) met een gespecificeerde afgeleide type worden gebruikt om de geërfde complexe typen (of elementen) te vervangen. De waarde kan #all bevatten of een lijst, die een subset is van extension, restriction of substitution:
- extension - Voorkom dat afgeleide complexe typen worden gebruikt om de complexe type te vervangen door uitbreiding.
- restriction - Voorkom dat afgeleide complexe typen worden gebruikt om de complexe type te vervangen door beperking.
- substitution - Voorkom de vervanging van elementen.
- #all - Voorkom dat alle afgeleide complexe typen worden gebruikt om de complexe type te vervangen.
finalDefault
Optioneel. Stelt de standaardwaarde voor de final-eigenschap van element, simpleType en complexType-elementen in de doelnamenruimte van het schema vast. De final-eigenschap voorkomt het specifieke afleiden van de element, simpleType of complexType-elementen. Voor element en complexType-elementen kan deze waarde #all of een lijst bevatten, die de subset van extension of restriction is. Voor simpleType-elementen kan de waarde ook list en union bevatten:
- extension - Standaard kunnen de elementen in dit schema niet worden afgeleid via een uitbreiding. Alleen van toepassing op element en complexType-elementen.
- restriction - Voorkomt afleiding via een beperking.
- list - Voorkomt afleiding via een lijst. Alleen van toepassing op simpleType-elementen.
- union - Voorkomt afleiding via een unie. Alleen van toepassing op simpleType-elementen.
- #all - Standaard kunnen de elementen in dit schema niet worden afgeleid via enige methode.
targetNamespace
De URI-referentie van de namenruimte van dit schema. Men kan ook een prefix toewijzen aan deze namenruimte. Als er geen prefix is toegewezen, kunnen de schema-componenten van deze namenruimte samen worden gebruikt met onbeperkte referenties.
versie
Optioneel. Stelt de versie van het schema vast.
xmlns
Stelt een of meerdere URI-referenties van namenruimtes die in dit schema worden gebruikt vast. Als er geen prefix is toegewezen, kunnen de schema-componenten van deze namenruimte samen worden gebruikt met onbeperkte referenties.
enkele eigenschappen
Optioneel. Stelt elke andere eigenschap met een non-schema-namenruimte vast.
Voorbeeld
Voorbeeld 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Voorbeeld 2
In dit voorbeeld is de schema-component (element naam, type) in de http://www.w3.org/2001/XMLSchema-namenruimte niet beperkt, terwijl http://www.codew3c.com/codew3cschema (mystring) beperkt is via de wsc-prefix:
<?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>