close

Schema XML

Vai alla navigazione Vai alla ricerca

XSD (XML Schema Definition) è un linguaggio schema utilizzato per descrivere la struttura e le restrizioni di contenuto dei documenti XML in modo molto preciso, al di là delle regole sintattiche imposte dal linguaggio XML stesso . In questo modo si ottiene una percezione del tipo di documento con un alto livello di astrazione. È stato sviluppato dal World Wide Web Consortium (W3C) e ha raggiunto il livello di raccomandazione nel maggio 2001.

Terminologia

Il termine "Schema XML" viene utilizzato con vari significati all'interno dello stesso contesto di descrizione del documento ed è importante tenere conto delle seguenti considerazioni:

  1. "XML Schema" è il nome ufficiale dato alla raccomandazione del W3C, che ha prodotto il primo linguaggio dello schema separato da XML (la definizione del tipo di documento ( DTD ) fa parte di XML).
  2. È comune fare riferimento genericamente agli schemi come "schema XML", ma si consiglia di utilizzare il termine " documento schema " o " definizione dello schema " e riservare "schema XML" per la denominazione di questo linguaggio specifico.
  3. Sebbene "schemi XML" sia usato genericamente, XSDL ( XML Schema Definition Language ) è il nome tecnico dei linguaggi di schema XML come:
  • Definizione del tipo di documento (DTD)
  • Schema XML
  • RELAX NG
  • Schematron
  • Lingua di instradamento dello spazio dei nomi (NRL)
  • Linguaggi di definizione dello schema del documento (DSDL)
  • Document Definition Markup Language (DDML)
  • Descrizione della struttura del documento (DSD)
  • SGML
  • Schema per XML orientato agli oggetti (SOX)

Schema W3C XML

Il World Wide Web Consortium (W3C) ha iniziato a lavorare su XML Schema nel 1998. La prima versione è diventata una raccomandazione ufficiale nel maggio 2001. Una seconda edizione rivista è disponibile da ottobre 2004.

Questa raccomandazione si sviluppa in tre parti:

  • XML Schema Part 0 Primer - è un'introduzione non normativa al linguaggio, che fornisce un gran numero di esempi e spiegazioni dettagliate per un primo approccio all'XML Schema.
  • XML Schema Part 1 Structures : è una descrizione estensiva dei componenti del linguaggio.
  • XML Schema Part 2 Datatypes Integra la Parte 1 con la definizione dei tipi di dati XML Schema incorporati e le relative restrizioni.

(vedi link esterni )

Componenti

XML Schema è un linguaggio schema scritto in XML , basato sulla grammatica e destinato a fornire una maggiore potenza espressiva rispetto ai DTD , che sono meno capaci di descrivere documenti a livello formale.

I documenti Schema (di solito con l' estensione XML Schema Definition (XSD) .xsd) sono stati concepiti come un'alternativa ai DTD più complessi, cercando di superarne i punti deboli e cercare nuove capacità durante la definizione di strutture per documenti XML. Il contributo principale di XML Schema è il gran numero di tipi di dati che incorpora. In questo modo, XML Schema aumenta le possibilità e le funzionalità delle applicazioni di elaborazione dati, inclusi tipi di dati complessi come date, numeri e stringhe.

Tipi di componenti

Gli schemi XML Schema superano molti dei limiti e dei punti deboli dei DTD. È stato progettato interamente attorno agli spazi dei nomi e supporta i tipi di dati tipici del linguaggio di programmazione , nonché i tipi personalizzati semplici e complessi. Uno schema è definito tenendo conto del suo uso finale.

Spazi dei nomi

La programmazione di XML Schema si basa su namespace o namespace , possiamo trovare un'analogia tra questi ei cosiddetti pacchetti in Java . Ogni spazio dei nomi contiene elementi e attributi strettamente correlati allo spazio dei nomi. Pertanto, quando si definisce un elemento o un attributo di uno spazio dei nomi, verrà sempre creata una connessione tra i suoi diversi campi. Inoltre, questo modo di lavorare ci consente di mettere in relazione elementi che non si trovano nello stesso spazio dei nomi.

Dopo aver scritto uno schema XML, è possibile confermarne il corretto completamento utilizzando la convalida dello schema XML: convalida XML .5623

Esempio

Un esempio della struttura di un documento schema vuoto sarebbe il seguente:

 <?xml version="1.0" encoding="ISO-8859-1"?> 
 <xsd:schema  xmlns:xsd= "http://www.w3.org/2001/XMLSchema"  version= "0.1"  xml:lang = "è" > 
 </xsd:schema>

Un esempio di definizione con XML Schema potrebbe essere il seguente:

<?xml version="1.0" encoding="UTF-8"?>  
<xsd:schema  xmlns:xsd= "http://www.w3.org/2001/XMLSchema" > 
     <xsd:element  name= "Libro" > 
         <xsd:complexType> 
            <xsd:sequence> 
                 <xsd:nome elemento  = "Titolo"  type= "xsd:string" /> 
                 <xsd:nome elemento  = "Autori"  type= "xsd:string"  maxOccurs= "10" /> 
                 <xsd:element  name= "Publisher"  type= "xsd:string" /> 
            </xsd:sequence> 
            <xsd:attribute  name= "price"  type= "xsd:double" /> 
        </xsd:complexType> 
   </xsd:elemento> 
</xsd:schema>

Possiamo vedere come in entrambi i casi vengono avviate le dichiarazioni indicando la versione di XML che verrà utilizzata e la codifica che verrà utilizzata. Questi due campi sono necessari per poter interpretare lo schema.

La seguente riga di codice dichiara lo schema element , la radice del documento di definizione dello schema. Inoltre, viene dichiarato lo spazio dei nomi in cui risiedono i nomi degli elementi del documento . Questa definizione dello schema impone che qualsiasi documento XML conforme ad esso deve avere un elemento radice chiamato "Book" che avrà tre figli (elementi nidificati) e un attributo. I figli sono “Titolo”, “Editore” che deve comparire una volta e “Autori” che possono comparire da una a dieci volte. Il fatto che siano raggruppati in sequenza indica che gli elementi devono apparire in ordine, ovvero prima il “Titolo”, poi gli “Autori” e infine l'“Editore”. Tutti e tre gli elementi sono di tipo string . L'attributo del libro si chiama "prezzo" ed è di tipo double .

Vedi anche

Esercitazioni

Collegamenti esterni