1 / 143

Laboratorio di analisi di dati linguistici

Laboratorio di analisi di dati linguistici. Laurea specialistica in Linguistica Teorica e Applicata, Università di Pavia Andrea Sansò sanso@humnet.unipi.it A.A. 2005-2006 Corso progredito 10 CFU. Laboratorio di analisi di risorse linguistiche. Parte quinta Elementi di XML

annona
Download Presentation

Laboratorio di analisi di dati linguistici

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratorio di analisi di dati linguistici Laurea specialistica in Linguistica Teorica e Applicata, Università di Pavia Andrea Sansò sanso@humnet.unipi.it A.A. 2005-2006 Corso progredito 10 CFU

  2. Laboratorio di analisi di risorse linguistiche Parte quinta Elementi di XML La standardizzazione

  3. Sommario • XML e HTML • XML e SGML • La sintassi di XML: tags, nesting, commenti, elementi e attributi, la pianificazione • Creazione di documenti XML ben formati: la DTD

  4. Un sito di riferimento http://www.w3schools.com

  5. XML e HTML

  6. XML e HTML XML was designed to carry data. XML is not a replacement for HTML. XML and HTML were designed with different goals: XML was designed to describe data and to focus on what data is. HTML was designed to display data and to focus on how data looks. HTML is about displaying information, while XML is about describing information.

  7. XML e HTML XML (eXtensible Markup Language) è un linguaggio di markup come HTML (Hyper Text Markup Language), ma a differenza di HTML può essere personalizzato per applicarlo a dati di qualsiasi natura. Un file HTML è un testo contenente dei tag di markup che indicano al browser come visualizzare la pagina: Esempio

  8. Che cosa significa etichettatura? Da www.tei-c.org: … we define markup, or (synonymously) encoding, as any means of making explicit an interpretation of a text. Of course, all printed texts are implicitly encoded (or marked up) in this sense: punctuation marks, use of capitalization, disposition of letters around the page, even the spaces between words, might be regarded as a kind of markup, the function of which is to help the human reader determine where one word ends and another begins, or how to identify gross structural features such as headings or simple syntactic units such as dependent clauses or sentences. Encoding a text for computer processing is in principle … a process of making explicit what is conjectural or implicit, a process of directing the user as to how the content of the text should be (or has been) interpreted.

  9. Che cosa significa etichettatura? Da www.tei-c.org: By markup language we mean a set of markup conventions used together for encoding texts. A markup language must specify what markup is allowed, what markup is required, how markup is to be distinguished from text, and what the markup means.

  10. HTML • Che cosa contiene un file HTML • tags di apertura e di chiusura • <head> </head> • attributi contenuti all’interno delle tags • <bodytext="#000000"bgcolor="#3333FF" • link="#000099"vlink="#666600” • alink="#006600” background="unipvBK.gif"> • bla bla bla</body> Esempio

  11. HTML • Che cosa contiene un file HTML • heading tags • <h1>Title</h1> <h2>Subtitle</h2>, … • paragraph tags • <p>This is a paragraph</p> • line breaks • <br> • Una lista comoda di tutti i tipi di tag si trova all’indirizzo: • http://www.w3schools.com/html/html_quick.asp Esempio

  12. HTML I tags (e in generale la sintassi) di HTML contengono esclusivamente informazioni relative alla visualizzazione del documento attraverso un browser. HTML, a differenza di XML, rimedia autonomamente ad alcuni errori facili da riconoscere (esempio). L’esistenza di applicazioni di tipo WYSIWYG come FrontPage ha reso non indispensabile la conoscenza della sintassi di HTML per la creazione di pagine web. Lo stesso non può dirsi di XML! Inoltre, HTML è utilizzato per la visualizzazione e consultazione di file XML, e quindi è utile conoscerne il funzionamento (anche perché FrontPage non permette operazioni complesse come l’inserimento di dati codificati in XML all’interno di un documento HTML!).

  13. HTML Un breve corso di HTML è online al seguente indirizzo: http://www.w3schools.com/html/default.asp Un quiz per verificare la propria competenza in HTML si trova all’indirizzo: http://www.w3schools.com/html/html_quiz.asp Esempi semplici di pagine HTML all’indirizzo: http://www.w3schools.com/html/html_examples.asp

  14. HTML Alcuni documenti non sono comodamente descrivibili con HTML. Le pagine HTML consentono ad esempio di archiviare e visualizzare informazioni di database statici, ma se si desidera ordinare, filtrare e trovare informazioni o elaborarle in altri modi, HTML diventa insufficiente. XML non sostituisce HTML. Come vedremo, nella gran parte dei casi i metodi di visualizzazione dei documenti XML richiedono l’uso di HTML. Più che sostituirlo, XML si utilizza correntemente con HTML aumentando notevolmente la capacità delle pagine web di presentare informazioni molto strutturate.

  15. 2 XML e SGML

  16. XML e SGML XML e HTML si fondano su SGML (Standard Generalized Markup Language), un linguaggio sviluppato per fornire un metodo di identificazione delle parti e del contenuto di un documento sulla base delle informazioni contenute. SGML e XML, a differenza di HTML, sono entrambi degli insiemi di regole usate per controllare la creazione di linguaggi di markup che identificano il contenuto dei documenti. XML e SGML sono entrambi particolarmente adatti a documenti che contengono grandi quantità di informazioni organizzate in modo simile, come cataloghi o database. SGML e XML consentono inoltre la lettura del documento da parte di qualunque tipo di software, e l’autore del documento è in grado di specificare come ogni porzione del documento verrà interpretata da tutti i software.

  17. SGML SGML è stato sviluppato avendo come finalità la predisposizione di un sistema di rappresentazione e gestione documentale in grado di consentire l’illimitato trasferimento dei dati codificati tra differenti piattaforme informatiche (hardware e software) senza perdite di informazione. Inoltre, SGML è indipendente dalle applicazioni, cioè permette la rappresentazione di qualsiasi tipo di testo e di qualsiasi caratteristica testuale, indipendentemente dalle finalità per le quali il testo è stato memorizzato e codificato. Infine, SGML è indipendente dalle lingue nazionali e dai relativi sistemi di scrittura, permettendo la rappresentazione di testi redatti in qualsiasi sistema alfabetico latino e non latino.

  18. XML e SGML SGML può sembrare il linguaggio perfetto per descrivere l’informazione contenuta nei documenti, ma è sempre stato considerato troppo complesso per diventare il linguaggio universale del web. Nel 1996, l’XML Working Group del W3 Consortium ha sviluppato un sottoinsieme di SGML chiamato XML. XML è quindi una versione semplificata di SGML ottimizzata per il web, che mantiene tutti i vantaggi di SGML. Come SGML, XML consente di creare un insieme proprio di etichette da utilizzare nella descrizione di un determinato documento o insieme di documenti.

  19. 3 La sintassi di XML: tags, nesting, commenti, elementi e attributi, la pianificazione

  20. Perché XML? • XML is a cross-platform, software and hardware independent tool for transmitting information. • XML will be as important to the future of the Web as HTML has been to the foundation of the Web. • XML will be the most common tool for all data manipulation and data transmission.

  21. Che cos’è XML? Un semplice documento XML: <note> <to>Paul</to> <from>Jane</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

  22. Che cos’è XML? I tag XML descrivono la struttura del documento, oltre ad identificarne il contenuto. Proprio come i tag HTML, essi vengono aperti e chiusi con parentesi angolari. Dopo il tag di apertura verrà collocato il contenuto effettivo e infine il tag di chiusura (che si distingue per l’aggiunta di una barra trasversale alla parentesi angolare aperta).

  23. Che cos’è XML? <note> <to>Paul</to> <from>Jane</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Forse è difficile da comprendere immediatamente, ma XML non serve a “fare” niente. Serve soltanto a strutturare, immagazzinare e diffondere informazione. Questo semplice documento XML rappresenta informazione pura “codificata” attraverso i tags XML. Perché XML sia utile a qualcosa, bisogna trovare un sistema per diffondere questa informazione o semplicemente per visualizzarla.

  24. Che cos’è XML? <note> <to>Paul</to> <from>Jane</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> I tags di XML non sono predefiniti, ma devono essere inventati. Gli autori di documenti HTML possono usare solo i tags predefiniti nello standard HTML(come <p>, <h1>, ecc.).

  25. Che cos’è XML? Quando si usa HTML per visualizzare dei dati, i dati sono contenuti all’interno del file HTML. Utilizzando XML i dati si possono immagazzinare in files separati. In questo modo si può utilizzare HTML solo per il layout e la visualizzazione, essendo sicuri che i cambiamenti nel file XML non richiedono alcun adattamento del file HTML ausiliario.

  26. Che cos’è XML? I file XML possono essere compilati con un semplice editor di testo, e pertanto possono essere condivisi indipendentemente dal software e dall’hardware. È possibile creare documenti XML utilizzando il proprio editor preferito (Microsoft Word, Notepad, ecc.), anche se esistono editor che facilitano la scrittura di XML (XMLSpy, JEdit, ecc.).

  27. Che cos’è XML? • Esempi di editors: • XMetaL: è possibile prelevarne una versione dimostrativa (30 giorni) sul sito di SoftQuad (www.softquad.com) • XML Spy: è possibile prelevare una demo di questo software, funzionante per trenta giorni, dal sito web di Icon Information Systems (www.xmlspy.com)

  28. Il primo documento XML Se si salva un file in Notepad, l’estensione che viene automaticamente assegnata è .txt. Per assegnare una diversa estensione, si deve racchiudere il nome del file + l’estensione tra virgolette (es. “inventario.xml”). Quando andremo a riaprire il file salvato con estensione .xml, bisognerà aprire prima Notepad e poi scegliere “Apri” dal menu “File” (non è possibile aprirlo facendo doppio clic come si fa normalmente per i files .txt).

  29. Il primo documento XML <?xml version=“1.0” encoding=“UTF-8”?> <note> <to>Paul</to> <from>Jane</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Dichiarazione XML Root element Child elements End of the root element

  30. Il primo documento XML <?xml version="1.0" encoding=“UTF-8"?> Dichiarazione XML La dichiarazione XML indica che si tratta di un documento XML (e include il numero di versione, specificando che il documento utilizza l’insieme di caratteri UTF-8).

  31. Il primo documento XML <note> <to>Paul</to> <from>Jane</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Root element Child elements End of the root element L’elemento radice del documento specifica di che tipo di documento si tratta. Tra i due tag <note> e </note> si collocano gli elementi annidati.

  32. Il primo documento XML In XML non è possibile omettere dei tag di chiusura, mentre in HTML in taluni casi è possibile: <p>This is a paragraph <p>This is another paragraph HTML <p>This is a paragraph</p> <p>This is another paragraph</p> XML

  33. Il primo documento XML La dichiarazione XML non ha un tag di chiusura. Non si tratta di un errore, perché la dichiarazione non è parte del documento in senso stretto e non si può ritenere un elemento (n.b.: ogni tag identifica un elemento) <?xml version="1.0" encoding=“UTF-8”?>

  34. Il primo documento XML I tags di XML, a differenza di quelli di HTML sono case sensitive. Il tag <Letter> è pertanto diverso dal tag <letter>, e ovviamente è necessario che i tag di apertura e di chiusura siano scritti ESATTAMENTE allo stesso modo <Message>This is incorrect</message> <message>This is correct</message>

  35. Il primo documento XML Tutti gli elementi devono essere annidati in maniera corretta (a differenza di HTML, che permette un certo grado di libertà). <b><i>This text is bold and italic</b></i> HTML <name><family-name> Brambilla</family-name></name> XML

  36. Il primo documento XML L’elemento radice è obbligatorio. Tutti gli altri elementi devono essere annidati all’interno di questo elemento, e all’interno di ogni elemento figlio possono essere annidati a loro volta altri elementi <root> <child> <subchild>.....</subchild> </child> </root>

  37. Il primo documento XML <?xml version="1.0" encoding="ISO-8859-1"?> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> Documento non ben strutturato perché ha due elementi radice anziché uno

  38. Il primo documento XML Possiamo concludere che XML è molto più rigido di HTML. Le applicazioni che leggono XML non possono ignorare gli errori, ma si fermano esattamente in corrispondenza dell’errore del documento e inviano un messaggio d’errore al visualizzatore. Ciò rende relativamente semplice il debugging dei documenti XML perché è sempre possibile sapere con precisione quale linea sta provocando l’errore quando si visualizza il documento. Esempio

  39. Esempio <?xml version="1.0"?> <INVENTORY> <BOOK> <TITLE>Il fauno di marmo</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>tascabile</BINDING> <PAGES>473</PAGES> <PRICE>EURO 10,95</PRICE> </BOOK> <BOOK> <TITLE>Moby Dick</TITLE> <AUTHOR>Herman Melville</AUTHOR> <BINDING>copertina rigida</BINDING> <PAGES>724</PAGES> <PRICE>EURO 9,95</PRICE> </BOOK> </INVENTORY>

  40. Inserimento di commenti In un documento XML è possibile inserire dei commenti, che verranno ignorati dal visualizzatore, ma che possono avere una funzione fondamentale (ad esempio, possono brevemente segnalare le scelte del creatore del file, o la data dell’ultima modifica). Un commento inizia con i caratteri <!--e termina con i caratteri -->. Tra questi due gruppi di caratteri è possibile digitare un qualsiasi testo, tranne i caratteri --, che verrebbero intesi dal browser come chiusura del commento. <?xmlversion="1.0" encoding="ISO-8859-1"?> <!-- Edited with XML Spy v4.2 --> <CATALOG> <CD> ...

  41. Elementi Elemento annidato Dati carattere <TITLE>Moby Dick <SUBTITLE> o la balena </SUBTITLE></TITLE> Nome dell’elemento Contenuto dell’elemento TITLE

  42. Elementi Quando si aggiunge un elemento al documento XML, è possibile selezionare qualsiasi nome, purché venga rispettata la seguente regola: Il nome deve iniziare con una lettera o un carattere di sottolineatura (_), seguito da zero o più lettere, cifre, punti, trattini o caratteri di sottolineatura. Esempi di nomi non validi: <1stplace> non si può iniziare con un numero <B section> non sono ammessi spazi vuoti <B/section> non è ammesso il carattere “barra” <:Chapter> non si può cominciare con i due punti

  43. Elementi Alcuni caratteri non sono ammessi all’interno del contenuto degli elementi. Ad esempio la parentesi angolare sinistra non è ammessa. Per risolvere il problema, bisogna sostituire il carattere illegale con un riferimento a un’entità predefinita <message>if salary < 1000 then</message> Sostituire con <message>if salary &lt; 1000 then</message> Entità predefinite &lt; < &gt; > &amp; & &apos; ' &quot; "

  44. Elementi vuoti È possibile immettere degli elementi vuoti all’interno di un documento. L’importanza degli elementi vuoti è fondamentale: essi ci permettono di mantenere la simmetria strutturale, ad esempio nei vari item di una lista o rubrica, come nell’esempio seguente, in cui non conosciamo il prezzo di uno degli item della lista. L’elemento vuoto ha un tag proprio (oppure si possono usare i tag di apertura e chiusura uno subito dopo l’altro; le due notazioni sono del tutto equivalenti). <PRICE></PRICE> oppure <PRICE/>

  45. Esempio <?xml version="1.0" encoding="ISO-8859-1"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COMPANY>CBS Records</COMPANY> <PRICE/> <YEAR>1988</YEAR> </CD> </CATALOG>

  46. Inserimento di attributi Nel tag iniziale di ciascun elemento è possibile includere uno o più attributi. Una specifica di un attributo è rappresentata da una coppia nome-valoreassociata all’elemento. Gli attributi rappresentano un metodo alternativo per includere informazioni in un documento. <BOOK category=“fiction” binding=“paperback”>...</BOOK> Attributi

  47. Inserimento di attributi L’aggiunta di un attributo offre diversi vantaggi. Come vedremo, se si scrive un documento valido utilizzando una DTD, è possibile limitare i valori che possono essere assegnati a un attributo, ed è possibile specificare un valore predefinito che verrà assegnato all’attributo nel caso venga omessa la specifica. Al contrario, utilizzando una DTD non è possibile specificare un valore predefinito per il contenuto di un elemento. Non esistono regole obbligatorie riguardo a ciò che deve essere memorizzato all’interno degli attributi o come contenuto di un elemento.

  48. Inserimento di attributi • Il valore assegnato ad un attributo è una serie di caratteri delimitato da virgolette. È possibile assegnare qualsiasi valore letterale ad un attributo, purché si rispettino le regole seguenti: • La stringa può essere delimitata da virgolette singole (‘’) o doppie (“”); • la stringa non può contenere lo stesso carattere utilizzato per delimitarla (quindi se si vogliono includere nella stringa le virgolette singole, si dovrà delimitare la stringa stessa con virgolette doppie, e viceversa); • la stringa non può includere la parentesi angolare sinistra, se non attraverso il riferimento ad un’entità generale.

  49. Inserimento di attributi: esempio <?xml version="1.0"?> <INVENTORY> <BOOK Binding="tascabile economico"> <TITLE>Le avventure di Huckleberry Finn</TITLE> <AUTHOR Born="1835">Mark Twain</AUTHOR> <PAGES>298</PAGES> </BOOK> <BOOK Binding="copertina rigida"> <TITLE>Foglie d'erba</TITLE> <AUTHOR Born="1819">Walt Whitman</AUTHOR> <PAGES>462</PAGES> </BOOK> </INVENTORY>

  50. La pianificazione • Quando si utilizza XML non conviene procedere a lume di naso. L’approccio ottimale quando si hanno dei dati da marcare con XML richiede un minimo di pianificazione. • Prima fase: stabilire il livello di dettaglio (che cosa va negli attributi e che cosa negli elementi? Entrambi sono accessibili a una query, ma si tende a limitare la proliferazione degli attributi…). Inoltre, un elemento può essere semplice o comprendere diversi elementi annidati. • Seconda fase: creare il template di un documento XML prima di inserire il contenuto è sempre utile. Ciò non significa che non si debbano escogitare sempre nuove modifiche in corso d’opera...

More Related