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>