1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

I Namespace Mario Arrigoni Neri.
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
DBMS (DataBase Management System)
HTML Hyper Text Mark-Up Language. HTML Hyper Text Mark-Up Language Linguaggio di marcatura per ipertesti E un linguaggio di formattazione usato per descrivere.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
JavaScript 2. JavaScript nelle pagine web. HTML e XHTML Gli script JavaScript sono utilizzabili sia in pagine HTML che XHTML XHTML impone che il codice.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
PHP.
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
Query OQL e XQUERY a confronto
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
1 Scoprire e capire HTML Creare semplici pagine WEB Maria Laura Alessandroni.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XHTML Danilo Deana. XHTML2 XHTML (eXtensible HyperText Markup Language) XHTML è una riformulazione di HTML come applicazione XML. Utilizzando XHTML è
Componenti di un documento HTML Danilo Deana. Componenti di un documento HTML 2 Elementi HTML comprende elementi per rappresentare paragrafi, elenchi,
Corso di Informatica (Basi di Dati)
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Introduzione e nozioni fondamentali di sintassi
Espressioni condizionali
Lezione 2 Programmare in ASP
Corso di PHP.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Linguaggi di codifica.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
Paragrafi e allineamenti
Creare pagine web Xhtlm. Struttura di una pagina.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Hyper-Text Mark-Up Language
INTRODUZIONE A JAVASCRIPT
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
Lezione 3 Struttura lessicale del linguaggio
Creato da Riccardo Nuzzone
CORSO Di WEB DESIGN prof. Leonardo Moriello
Creazione di pagine per Internet Brevi note a cura di Emanuele Lana
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
IV D Mercurio DB Lezione 2
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Servizi Internet Claudia Raibulet
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
Creazione di pagine per Internet Brevi note a cura di Emanuele Lana
Laboratorio di XHTML e CSS
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Transcript della presentazione:

1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium (W3C) a metà degli anni ’90 XML è un «metalinguaggio» che consente di definire altri linguaggi E’ uno strumento utilizzato principalmente per definire: - documenti con marcatori in cui i tag non sono predefiniti - collezioni di dati semi-strutturati rappresentati in formato testuale. È lo standard più utilizzato per l’interscambio di documenti prodotti con applicazioni software diverse e di dati tra DBMS di diversi produttori. A differenza di HTML, XML è un linguaggio finalizzato solo alla memorizzazione e all’interscambio di dati, non alla loro visualizzazione

2 Il seguente file di testo è un documento XML che rappresenta gli indirizzi di posta elettronica e le password degli utenti di un sistema informatico: Pippo 0A1B2C3D4E5F Pluto A9B8C7D6E5F4

3 I documenti in formato XML hanno una struttura ad albero Esempio: struttura ad albero del documento XML precedente Pippo 0A1B2C3D4E5F Pluto A9B8C7D6E5F4

4 Sintassi dell’XML 1.riga iniziale: 2.tag iniziano con caratteri alfabetici o _ (es.:Sì:,, NO:, ) 3.tag: solo simboli alfanumerici. Ammessi: “-” “_” “.” NO spazi. 4.chiusura tag obbligatoria: 5.nidificazione tag gerarchica, es: tutto il documento XML deve essere compreso in unico tag radice aperto e chiuso,es:... 7.i tag possono avere attributi, i cui valori sono compresi tra apici o doppi apici, es: ciao 8.commenti compresi tra 9.simboli chiave: << >> && “" ‘&apos;

5 Giorgio Fiorenzo C&apos;erano molti alunni a scuola? Esempio: documento XML che rappresenta un messaggio SMS Qui l’elemento radice è MESSAGE; timestamp è un suo attributo Un elemento XML è ciò che è compreso tra un tag di apertura e il corrispondente tag di chiusura. Un elemento può contenere: testo (es.: gli elementi from,to, text contengono testo) attributi (es.: l’elemento MESSAGE contiene l’attributo timestamp) altri elementi (es.: l’elemento MESSAGE contiene tre elementi: from, to, text) nulla (elemento vuoto) (es: )

6 Sintassi abbreviata per elementi vuoti: ( anziché ) Attributo predefinito xml:lang per specificare la lingua usata in un elemento (possibili valori: it,es,en,fr,de, ecc.) Giorgio Fiorenzo Giorgio Fiorenzo C&apos;erano molti alunni a scuola? La riga: equivale a:

7 Giorgio Fiorenzo C&apos;erano molti alunni a scuola? Attributo o elemento ? In generale gli attributi dovrebbero essere utilizzati solo per fornire informazioni accessorie e non per rappresentare i dati Esempio: Se la data/ora del messaggio è un dato che lo caratterizza bisognerebbe trasformare l'attributo timestamp negli elementi date e time 07/10/ :00:00 Giorgio Fiorenzo C&apos;erano molti alunni a scuola?

8 Per qualificare il contenuto di un elemento come CDATA (Character Data) lo si inserisce tra Giorgio Fiorenzo <!CDATA[ Ti invio un esempio di XML:... ]]> In questo modo il contenuto dell’elemento non viene analizzato. Ad esempio così è possibile inserire del codice HTML all’interno di un elemento in un file XML.

9 Se nel documento XML ci sono caratteri non standard ASCII (es.caratteri accentati), bisogna specificare il tipo di codifica utilizzata. Windows-1252Codifica a 8 bit dei caratteri dell’Europa occidentale adottata dai sistemi operativi Windows ISO Codifica standard a 8 bit dei caratteri dell’Europa occidentale UTF-8Codifica Unicode che utilizza da 8 a 32 bit per il singolo carattere UTF-16Codifica Unicode che utilizza 16 bit per il singolo carattere adottata dal linguaggio Java Giorgio Fiorenzo Perché... più di così...

10 E’ sempre possibile rappresentare la struttura di un documento XML mediante un diagramma ad albero Stefano Benni Terra! Feltrinelli 1983

11 Un documento XML che rispetta le regole sintattiche di base è denominato ben formato La verifica del rispetto delle regole sintattiche di un documento XML può essere effettuata utilizzando specifici strumenti software: molti browser o editor specializzati per programmatori sono in grado di verificare che un documento XML sia ben formato. All’URL validator.w3.org è disponibile uno strumento utilizzabile on-line per la verifica sintattica di documenti XML e di pagine HTML. Anche se un documento XML è ben formato (cioè sintatticamente corretto) rimane il problema di verificare che impieghi effettivamente i tag previsti e in modo corretto; inoltre il contenuto di un elemento rappresenta spesso un dato che deve rispettare regole di tipizzazione.

12 Perché un documento XML sia ben formato deve rispettare le seguenti regole: 1.Ogni documento XML deve contenere un unico elemento di massimo livello (root) che contenga tutti gli altri elementi del documento. Le sole parti di XML che possono stare all'esterno di questo elemento sono i commenti e le direttive di elaborazione (per esempio, la dichiarazione della versione di XML) 2.Ogni elemento deve avere un tag di chiusura o, se vuoti, possono prevedere la forma abbreviata (/>) 3.Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire l'ordine inverso dei rispettivi tag di apertura 4.XML fa distinzione tra maiuscole e minuscole, per cui i nomi dei tag e degli attributi devono coincidere nei tag di apertura e chiusura anche in relazione a questo aspetto 5.I valori degli attributi devono sempre essere racchiusi tra singoli o doppi apici

13... abcdefghi... </testo Nel codice XML seguente ci sono diversi errori e il documento pertanto non è ben formato.

14 Stefano Benni Terra! Feltrinelli 83 Mark Twain Le avventure di Huckleberry Finn 1884 Herman Melville Moby Dick milleottocentocinquantuno Il seguente documento XML che rappresenta una collezione di libri è ben formato Tuttavia i dati relativi ai singoli libri non sono presenti in modo coerente. Riesci a individuare le 5 anomalie? (Se no, fai click) libro 3: elemento editore vuoto libro 3: l’anno è espresso in caratteri libro 2: manca elemento editore libro 2: usa il tag anziché libro 1: l’anno è in forma abbreviata

15 Abbiamo dunque bisogno di definire una grammatica per il linguaggio di markup che abbiamo ideato. Una grammatica è un insieme di regole che indica quali vocaboli (elementi) possono essere utilizzati e con che struttura è possibile comporre frasi (documenti). Una grammatica definisce uno specifico linguaggio “linguaggio di markup”. Dunque se un documento XML rispetta le regole definite da una grammatica è detto valido per un particolare linguaggio. Un documento ben formato può non essere valido rispetto ad una grammatica, mentre un documento valido è necessariamente ben formato. Gli approcci più diffusi alla creazione di grammatiche per documenti XML sono: DTD (Document Type Definition) e XSD (XML Schema Definition) Grammatica di un linguaggio di markup e validità di un documento Per evitare i problemi dell’esempio precedente, ci vuole un metodo per: a)definire la struttura che un dato documento XML deve avere; b)definire la tipologia che i dati contenuti negli elementi devono rispettare.

16 Un documento XML può essere all'origine di diversi tipi di elaborazione: generazione di altri documenti, eventualmente in formati diversi, controllo delle impostazioni di programmi, rappresentazione di immagini, ecc. Tutti i possibili impieghi di XML, però, si fondano su due tipi di elaborazione preliminare: la verifica che un documento sia ben formato e la sua validità rispetto ad una grammatica. I software che si occupano di queste elaborazioni sono detti parser e sono degli strumenti standard disponibili sulle diverse piattaforme. Possiamo suddividere i parser in due categorie: Parser per XML e validazione di un documento -parser non validante è un parser che verifica soltanto se un documento è ben formato -parser validante è un parser che, oltre a verificare che un documento è ben formato, verifica se è corretto rispetto ad una data grammatica La maggior parte degli editor XML più recenti hanno un parser integrato o si appoggiano su parser esterni per effettuare la convalida dei documenti. Per la validazione di un documento XML tramite codice è possibile utilizzare diverse librerie. Tra le più note: MSXML (componente di Internet Explorer dalla versione 4.0 in poi, quindi è presente su tutte le macchine)

17 Il metodo più recente e oggi preferito per definire uno schema di validazione per un documento XML è XSD (XML Schema Definition). Uno schema XSD definisce: gli elementi di un documento XML e la loro relazione gerarchica; gli eventuali attributi degli elementi; il numero e l’ordinamento degli elementi; gli eventuali elementi vuoti; il tipo dei dati contenuti negli elementi e negli attributi; i valori predefiniti o costanti del contenuto degli elementi e degli attributi. Note: il linguaggio XSD per definire lo schema è a sua volta un linguaggio XML prima di XSD si usava DTD (Document Type Definition), che però presenta diverse limitazioni XSD supera alcune limitazioni presenti nel DTD, tra cui il fatto di non avere una sintassi XML compatibile, non consentire di specificare il tipo di dato per gli attributi, il numero minimo e massimo di occorenze di un tag, ecc.

18 Un possibile schema XSD per un documento XML che rappresenta un singolo libro potrebbe essere il seguente: Se il precedente schema XSD è salvato nel file libro.xsd, un documento XML che si attiene a tale schema potrebbe essere il seguente: <libro xmlns:xsi=" xsi:noNamespaceSchemaLocation="libro.xsd"> Stefano Benni Terra! Feltrinelli 1983 Schema di riferimento elemento radice

19 Progettare un linguaggio XML significa definirne lo schema, cioè la sintassi che un qualsiasi documento XML deve rispettare per appartenere al linguaggio. Un documento XML valido è un documento XML ben formato che rispetta le regole dello schema che riferisce. La validazione di un documento XML rispetto allo schema riferito viene normalmente effettuata mediante strumenti software automatici (es.: software open source XSV) E’ possibile effettuare la validazione di un documento XML rispetto a uno schema XSD collegandosi al seguente indirizzo:

20 Un elemento semplice è un elemento XML che può contenere solo testo: non può contenere attributi o altri elementi. Dato che XML è un formato testuale, il testo può rappresentare stringhe di caratteri, oppure valori numerici, date, orari ecc. Tipi principali xs:stringStringhe di caratteri xs:decimalValori numerici non necessariamente interi xs:integerValori numerici interi xs:booleanBoolean xs:dateData nel formato aaaa-mm-gg (a: anno, m: mese, g: giorno) xs:timeOra nel formato oo-mm-ss (o: ora, m: minuti, s: secondi) xs:uriReferenceURL

21 Esempi Elementi XML validi in base alle definizioni precedenti: Walt Disney Elementi XML invalidi: 5/12/1901 sessantacinque

22 Attribuiti opzionali di un elemento: default e fixed Elementi XML validi in base alle definizioni precedenti: verde Elementi XML invalidi:

23 Il successo di XML è legato alla sua flessibilità: spesso le aziende e gli sviluppatori software definiscono schemi XML per i file che costituiscono l’input o l’output delle applicazioni che realizzano. Per esempio, i formati dei file prodotti dalle applicazioni Office di Microsoft sono in formato XML (docx, xslx, ecc.) CML (Chemical Markup Language), che è usato per la definizione di strutture molecolari; EPUB (Electronic Publication), che è un formato aperto per la pubblicazione di e-book; GML (Geographic Markup Language) In alcuni casi sono stati definiti dei veri e propri linguaggi XML aventi scopi specifici; tra questi ricordiamo:

24 Il linguaggio di programmazione Java prevede una API (Application Program Interface) standard per la gestione di documenti XML denominata JAXP (Java API for XML Processing). Le classi del package JAXP consentono di effettuare le seguenti elaborazioni: validazione di un documento XML rispetto a uno schema XSD; produzione di un nuovo documento XML ed eventuale salvataggio in un file di testo; lettura di un documento XML contenuto in un file di testo o reso disponibile come risorsa in rete ed eventuale verifica della correttezza; trasformazione di un documento XML La lettura di un documento XML in una struttura dati che è possibile gestire da parte del codice di un programma è tecnicamente definita parsing.

25 Il parsing di un documento XML può avere 2 modalità: SAX (Simple API for XML) DOM (Document Object Model) I package JAXP consentono di effettuare il parsing sia con modalità SAX che con modalità DOM SAX lettura sequenziale del documento non consente di modificare il documento analizzato più efficiente ma piuttosto rigido DOM memorizzazione dell’intero albero del documento maggiore flessibilità consente di modificare il documento analizzato e/o costruirne uno nuovo richiede molta più memoria