schema

Contiene la definizione di uno schema.

<schema
  attributeFormDefault = (qualified | unqualified): unqualified
  blockDefault = (#all | List of (extension | restriction | substitution) : ''
  elementFormDefault = (qualified | unqualified): unqualified
  finalDefault = (#all | List of (extension | restriction | list | 
union): ''
  id = ID
  targetNamespace = anyURI
  version = token
  xml:lang = language
  {any attributes with non-schema Namespace}...>
Content: ((include | import | redefine | annotation)*, (((simpleType | 
complexType | group | attributeGroup) | element | attribute | notation), 
annotation*)*)
</schema>

Attributi

  • attributeFormDefault
    Form relativo agli attributi dichiarati nello spazio dei nomi di destinazione di questo schema. Il valore deve essere una delle seguenti stringhe: qualified o unqualified. Il valore predefinito è unqualified.

    Se il valore è unqualified, non è obbligatorio qualificare con il prefisso dello spazio dei nomi gli attributi derivanti dallo spazio dei nomi di destinazione.

    Se il valore è qualified, è necessario qualificare con il prefisso dello spazio dei nomi gli attributi derivanti dallo spazio dei nomi di destinazione.

    È il valore predefinito globale per tutti gli attributi dichiarati nello spazio dei nomi di destinazione. Tramite l'attributo form i singoli attributi possono eseguire l'override di questa impostazione per l'ambito locale.

    Facoltativo.

  • blockDefault
    Tipo di derivazione. L'attributo blockDefault imposta il valore predefinito dell'attributo block sugli elementi element e complexType dello spazio dei nomi di destinazione di questo schema. L'attributo block impedisce di utilizzare, al posto del tipo complesso o l'elemento ereditato, un tipo complesso o un elemento dotato del tipo di derivazione specificato. Il valore può contenere #all o un elenco costituito da un sottoinsieme di tipo extension, restriction o substitution.

    extension Impedisce di utilizzare tipi complessi derivati per estensione al posto di questo tipo complesso.
    restriction Impedisce di utilizzare tipi complessi derivati per restrizione, al posto di questo tipo complesso.
    substitution Impedisce la sostituzione degli elementi. È possibile dichiarare un elemento come sostituto di un altro elemento specificando nell'attributo substitutionGroup il nome dell'elemento da sostituire.
    #all Impedisce di utilizzare tutti i tipi complessi derivati, al posto di questo tipo complesso.

    Facoltativo.

  • elementFormDefault
    Form relativo agli elementi dichiarati nello spazio dei nomi di destinazione di questo schema. Il valore deve essere una delle seguenti stringhe: qualified o unqualified. Il valore predefinito è unqualified.

    Se il valore è unqualified, non è obbligatorio qualificare con il prefisso dello spazio dei nomi gli elementi derivanti dallo spazio dei nomi di destinazione.

    Se il valore è qualified, è necessario qualificare con il prefisso dello spazio dei nomi gli elementi derivanti dallo spazio dei nomi di destinazione.

    È il valore predefinito globale per tutti gli elementi dichiarati nello spazio dei nomi di destinazione. Tramite l'attributo form i singoli elementi possono eseguire l'override di questa impostazione per l'ambito locale.

    Facoltativo.

  • finalDefault
    Tipo di derivazione. L'attributo finalDefault imposta il valore predefinito dell'attributo final sugli elementi element, simpleType e complexType dello spazio dei nomi di destinazione di questo schema. L'attributo final impedisce il tipo di derivazione specificato per gli elementi element, simpleType o complexType. Per gli elementi complexType ed element il valore può contenere #all o un elenco costituito da un sottoinsieme di estensione o restrizione. Per gli elementi simpleType, questo valore può contenere anche list e union.

    extension In base all'impostazione predefinita, gli elementi di questo schema non possono essere derivati per estensione. Si applica solo agli elementi complexType ed element.
    restriction Impedisce la derivazione per restrizione.
    list Impedisce la derivazione tramite elenco. Si applica solo agli elementi simpleType.
    union Impedisce la derivazione tramite unione. Si applica solo agli elementi simpleType.
    #all #all. In base all'impostazione predefinita, non è possibile utilizzare un metodo per derivare gli elementi di questo schema.

    Facoltativo.

  • id
    ID dell'elemento. Il valore di id deve essere di tipo ID ed essere univoco all'interno del documento che contiene l'elemento.

    Facoltativo.

  • targetNamespace
    Riferimento URI dello spazio dei nomi di questo schema. È anche possibile assegnare un prefisso relativo allo spazio dei nomi. Se non viene assegnato alcun prefisso, è possibile utilizzare i componenti dello schema dello spazio dei nomi con riferimenti non qualificati.

    Facoltativo.

  • version
    Versione dello schema.

    Facoltativo.

  • xml:lang
    Indicatore della lingua utilizzata nel contenuto.

    Facoltativo.

Informazioni sull'elemento

Numero di occorrenze Una volta
Elementi padre Nessun elemento padre
Contenuto include, import, annotation, redefine

attribute, attributeGroup, element, group, notation, simpleType, complexType

Altro Gli elementi include, import e redefine devono precedere gli altri, a parte l'elemento annotation che può essere visualizzato in qualsiasi punto.

Osservazioni

In una definizione di schema, Schema è l'elemento del documento, ossia l'elemento di primo livello.

Gli spazi dei nomi specificati tramite l'attributo xmlns devono includere lo spazio dei nomi relativo agli attributi e agli elementi di definizione dello schema, come schema, element e così via. È possibile utilizzare qualsiasi prefisso, ma si consiglia di utilizzare schema come spazio dei nomi predefinito, per evitare di utilizzare un prefisso su ogni elemento dello schema XML.

Il valore di targetNamespace indica lo spazio dei nomi di tutti i componenti di schema presenti in questo schema, nonché in qualsiasi schema incluso utilizzando l'elemento include. È necessario che gli schemi inclusi abbiano lo stesso spazio dei nomi di destinazione dello schema contenitore o che non abbiano alcuno spazio dei nomi di destinazione. Nell'esempio che segue, i componenti dello schema (nome elemento, tipo) nello spazio dei nomi http://www.w3.org/2001/XMLSchema sono non qualificati, mentre quelli relativi a http://tempuri.org/myschema (mydecimal) sono qualificati con il prefisso msc.

<xs:schema 
     xmlns="http://www.w3.org/2001/XMLSchema"
     xmlns:msc="http://tempuri.org/myschema"
     targetNamespace="http://tempuri.org/myschema">
  <xs:element name="Price" type="msc:mydecimal"/>
</xs:schema>

Lo spazio dei nomi per lo schema XML è il seguente:

http://www.w3.org/2001/XMLSchema

L'elemento schema deve inoltre contenere le dichiarazioni degli spazi dei nomi di tutti gli altri schemi utilizzati.

Esempio

Lo schema che segue utilizza lo spazio dei nomi dello schema XML come predefinito e definisce http://mynamespace/myschema come spazio dei nomi di destinazione per lo schema.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
         targetNamespace="http://mynamespace/myschema">
  <!--Put schema content here  -->
</xs:schema>

Vedere anche

Informazioni di riferimento sullo schema XML (XSD) | Elementi di uno schema XML | include

Per ulteriori informazioni, vedere il documento del W3C dal titolo XML Schema Part 1: Structures Recommendation all'indirizzo http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-schema/ (informazioni in lingua inglese).