Elemento schema XML Schema
Definizione e uso
L'elemento schema definisce l'elemento radice dello schema.
Informazioni dell'elemento
occorrenza | una |
Padre elemento | (无父元素) |
Contenuto | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
Grammatica
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|lista di (extension|restriction|lista|union))) targetNamespace=anyURI version=token xmlns=anyURI qualsiasi attributo > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Attributo
id
Opzionale. Stabilisce l'ID unico dell'elemento.
attributeFormDefault
Opzionale. La forma degli attributi dichiarati nel namespace di destinazione di questo schema. Questo valore deve essere uno dei seguenti stringhe: "qualified" o "unqualified". Il valore predefinito è "unqualified".
- "unqualified" indica che non è necessario specificare gli attributi del namespace di destinazione con un prefisso di namespace.
- "qualified" indica che gli attributi del namespace di destinazione devono essere specificati con un prefisso di namespace.
elementFormDefault
Opzionale. La forma degli elementi dichiarati nel namespace di destinazione di questo schema. Questo valore deve essere uno dei seguenti stringhe: "qualified" o "unqualified". Il valore predefinito è "unqualified".
- "unqualified" indica che non è necessario specificare gli elementi del namespace di destinazione con un prefisso di namespace.
- "qualified" indica che gli elementi del namespace di destinazione devono essere specificati con un prefisso di namespace.
blockDefault
Opzionale. Stabilisce il valore predefinito dell'attributo block sugli elementi element e complexType nel namespace di destinazione. L'attributo block evita che i tipi complessi (o elementi) con un tipo derivato specifico vengano utilizzati per sostituire i tipi complessi (o elementi) ereditati. Questo valore può contenere #all o una lista, che è un sottoinsieme di extension, restriction o substitution:
- extension - Evita che i tipi complessi derivati attraverso estensioni vengano utilizzati per sostituire questo tipo complesso.
- restriction - Evita che i tipi complessi derivati attraverso limitazioni vengano utilizzati per sostituire questo tipo complesso.
- substitution - Evita la sostituzione degli elementi.
- #all - Evita che tutti i tipi complessi derivati vengano utilizzati per sostituire questo tipo complesso.
finalDefault
Opzionale. Specifica il valore predefinito degli attributi final degli elementi element, simpleType e complexType nel namespace obiettivo dello schema. L'attributo final impedisce la derivazione di tipi specificati degli elementi element, simpleType o complexType. Per gli elementi element e complexType, il valore può includere #all o una lista che è un sottoinsieme di extension o restriction. Per gli elementi simpleType, il valore può anche includere list e union:
- extension - Di default, gli elementi del schema non possono essere derivati tramite estensione. Applicabile solo agli elementi element e complexType.
- restriction - Protegge dalla derivazione tramite restrizione.
- list - Protegge dalla derivazione tramite elenco. Applicabile solo agli elementi simpleType.
- union - Protegge dalla derivazione tramite unione. Applicabile solo agli elementi simpleType.
- #all - Di default, gli elementi del schema non possono essere derivati tramite alcun metodo.
targetNamespace
La referenza URI della namespace del schema. Può anche assegnare un prefisso a tale namespace. Se non viene assegnato alcun prefisso, il componente schema del namespace può essere utilizzato insieme a riferimenti non limitati.
versione
Opzionale. Specifica la versione del schema.
xmlns
Specifica una o più referenze URI di namespace utilizzate in questo schema. Se non viene assegnato alcun prefisso, il componente schema del namespace può essere utilizzato con riferimenti non limitati.
qualsiasi attributo
Opzionale. Specifica qualsiasi altra proprietà con namespace non schema.
Esempio
Esempio 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Esempio 2
In questo esempio, il componente schema (nome dell'elemento, tipo) nella namespace http://www.w3.org/2001/XMLSchema è non limitato, mentre http://www.codew3c.com/codew3cschema (mystring) è limitato tramite il prefisso 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>