Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

XML Schema

Da Wikipedia, l'enciclopedia libera.

LoXML Schema oSchema XML è un linguaggio di descrizione del contenuto di un fileXML, l'unico che finora abbia raggiunto la validazione ufficiale delW3C (la 1.1).

Come tutti i linguaggi di descrizione del contenuto XML, il suo scopo è delineare quali elementi sono permessi, quali tipi di dati sono ad essi associati e quale relazione gerarchica hanno fra loro gli elementi contenuti in un file XML.

Ciò permette principalmente la convalida del file XML, ovvero la verifica che i suoi elementi siano in accordo con la descrizione in linguaggioXML Schema.

Lo XML Schema permette inoltre l'estrazione da un file XML, o meglio una visione da un file XML, di un insieme di oggetti con determinati attributi e una struttura. Questo approccio è stato fortemente spinto daMicrosoft; alcuni critici lo contestano in quanto potrebbe introdurre dei punti di "legame" al sistema proprietario di Microsoft per l'accesso ai dati di un file XML.[1]

XSD

[modifica |modifica wikitesto]

Una "XML Schema Definition" (XSD) è un esempio (instance) di schema XML scritto in linguaggio XML Schema. Una XSD definisce il tipo di un documento XML in termini di vincoli: quali elementi e attributi possono apparire, in quale relazione reciproca, quale tipo di dati può contenere, e altro. Può essere usata anche con un programma di validazione al fine di accertare a quale tipo appartiene un determinato documento XML.

La differenza principale fra XSD e altri linguaggi di descrizione del contenuto XML sta nel fatto che XSD è stato sviluppato con l'intento che la determinazione dellavalidità di un documento possa produrre una collezione di informazioni aderenti a specificitipi di dati.

Storia

[modifica |modifica wikitesto]

Le specifiche XSD riconoscono l'influenza delleDTD e di altri schemi XML, come DDML, SOX, XML-Data e XDR.

Lo XML Schema ha adottato caratteristiche da tutte queste proposte, ma rappresenta un compromesso fra esse. Di questi precursori, XDR e SOX hanno continuato a essere supportati per un certo tempo anche dopo che le specifiche di XML Schema sono state pubblicate. Alcuni prodotti Microsoft hanno supportato XDR fino al rilascio diMSXML 6.0 (che ha abbandonato XDR in favore di XML Schema) nel dicembre2006.Commerce One ha supportato il proprio schema SOX, fino alla bancarotta avvenuta nel2004.

Caratteristiche

[modifica |modifica wikitesto]

Tecnicamente, uno schema è una collezione astratta dimetadati, consistenti in un set dischema components: principalmente dichiarazioni di attributo e di elemento, e definizioni di tipo semplice e complesso. Questischema components sono usualmente creati dal processamento di una collezione dischema documents, che contengono definizioni di talicomponents.

Glischema documents sono organizzati pernamespace: tutti glischema components ivi descritti appartengono ad un namespace target, e quest'ultimo è una proprietà delloschema document nel suo insieme. Unoschema document può includere altrischema documents per lo stesso namespace e può importareschema documents per un differente namespace.

Quando un documento istanza è validato rispetto a uno schema (un processo dettoassessment), lo schema può o essere passato come parametro per il motore di validazione o può essere referenziato direttamente dal documento istanza usando due speciali attributi,xsi:schemaLocation exsi:noNamespaceSchemaLocation. Quest'ultimo meccanismo richiede che ilclient che invoca la validazione sia certo che questa avverrà rispetto allo schema corretto.

Gli XML Schema Documents hanno usualmente estensione.xsd. Non è stato ancora registrato uno specificoMIME type per i documenti XSD, sicché i tipi MIME solitamente utilizzati per questi documenti sono "application/xml" o "text/xml".

A differenza delle DTD, gli XML Schema permettono la validazione del contenuto di un elemento o di un attributo rispetto a un determinato tipo di dato. Per esempio, un attributo potrebbe essere vincolato alla memorizzazione esclusiva di una data valida o di unnumero decimale.

XSD fornisce un insieme di 19 tipi di dati primitivi (boolean,string, decimal, double,float, anyURI, QName, hexBinary, base64Binary, duration, date, time, dateTime, gYear, gYearMonth, gMonth, gMonthDay, gDay, e NOTATION).XSD consente la costruzione di nuovi tipi di dato partendo da questi tipi primitivi attraverso tre possibili meccanismi: restrizione (riduzione dell'insieme dei valori permessi), lista (estensione ad una sequenza di valori) ed unione (possibilità di scelta di un valore da differenti tipi). Le specifiche stesse del linguaggio indicano venticinque tipi derivati, ed ulteriori derivazioni di tipi possono essere definite dagli utenti all'interno dei propri schemi.

Di seguito un esempio di uno schema document piuttosto semplice, che ha lo scopo di descrivere un indirizzo.

Rappresentazione grafica di uno schema XML
<?xml version="1.0" encoding="utf-8"?><xs:schemaelementFormDefault="qualified"xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:elementname="Address"><xs:complexType><xs:sequence><xs:elementname="Recipient"type="xs:string"/><xs:elementname="House"type="xs:string"/><xs:elementname="Street"type="xs:string"/><xs:elementname="Town"type="xs:string"/><xs:elementname="County"type="xs:string"minOccurs="0"/><xs:elementname="PostCode"type="xs:string"/><xs:elementname="Country"><xs:simpleType><xs:restrictionbase="xs:string"><xs:enumerationvalue="FR"/><xs:enumerationvalue="DE"/><xs:enumerationvalue="ES"/><xs:enumerationvalue="UK"/><xs:enumerationvalue="US"/></xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:complexType></xs:element></xs:schema>

Un esempio di documento XML conforme allo schema XSD che ha lo scopo di descrivere un indirizzo:

<?xml version="1.0" encoding="utf-8"?><Addressxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="SimpleAddress.xsd"><Recipient>Mr.WalterC.Brown</Recipient><House>49</House><Street>FeatherstoneStreet</Street><Town>LONDON</Town><PostCode>EC1Y8SY</PostCode><Country>UK</Country></Address>

Esistono svariati strumenti di sviluppo che possono creare rappresentazioni grafiche di uno schema.

Altri usi di XML Schema

[modifica |modifica wikitesto]

La principale ragione per definire uno schema XSD è la descrizione formale di un documento XML. Tuttavia, gli schemi XML hanno vari usi oltre la semplice validazione.

Generazione di documenti

[modifica |modifica wikitesto]

Gli schemi XML possono essere utilizzati per generare documentazione consultabile dalle persone; questa funzionalità è particolarmente utile quando gli autori hanno corredato il codice con elementi di annotazione. Non esistono standard formali per la generazione di documentazione, ma sono disponibili molteplicitool dotati di questa funzionalità, come i fogli di stileXs3p, che producono documenti HTML di alta qualità e materiali stampabili.

Generazione di codice

[modifica |modifica wikitesto]

Gli schemi XML possono altresì essere utilizzati per generarecodice sorgente, che viene referenziato conXML data binding. Il codice permette che i contenuti esposti dai documenti XML siano trattati comeoggetti entro l'ambiente di programmazione.

Note

[modifica |modifica wikitesto]
  1. http://www.biglist.com/lists/xsl-list/archives/200302/msg00821.html, subiglist.com.

Voci correlate

[modifica |modifica wikitesto]

Collegamenti esterni

[modifica |modifica wikitesto]
Controllo di autoritàGND(DE) 4803276-1
 Portale Internet: accedi alle voci di Wikipedia che trattano di internet
Estratto da "https://it.wikipedia.org/w/index.php?title=XML_Schema&oldid=147786684"
Categorie:
Categorie nascoste:

[8]ページ先頭

©2009-2026 Movatter.jp