XML Prof. Barbara Pernici Politecnico di Milano
Introduzione a XML
Sommario Separare contenuto e presentazione Struttura di un documento Definizione della struttura applicazioni
Interoperabilita tra applicazioni basate su web SISTEMA A SISTEMA B In che formato vengono scambiati i dati?
Formati standard per il web –HTML (Hypertext Markup Language) linguaggio di markup per presentazione + contenuto –XML (eXtensible Markup Language) metalinguaggio (serve a definire linguaggi di markup) per descrizione contenuto altri formati per descrizione presentazione (XSL eXtensible stylesheet language)
XML XML (eXtensible Markup Language) è un linguaggio che descrive il contenuto delle pagine Web Standard approvato dal W3C nel 1998 Sta diventano lo standard per lo scambio dei dati sul Web......molti software vendors stanno sviluppando tools per importare/esportare XML
XML Come HTML, prevede lutilizzo di tag:... A differenza di HTML: –possono essere definiti nuovi tag –le strutture possono essere arbitrariamente annidate
Elementi sintattici Element: porzione di testo limitata da tag –Start tag (e.g, ) –End tag (e.g., ) Subelement persona nome cognome Esempio: Julia Roberts
Note esempio tutto quello che sta tra start-tag e il corrispondente end-tag viene chiamato elemento gli elementi possono essere composti e contenere altri elementi
Documento ben formato Ogni documento XML deve contenere un solo elemento radice Struttura gerarchica del documento a ogni tag di apertura corrisponde un tag di chiusura
Attributi Gli elementi possono avere attributi Gli attributi possono avere valori Attributi e valori scritti nello start tag I valori sono indicati tra virgolette
Attributi Attributi: gli attributi sono coppie (attributo, valore) Esempio : <persona nome=Julia cognome=Roberts Opp. Julia
Piazzola di sosta 1
La struttura dei documenti
XML si autodocumenta Confronto con: Contiene le stesse informazioni, ma in generale e necessario conoscere la struttura del record per comprendere linformazione
Testo in chiaro I formati proprietari dei dati cambiano continuamente I dati del censimento USA scritti a mano del 1860 sono piu accessibili dei dati del 1960 su schede perfomate Il testo in chiaro non dipende da uno specifico programma per la sua creazione e modifica
Document Type Definitions (DTDs) Descrivono gli elementi validi e che tipo di contenuto possono avere Descrivono gli attributi validi e i valori di default autodocumentazione
Esempio <!DOCTYPE db[ ]>
Struttura del documento Elementi semplici: Le stringhe di caratteri sono indicate come #PCDATA (Parsed Character Data) Elementi composti Elementi vuoti: definiti con parola chiave EMPTY
Definizione di elementi composti Persona* è una espressione regolare che vuol dire un qualsiasi numero di persone Altre espressioni regolari sono: – e+ una o più occorrenze – e?zero o uno – e1|e2alternativa – e1,e2concatenazione
Attributi Doc XML <nome linguaggio=Italiano categoria=pelletteria> Borsa Fendi 350 E possibile fare una dichiarazione degli attributi associati a un elemento DTD (solo definizione attributi) <!Attlist nome linguaggio CDATA #REQUIRED categoria CDATA #IMPLIED> <!Attlist prezzo valuta CDATA #IMPLIED>
Definizione attributi #REQUIRED= obbligatorio #IMPLIED= opzionale Tipo CDATA= stringhe Nota: non ho modo di esprimere tipi interi, date, valuta nei DTD... è tutto genericamente CDATA
Definizione attributi ID, IDREF, IDREFS: il tipo ID indica che lattributo è un identificatore; il tipo IDREF indica che il valore dellattributo è un identicatore di un altro elemento; Il tipo IDREFS indica che il valore dellattributo è una lista di identificatori separati da spazi
Esempio DTD <!DOCTYPE family <!ATTLIST person Id ID #REQUIRED mother IDREF #IMPLIED father IDREF #IMPLIED children IDREFS #IMPLIED> >
Esempio dati in documento XML Jane Doe John Doe Mary Smith Jack Smith /person>
Piazzola di sosta
Applicazioni utilizzando XML
Memorizzazione DTD Alternative: –riferimento a file –semplici DTD inseriti direttamente nel documento –repositories
Applicazioni Diverse visualizzazioni per le stesse informazioni – Le informazioni rappresentate da un documento XML possono essere rappresentate in forme diverse con diversi documenti XSL Integrazione dati – Dati provenienti da più sorgenti possono essere mappati su documenti XML che ne descrivono lo schema e integrati in un unico documento Integrazione di componenti – Componenti basati su tecnologie diverse possono comunicare tra loro attraverso formati di scambio definiti tramite XML
Applicazioni XML/EDI (electronic business transactions between companies) Workflow Management Definizione di documenti informatici Wrapping Legacy Systems XHTML: ridefinizione di HTML in XML
Riepilogo Separare contenuto e presentazione Struttura di un documento Definizione della struttura Applicazioni