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>