XSD - Elemento <schema>

<schema> è l'elemento radice di ogni XML Schema.

<schema> elemento

<schema> è l'elemento radice di ogni XML Schema:

<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>

<schema> elemento può contenere attributi. Una dichiarazione schema spesso ha questo aspetto:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.com"
elementFormDefault="qualified">
...
...
</xs:schema>

Spiegazione del codice:

Il seguente fragmento:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Mostra che gli elementi e i tipi di dati utilizzati nel schema provengono dal namespace "http://www.w3.org/2001/XMLSchema". Inoltre, stabilisce che gli elementi e i tipi di dati provenienti dal namespace "http://www.w3.org/2001/XMLSchema" devono utilizzare il prefisso xs:

Questo fragmento:

targetNamespace="http://www.codew3c.com"

Mostra che gli elementi definiti da questo schema (note, to, from, heading, body) provengono dal namespace: "http://www.codew3c.com".

Questo fragmento:

xmlns="http://www.codew3c.com"

Indica che il namespace predefinito è "http://www.codew3c.com".

Questo fragmento:

elementFormDefault="qualified"

Indica che qualsiasi elemento di documento di istanza XML utilizzato e dichiarato in questo schema deve essere limitato dal namespace.

Riferimento al Schema nel documento XML

Questo documento XML contiene riferimenti a XML Schema:

<?xml version="1.0"?>
<note xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>Richiamo</heading>
<body>Non dimenticate la riunione!</body>
</note>

Spiegazione del codice:

Il seguente fragmento:

xmlns="http://www.codew3c.com"

Stabilisce la dichiarazione del namespace predefinito. Questa dichiarazione informa il validatore schema che tutti gli elementi utilizzati in questo documento XML sono dichiarati nel namespace "http://www.codew3c.com".

Una volta che avete un'istanza di XML Schema disponibile:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Puoi utilizzare l'attributo schemaLocation. Questo attributo ha due valori. Il primo valore è lo spazio di nomi da utilizzare. Il secondo valore è l'indirizzo del XML schema utilizzato per lo spazio di nomi:}

xsi:schemaLocation="http://www.codew3c.com note.xsd"