Esercitazione sugli schemi XML
Che cos'è uno schema XML?
Uno schema XML descrive la struttura di un documento XML.
Il linguaggio XML Schema viene anche chiamato XML Schema Definition (XSD).
Esempio XSD
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Lo scopo di uno schema XML è definire gli elementi costitutivi legali di un documento XML:
- gli elementi e gli attributi che possono apparire in un documento
- il numero di (e l'ordine di) elementi figlio
- tipi di dati per elementi e attributi
- valori predefiniti e fissi per elementi e attributi
Perché imparare lo schema XML?
Nel mondo XML, centinaia di formati XML standardizzati sono utilizzati quotidianamente.
Molti di questi standard XML sono definiti da schemi XML.
XML Schema è un'alternativa basata su XML (e più potente) a DTD.
Gli schemi XML supportano i tipi di dati
Uno dei maggiori punti di forza degli schemi XML è il supporto per i tipi di dati.
- È più facile descrivere il contenuto del documento consentito
- È più facile convalidare la correttezza dei dati
- È più facile definire i facet dei dati (restrizioni sui dati)
- È più facile definire modelli di dati (formati di dati)
- È più facile convertire i dati tra diversi tipi di dati
Gli schemi XML utilizzano la sintassi XML
Un altro grande punto di forza degli schemi XML è che sono scritti in XML.
- Non devi imparare una nuova lingua
- Puoi usare il tuo editor XML per modificare i tuoi file Schema
- Puoi usare il tuo parser XML per analizzare i tuoi file Schema
- Puoi manipolare il tuo schema con il DOM XML
- Puoi trasformare il tuo schema con XSLT
Gli schemi XML sono estensibili, perché sono scritti in XML.
Con una definizione di Schema estensibile puoi:
- Riutilizza il tuo schema in altri schemi
- Crea i tuoi tipi di dati derivati dai tipi standard
- Fare riferimento a più schemi nello stesso documento
Schemi XML Comunicazione sicura dei dati
Quando si inviano dati da un mittente a un destinatario, è essenziale che entrambe le parti abbiano le stesse "aspettative" sul contenuto.
Con gli schemi XML, il mittente può descrivere i dati in un modo che il destinatario possa comprendere.
Una data come: "03-11-2004" sarà, in alcuni paesi, interpretata come 3 novembre e in altri paesi come 11 marzo.
Tuttavia, un elemento XML con un tipo di dati come questo:
<date type="date">11-03-2004</date>
garantisce una comprensione reciproca del contenuto, poiché il tipo di dati XML "data" richiede il formato "AAAA-MM-GG".
Ben formato non è abbastanza
Un documento XML ben formato è un documento conforme alle regole di sintassi XML, come:
- deve iniziare con la dichiarazione XML
- deve avere un elemento radice univoco
- i tag iniziali devono avere tag finali corrispondenti
- gli elementi fanno distinzione tra maiuscole e minuscole
- tutti gli elementi devono essere chiusi
- tutti gli elementi devono essere annidati correttamente
- tutti i valori degli attributi devono essere citati
- le entità devono essere utilizzate per i caratteri speciali
Anche se i documenti sono ben formati, possono comunque contenere errori e tali errori possono avere gravi conseguenze.
Pensa alla seguente situazione: ordini 5 stampanti laser lordi, invece di 5 stampanti laser. Con gli schemi XML, la maggior parte di questi errori può essere rilevata dal tuo software di convalida.