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>
eigenschappen
id
Optioneel. Stelt het unieke ID van het element in.
attributeFormDefault
Optioneel. De vorm van de eigenschappen die in de doelnaamruimte van het schema worden verklaard. De waarde moet een van de volgende strings zijn: "qualified" of "unqualified". De standaardwaarde is "unqualified".
- "unqualified" geeft aan dat eigenschappen van de doelnaamruimte niet moeten worden aangeduid met een naamruimteprefix.
- "qualified" geeft aan dat eigenschappen van de doelnaamruimte moeten worden aangeduid met een naamruimteprefix.
elementFormDefault
Optioneel. De vorm van de elementen die in de doelnaamruimte van het schema worden verklaard. De waarde moet een van de volgende strings zijn: "qualified" of "unqualified". De standaardwaarde is "unqualified".
- "unqualified" geeft aan dat elementen van de doelnaamruimte niet moeten worden aangeduid met een naamruimteprefix.
- "qualified" geeft aan dat elementen van de doelnaamruimte moeten worden aangeduid met een naamruimteprefix.
blockDefault
Optioneel. Stelt de standaardwaarde van de block-eigenschap van de element en complexType-elementen in de doelnaamruimte. De block-eigenschap voorkomt dat complextypen (of elementen) met een specifieke afgeleide type worden gebruikt om de geërfde complextypen (of elementen) te vervangen. De waarde kan #all of een lijst bevatten die een subset is van extension, restriction of substitution:
- extension - Voorkomt dat afgeleide complextypen via extensie worden gebruikt om deze complextype te vervangen.
- restriction - Voorkomt dat afgeleide complextypen via restrictie worden gebruikt om deze complextype te vervangen.
- substitution - Voorkomt de vervanging van elementen.
- #all - Voorkomt dat alle afgeleide complextypen worden gebruikt om deze complextype te vervangen.
finalDefault
Optioneel. Stelt de standaardwaarde van de final-eigenschap van de element, simpleType en complexType-elementen in de doelnaamruimte van de architectuur. De final-eigenschap voorkomt dat de specifieke afgeleide typen van element, simpleType of complexType-elementen worden gebruikt. Voor element en complexType-elementen kan deze waarde #all of een lijst bevatten die een subset is van extension of restriction. Voor simpleType-elementen kan de waarde ook list en union bevatten:
- extension - Standaard kunnen de elementen in dit schema niet worden afgeleid via uitbreiding. Alleen van toepassing op element en complexType-elementen.
- restriction - Voorkomt afleiding via beperking.
- list - Voorkomt afleiding via lijst. Alleen van toepassing op simpleType-elementen.
- union - Voorkomt afleiding via vereniging. 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 naamruimte van dit schema. Men kan ook een voorvoegsel toewijzen aan deze naamruimte. Als er geen voorvoegsel is toegewezen, kunnen de schema-componenten van deze naamruimte samen met onbeperkte referenties worden gebruikt.
versie
Optioneel. Stelt de versie van het schema vast.
xmlns
Stelt een of meerdere URI-referenties van naamruimtes die in dit schema worden gebruikt vast. Als er geen voorvoegsel is toegewezen, kunnen de schema-componenten van deze naamruimte samen met onbeperkte referenties worden gebruikt.
enkele eigenschappen
Optioneel. Stelt elke andere eigenschap met de non-schema naamruimte 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 (elementnaam, type) in de naamruimte http://www.w3.org/2001/XMLSchema niet beperkt, terwijl http://www.codew3c.com/codew3cschema (mystring) wordt beperkt door de voorvoegsel 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>