La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)

Presentazioni simili


Presentazione sul tema: "Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)"— Transcript della presentazione:

1 Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)

2 XML - Acronimo XMLXML (eXtensible Markup Language): è l'abbreviazione di Linguaggio Estensibile di Markup ed è l'acronimo dell'espressione inglese Extensible Markup Language. Guida: http://www.html.it/xml/guida/index.html

3 Cosa è XML? è un "markup language" molto simile all'HTML è pensato per descrivere dati. non esistono tag predefiniti. Lo sviluppatore definisce i suoi tag personali utilizza un documento di definizione dei tipi (Document Type Definition - DTD) per descrivere i dati. attraverso l'uso di un DTD diviene auto-descrittivo

4 Principali differenze fra HTML e XML XML è pensato per trasportare dati. XML non è un sostituto del HTML. XML e HTML sono stati pensati per scopi diversi. XML è pensato per descrivere dati e porre l'attenzione su cosa sono. HTML è pensato per visualizzare dati e porre l'attenzione su come presentarli. HTML si occupa di visualizzare dati, mentre XML di descrivere le informazioni

5 HTML vs XML In HTML informazione e sua visualizzazione NON sono separate In XML informazione e sua visualizzazione sono separate

6 Un documento XML è composto da tre parti XML i dati (struttura fisica - document istance) Quale informazione e' contenuta nel file? DTD lo schema dei dati (struttura logica) Quali tag posso usare? Dove? Come? XSL la presentazione dei dati (stylesheet) Come visualizzo questi dati?

7 XML – DTD – XSL Nel file XML cè il contenuto vero e proprio semanticamente strutturato La DTD (o lo Schema) definiscono la sintassi dellXML Il file XSL definisce la visualizzazione

8 XML – HTML XML, come HTML è un dialetto di SGML orientato al web, ma non è unalternativa a HTML. Il file XML viene trasformato da un programma in un altro linguaggio, tipicamente HTML ma non solo (testo, PDF, VoiceML,..., qualsiasi formato)

9 Piccolo esempio Cara Beatrice, ti scrivo per comunicarti … cari saluti, Dante Questo e' il file XML (dati). I tag sono liberi e non definiti dal W3C. lettera e' l'elemento radice (root). Come viene visualizzato? Lo vediamo dopo

10 La dichiarazione XML La dichiarazione XML è obbligatoria e deve essere posta allimmediato inizio del documento (ovvero come primo carattere! Niente spazi!!!): Gli attributi sono: version: (obbligatorio) la versione di XML usata. encoding: (opzionale) nome della codifica dei caratteri usata nel documento. (default: UTF-8 o 16) UTF-8 (8-bit UCS/Unicode Transformation Format) e' un character encoding for Unicode. standalone: (opzionale) (default: no) standalone=yes - il file non fa riferimento ad altri file esterni, ovvero il solo file XML contiene dati e DTD Noi useremo sempre standalone=yes standalone=no – e' necessario un file esterno (che contiere il DTD)

11 Piccolo esempio (2) Caro Beatrice, ti scrivo per comunicarti… cari saluti, Dante Quale e' differenza con HTML? Quale e' l'elemento radice? Come facciamo a sapere che saluti e' un tag valido? O che ci deve essere una sola firma? E' well formed? E' valido?

12 Elementi Gli elementi sono le parti di documento dotate di un senso proprio. Un elemento è individuato da un tag iniziale, un contenuto ed un tag finale. Non confondere i tag con gli elementi! Primo file XML elemento TITOLO, racchiuso dai tag TITOLO e /TITOLO cari saluti Marianna elemento saluti (contiene un elemento firma)

13 Elementi - esempio Gli elementi sono alla base della strutturazione dei documenti XML. Un elemento è un frammento di dati, limitato ed identificato (tramite un nome) da un tag. Tag di apertura Santana Supernatural Elemento artist Elemento title Elemento album Tag di chiusura

14 Commenti I documenti di markup possono contenere commenti, ovvero note da un autore allaltro, da un editore allaltro, ecc. Queste note non fanno parte del contenuto del documento, e le applicazioni di markup li ignorano. Sono molto comodi per passare informazioni tra un autore e laltro, o per trattenere informazioni per se stessi, nel caso le dimenticassimo.

15 Elementi - Regole I nomi degli elementi sono case-sensitive. Ogni elemento aperto deve essere chiuso entro la fine del documento. Gli elementi possono essere nidificati, e in tal caso vanno chiusi esattamente nellordine inverso a quello di apertura. e' ERRATO poiche' non sono chiusi dell'ordine corretto Un documento XML deve avere un unico elemento radice, in cui tutti gli altri sono nidificati

16 Elementi - Sintassi Il tag di apertura di un elemento ha la forma seguente: nome è il nome dellelemento. attributi è una lista di attributi per lelemento (che può non apparire). Il tag di chiusura corrispondente ha la forma seguente: nome è lo stesso identificatore usato nellapertura. Alcuni elementi possono essere privi di contenuto; in questo caso è possibile omettere il tag di chiusura scrivendo quello di apertura nel modo seguente (empty tag):

17 Elementi - Gerarchia Gli elementi, nidificandosi, creano la struttura ad albero tipica dei documenti XML. Allinterno di questa struttura si definiscono alcuni rapporti di parentela utili per individuare gli elementi: <a><a> <b><b> <c><c> Testo a è il nodo radice b e c sono figli di a, il testo è figlio di b, d è figlio di c c è il padre di d, b è il padre del testo, a è il padre di b e c b e c sono fratelli b, c, d e il testo sono discendenti di a, d è un discendente di c, il testo è un discendente di b a è un predecessore di b, c, d e del testo, b è un predecessore del testo, c è un predecessore di d.

18 Attributi Gli elementi possono contenere uno o più attributi, che sono termini aggiuntivi che definiscono con più precisione lelemento, es. Il valore degli attributi è racchiuso tra virgolette (singole: uno, o doppie: uno). N.B. Le virgolette devono essere entrambe singole o entrambe doppie. Un attributo non può essere usato due volte allinterno dello stesso elemento. Un elemento può contenere più di un attributo. … Capitolo primo

19 Attributi - Regole I nomi degli attributi sono case-sensitive. Lo stesso tag non può contenere due attributi con lo stesso nome. Non sono ammessi attributi senza valore (solo nome). Il valore degli attributi deve essere specificato tra virgolette semplici o doppie. Il valore può contenere riferimenti ad entità. Il valore non può contenere markup, sezioni CDATA o virgolette uguali a quelle iniziali.

20 Attributi - Sintassi Sintassi di base da usare allinterno dei tag di apertura: Una lista di attributi si ottiene elencando più attributi separati da uno o più spazi: Per includere virgolette nel valore, è necessario usare un tipo diverso da quello usato per delimitare il valore stesso: Si possono includere riferimenti a entità nel valore:

21 Entità Le entità sono frammenti di documento memorizzati separatamente e richiamabili allinterno del documento. Esse permettono di riutilizzare lo stesso frammento in molte posizioni garantendo sempre lesatta corrispondenza dei dati, e permettendo una loro modifica semplificata. Oggi è una bella giornata. Come dice &NP;: divertitevi!

22 #PCDATA Rappresenta il contenuto vero e proprio del documento. Esso corrisponde alle parole, gli spazi e la punteggiatura che costituiscono il testo. Viene anche detto #PCDATA (Parsed Character DATA) perché i linguaggi di markup definiscono character data (CDATA) il contenuto testuale vero e proprio, e quello degli elementi è soggetto ad azione di parsing (perlopiù per identificare e sostituire le entità).

23 Regole nella creazione di un file XML Un documento XML è well formed (ben formato) tutti i tag sono chiusi nell'ordine corretto esiste un solo elemento radice i valori degli attributi sono scritti fra virgolette gli elementi non hanno due attributi con lo stesso nome i nomi degli elementi e degli attributi non contengono caratteri speciali (&,...) i nomi degli elementi non contengono spazi Un documento XML è valido se è ben formato e rispetta le regole del DTD associato. Cosa e' un DTD? Lo vediamo adesso...

24 Struttura di un XML Radice (Documento) Elemento principale Nodi intermedi (figli): elementi con sottoalberi di elementi, attributi e valori Nodi foglia: attributi e valori attributi: coppie (nome, valore) valori: stringhe, numeri, date, ecc. Albero XML (radice, foglie,...) ribaltato

25 Una rubrica in XML Giulio Cesare Bruto 10 Roma 10100 321654 32557684785 Giovanni Pompeo Catilina 12 Milano 12100 96877564 3356545342

26 La rubrica, vista come albero

27 La struttura ad albero di XML 1. Hanno necessariamente un elemento radice (root) che devessere unico

28 Importanza DTD Quali tag posso usare? Quante volte? Un tag puo' contenere un altro tag? Quale? Queste cose si specificano nel DTD (Document Type Definition).

29 Importanza DTD La DTD (Document Type Definition) è una procedura che consente di dichiarare in maniera univoca e formale la struttura di markup mediante la definizione dello schema dei tags. Ovvero Quali tag posso usare? Quante volte? Un tag puo' contenere un altro tag? Quale? Questo tipo di procedura consente una rapida interpretazione del materiale pubblicato sia dalla macchina che dallutente umano. Un file XML e' valido se rispetta la DTD CHI scrive il DTD? Tu! (ovvero chi definisce cosa e' valido e cosa no per un certo tipo di documento XML!)

30 L'HTML e' XML? Dipende, l'xHTML si'. Chi definisce il DTD per l'xHTML?

31 Chi definisce il DTD dell'xHTML? Per il linguaggio HTML, il W3C definisce il DTD, ad esempio dice che L'element root e' (in realta' e' il tag) Che deve contenere uno e un solo Che dentro a ci possono essere un numero qualunque di (da 0 a n)....

32 La rubrica, vista come albero

33 La dichiarazione DOCTYPE La dichiarazione DOCTYPE è obbligatoria (se il documento deve essere validato) Vari modi, noi useremo il seguente RootElement (obbligatorio) è il nome dellelemento radice del documento. InternalDTDSubset (opzionale) è un DTD specificato inline al documento. <!DOCTYPE RUBRICA [.... qui i vari elementi che possono essere contenuti nel RootElement.... ]

34 Esempio di un DTD <!DOCTYPE RUBRICA [.... qui i vari elementi che possono essere contenuti nel RootElement.... ]>

35 Esempio di un DTD <!DOCTYPE RUBRICA [.... qui i vari elementi che possono essere contenuti nel RootElement.... ]> Come li specifico? Lo vediamo la prossima volta.

36 Esempio di un DTD per la rubrica LO VEDIAMO LA PROSSIMA VOLTA ]>

37 Validazione di un file XML Un documento XML è ben formato se rispetta le regole generali di sintassi viste nella parte precedente. Un documento XML è valido se è ben formato e rispetta le regole sintattiche e semantiche contenute del DTD associato. Un documento senza DTD non è mai valido. Esistono parser validanti e non validanti. Per validare l'HTML http://validator.w3.org Per validare l'XML Lo apriamo col browser che ci dice se e' valido

38 Ma qualcuno lo usa questo XML? RSS! http://www.repubblica.it/servizi/rss/index.html Repubblica.it offre i suoi contenuti con il sistema RSS (Really Simple Syndication) E i blog? Anche. Ci sono altri usi reali dell'XML? Si', ad esempio per scambiarsi dati tra applicazioni

39 Esempio di file XML (completo di DTD) ]>

40 Esempio di file XML (completo di DTD) Giulio Cesare Bruto 10 Roma 10100 321654 32557684785 Giovanni Pompeo Catilina 12 Milano 12100 96877564 3356545342


Scaricare ppt "Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)"

Presentazioni simili


Annunci Google