Elemento schema XML Schema

Definizione e uso

L'elemento schema definisce l'elemento radice dello schema.

Informazioni elemento

Insorgenza 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|list of (extension|restriction|list|union))
targetNamespace=anyURI
version=token
xmlns=anyURI
qualsiasi attributo
>
((include|import|redefine|annotation)*,(((simpleType|complexType|
group|attributeGroup)|element|attribute|notation),annotation*)*)
</schema>

proprietà

id

Opzionale. Definisce l'ID unico dell'elemento.

attributeFormDefault

Opzionale. La forma dell'attributo dichiarato nel namespace di destinazione di questo schema. Il valore deve essere uno dei seguenti stringhe: "qualified" o "unqualified". Il valore predefinito è "unqualified".

  • "unqualified" indica che non è necessario specificare l'attributo del namespace di destinazione con prefisso di namespace.
  • "qualified" indica che è necessario specificare l'attributo del namespace di destinazione con prefisso di namespace.

elementFormDefault

Opzionale. La forma dell'elemento dichiarato nel namespace di destinazione di questo schema. Il valore deve essere uno dei seguenti stringhe: "qualified" o "unqualified". Il valore predefinito è "unqualified".

  • "unqualified" indica che non è necessario specificare l'elemento del namespace di destinazione con prefisso di namespace.
  • "qualified" indica che è necessario specificare l'elemento del namespace di destinazione con prefisso di namespace.

blockDefault

Opzionale. Definisce il valore predefinito dell'attributo block sugli elementi element e complexType nel namespace di destinazione. L'attributo block impedisce che un tipo complesso (o elemento) con un tipo derivato specificato venga utilizzato per sostituire un tipo complesso (o elemento) ereditato. Il valore può includere #all o una lista che è un sottoinsieme di extension, restriction o substitution:

  • extension - Impedisce che i tipi complessi derivati tramite estensione vengano utilizzati per sostituire questo tipo complesso.
  • restriction - Impedisce che i tipi complessi derivati tramite restrizione vengano utilizzati per sostituire questo tipo complesso.
  • substitution - Impedisce la sostituzione dell'elemento.
  • #all - Impedisce che tutti i tipi complessi derivati vengano utilizzati per sostituire questo tipo complesso.

finalDefault

Opzionale. Definisce il valore predefinito dell'attributo final degli elementi element, simpleType e complexType nel namespace di destinazione dell'architettura. L'attributo final impedisce che l'elemento, il simpleType o il complexType specificato venga sostituito da un tipo derivato. 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 attraverso estensione. Applica solo agli elementi element e complexType.
  • restriction - Evita la derivazione attraverso restrizione.
  • list - Evita la derivazione attraverso una lista. Applica solo agli elementi simpleType.
  • union - Evita la derivazione attraverso unione. Applica solo agli elementi simpleType.
  • #all - Di default, gli elementi del schema non possono essere derivati da qualsiasi metodo.

targetNamespace

Il riferimento URI della namespace del schema. Può anche assegnare un prefisso a tale namespace. Se non assegnato alcun prefisso, il componente schema del namespace può essere utilizzato insieme a riferimenti non limitati.

versione

Opzionale. Stabilisce la versione del schema.

xmlns

Stabilisce un URI di riferimento di una o più namespace utilizzati in questo schema. Se non assegnato alcun prefisso, il componente schema del namespace può essere utilizzato con riferimenti non limitati.

qualsiasi attributo

Opzionale. Stabilisce 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 dal 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>