Lezione Montepulciano 12-13 Giugno: Master di studi sul libro antico e per la formazione di figure di bibliotecario manager impegnato nella gestione di raccolte storiche. Univ. di Siena
Web 2.0 e condivisione del sapere: Marco Marcellini Milano 24 Maggio
XML, TEI e codifica dei testi
1. Montepulciano - 12/13 Giugno 2008
BASI di DATI, XML e T.E.I.
Tecnologie informatiche per le scienze umanistiche
Simone Allegria – Marco Marcellini
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
2. Informatica per le scienze umanistiche:
PARTE 1
BASI di DATI:
criteri per la corretta progettazione
e implementazione di un database
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
3. Database (base di dati) e applicazioni
I dati strutturati possano essere usati con successo nella
trasmissione, ricerca e valutazione di tutte le fonti disponibili per
gli studi umanistici
Il modello di database relazionale venne proposto da Edgar F.
Codd nel 1970 e si basa sul concetto di ENTITA'/RELAZIONE
Il modello ER è basato su:
– Entità / Attributi / Associazioni
L'elemento portante di database relazionale è la TABELLA
un Database Management System (abbreviato in DBMS) è un
sistema software progettato per consentire la creazione e
manipolazione efficiente di database (ovvero di collezioni di dati
strutturati) solitamente da parte di più utenti.
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
4. Tabelle, campi e records
CAMPI (fields)
Nome Cognome Data di nascita Indirizzo Paese CAP Sigla provincia
Mario Rossi 12/12/71 Via Roma 21 Arezzo 52100 AR
Giuseppe Verdi 03/04/69 Viale Abruzzi 4 Cortona 52044 AR
Caterina Bianchi 02/02/85 Via Guelfa 31 Arezzo 52100 AR
Castiglion Fiorentino 52042
Giovanni Rotondo 02/03/82 Piazza Grande 14 AR
RECORDS
Differenti tipi di dati
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
5. Chiavi, indici, tipi di dati e relazioni
Tipologie di dati: Relazioni fra campi:
Testo / Memo Uno a uno / Uno a molti
Numerico / Valuta Integrità referenziale
Data/ora
Sì/no
Binario
Campi speciali:
Chiave primaria
Campi indicizzati
Univoci
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
6. Web dinamico e rich applications
I database basati su architettura client-server sono
largamente utilizzati sul web:
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
7. Web dinamico e rich application
L'architettura è basata su Database engine e
linguaggi di programmazione:
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
8. Esercitazione sulle basi di dati
Fogli di calcolo e funzioni database:
– ESERCIZIO 1: Creare e gestire una base di dati con Excel o
Open Office Calc
Tabelle e relazioni
– ESERCIZIO 2: Creare un database con Microsoft Access e
gestire le relazioni
Formati di scambio
– Esportare e importare in Excel, via XML o CSV
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
9. Informatica per le scienze umanistiche:
PARTE 2
XML:
l'eXtensible Markup Language
per rappresentare l'informazione testuale
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
10. SGML e XML
Alle origini di XML: SGML e HTML
– Standard Generalized Markup Language e Hyper Text
Markup Language
SGML è un meta-linguaggio, ovvero un insieme di
regole generalizzate usate per creare molteplici
linguaggi particolari (markup languages) o per
rappresentare contenuti testuali organizzati in
gerarchia
Basato su marcatori: <marcatore>dati</marcatore>
Contiene al suo interno una DTD = document type
definition che stabilisce i tag e le regole di utilizzo
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
11. SGML: un esempio
<testo>
<titolo>Titolo del primo capitolo</titolo>
<capitolo numero=”1”>
<paragrafo>Questo è un paragrafo</paragrafo>
<paragrafo>Questo è un paragrafo</paragrafo>
</capitolo>
<titolo>Titolo del secondo capitolo</titolo>
<capitolo numero=”2”>
<paragrafo>Questo è un paragrafo</paragrafo>
<paragrafo>Questo è un paragrafo</paragrafo>
</capitolo>
</testo>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
12. Una struttura simile in HTML
<html>
<head><title>Esempio di documento</title></head>
<body>
<h1>Titolo del primo capitolo</h1>
<p>Questo è un paragrafo</p>
<p>Questo è un paragrafo</p>
<h1>Titolo del secondo capitolo</h1>
<p>Questo è un paragrafo</p>
<p>Questo è un paragrafo</p>
</body></html>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
13. Il linguaggio XML
XML, acronimo di eXtensible Markup Language,
ovvero «Linguaggio di marcatura estensibile» è un
metalinguaggio creato e gestito dal World Wide Web
Consortium (W3C). È una semplificazione e
adattamento dell'SGML, da cui è nato nel 1998, e
permette di definire la grammatica di diversi
linguaggi specifici derivati.
Rispetto all'HTML, l'XML ha uno scopo ben diverso:
mentre il primo è un linguaggio creato per pagine
web e ipertesti, il secondo è un metalinguaggio
utilizzato per creare nuovi linguaggi, atti a descrivere
documenti strutturati.
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
14. XML secondo il W3C
XML is for structuring XML is new, but not that
data new
XML looks a bit like XML leads HTML to
HTML XHTML
XML is text, but isn't XML is modular
meant to be read XML is the basis for
XML is verbose by RDF and the Semantic
design Web
XML is a family of XML is license-free,
technologies platform-independent
and well-supported
Fonte: www.w3.org/XML/1999/XML-in-10-points.html
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
15. Regole di sintassi dell'XML
Ogni documento deve avere un prologo (Header)
che contiene informazioni sulla codifica
Deve esistere un unico tag radice (ROOT)
Sono ammessi commenti al codice, nella forma
<!-- questo è un commento -->
Tutti i tag devono essere bilanciati (aperti/chiusi e
correttamente nidificati)
I tag possono avere attributi, es.
<prezzo valuta=”euro”>120</prezzo>
Si possono definire tag vuoti es.
<vuoto></vuoto> oppure <vuoto />
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
16. XML Well formed
<?xml version=quot;1.0quot; encoding=quot;ISO-8859-1quot;?>
<Libro xmlns=”http://www.unisi.it/”>
<Titolo>XML Tascabile</Titolo>
<Editore>Mondadori Informatica Libri</Editore>
<Prezzo Valuta=quot;Euroquot;>7.70</Prezzo>
<Descrizione>Si tratta di un tascabile che accompagna il lettore nella
scoperta della tecnologia XML e delle sue applicazioni concrete
nello sviluppo di software</Descrizione>
<Struttura>
<Pagine>288</Pagine>
<Capitoli>12</Capitoli>
<Appendici>1</Appendici>
</Struttura>
</Libro>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
17. Trova i 4 errori nel codice XML
<?xml version=quot;1.0quot;?>
<Libro>
<Titolo>XML Tascabile</Titolo>
<Editore>Mondadori Informatica Libri</Editore>
<Prezzo Valuta=Euro>7.70</Prezzo>
<Descrizione>Si tratta di un tascabile che accompagna il lettore nella
scoperta della tecnologia XML e delle sue applicazioni concrete
nello sviluppo di software; è un buon libro...</descrizione>
<Struttura>
<Pagine>230<Capitoli>
</Pagine>12</Capitoli>
<Appendici>3</Appendici>
</Struttura>
</Libro>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
18. Gli errori più comuni nella sintassi XML
Errori di annidamento, ad esempio:
<rubrica>
<nome>Mario</nome>
<cognome>Rossi
<indirizzo>Via Roma 21</indirizzo>
</rubrica></cognome>
Caratteri non consentiti, tag che iniziano con numeri
<1 nome>Mario</1 nome>
Omissione di “ ” nelle caratteristiche
<Borsa colore=rosso taglia=XL>Modello Barbie</Borsa>
L'XML è case sensitive
<indirizzo>Via Roma 21</INDIRIZZO>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
19. Gli strumenti di lavoro:
Come scrivere un documento XML ?
– Uso di editor XML che consentono visione del tree e
evidenziano errori di sintassi
Come validare un documento XML ?
– Occorre inserire una DTD e usare le apposite funzioni degli
editor xml
Come visualizzare un documento XML ?
– Un semplice browser non è sufficiente, occorre formattare il
documento attraverso XSL (o XSLT)
Come effettuare ricerche all'interno di una base dati
costruita da tanti documenti XML ?
– Attraverso il linguaggio XQUERY o motori di ricerca dedicati
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
20. EDITOR XML: quale scegliere ?
Ampia scelta di software multipiattaforma
Buone le possibilità offerte dai software freeware o
open-source
Possibilità di gestire progetti, validazione del codice
e supporto per TEI P5
EDITOR XML GRATUITI:
– BONFIRE STUDIO www.tucows.com/preview/239846
– COOKTOP www.xmlcooktop.com
– Peter's XML Editor www.iol.ie/~pxe/
– XMLPad v.2.2 www.wmhelp.com/download.htm
– Classical Text Editor (T.E.I.) www.oeaw.ac.at/kvk/cte/
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
21. EDITOR XML: quale scegliere ?
EDITOR XML DERIVATI da versioni commerciali:
– XMLMind Personal Edition
www.xmlmind.com/xmleditor/persoedition.html
– Exchanger XML Lite www.freexmleditor.com
Versioni di valutazione 30 giorni:
– <oXygen/> XML Author
www.oxygenxml.com/download_oxygenxml_author.html
– Altova XML Spy www.altova.com/download.html
Lista completa, suddivisa per sistema operativo:
– www.xml-dev.com/xml/XML%20Editors.mm.html
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
22. Classical Text Editor: Word-Processor for Critical Editions
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
23. Exchanger XML Lite
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
24. Peter's XML Editor
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
25. XMLMind Personal Edition
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
26. Altova XML Spy (commercial)
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
27. Esercitazione su XML
ESERCIZIO 1: Creare un file XML secondo lo
schema seguente:
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
28. Document Type Definition
La DTD di un documento (XML o altro) permette di
definire le caratteristiche della codifica e dei tag e
quindi consente la “validazione” del documento
Può essere interna o esterna (file o pubblica) al
documento:
<?xml version=”1.0” standalone=”no”?>
<!DOCTYPE esempio PUBLIC nomeconvenzionale “http://www../nome.dtd”>
<!DOCTYPE esempio SYSTEM “nome.dtd”>
oppure interna al documento
<!DOCTYPE esempio [
<!ELEMENT libro (nome, titolo, casa_editrice, luogo, anno)>
<!ELEMENT nome (#PCDATA)>
]> e qui inizia il documento XML vero e proprio
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
29. Regole di sintassi per la DTD
Definizione di elementi: <!ELEMENT nome regola>
<!ELEMENT Libro (#PCDATA) > <!ELEMENT Libro (#ANY) > <!ELEMENT BR (#EMPTY) >
Definizione di gruppi per ogni elemento:
<!ELEMENT Struttura (Pagine, Capitoli, Appendici) >
Definizione delle molteplicità:
<!ELEMENT Struttura (Pagine?, Capitoli+, Appendici*) >
dove ? = 0 o 1 volte + = da 1 a infinito * = da 0 a infinito
Definizione di attributi
<!ELEMENT Pubblicazione (#PCDATA) >
<!ATTLIST Pubblicazione Tipo (quotidiano | settimanale | mensile) #REQUIRED >
Definizione di entità
<!ENTITY CopyRight quot;(C) Copyright Mondadori – 2001 tutti i diritti riservatiquot; >
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
30. Esempio di DTD
<?xml version=quot;1.0quot;?>
<!DOCTYPE Libro [
<!ELEMENT Libro (Titolo, Editore, Prezzo, Descrizione, Struttura) >
<!ELEMENT Titolo (#PCDATA) >
<!ELEMENT Editore (#PCDATA) >
<!ELEMENT Prezzo (#PCDATA) >
<!ATTLIST Prezzo Valuta CDATA #REQUIRED >
<!ELEMENT Descrizione (#PCDATA) >
<!ELEMENT Struttura (Pagine, Capitoli, Appendici?) >
<!ELEMENT Pagine (#PCDATA) >
<!ELEMENT Capitoli (#PCDATA) >
<!ELEMENT Appendici (#PCDATA) >
]>
<Libro>
<Titolo>XML Tascabile</Titolo>
<Editore>Mondadori Informatica Libri</Editore>
<Prezzo Valuta=quot;Euroquot;>7.70</Prezzo>
<Descrizione>Si tratta di un tascabile che accompagna il lettore nella
scoperta della tecnologia XML e delle sue applicazioni concrete
nello sviluppo di software</Descrizione>
<Struttura>
<Pagine>288</Pagine>
<Capitoli>12</Capitoli>
<Appendici>1</Appendici>
</Struttura>
</Libro>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
31. Oltre le DTD: XML Schema Definition
XSD è nato per superare i limiti della DTD nella
definizione dei dati (campi e tipi di dati)
XSD consente di usare le stesse tipologie usate per
la definizione dei database
Il file XSD è un file XML autonomo e segue le stesse
regole
XSD è integrabile nel documento XML mediante il
seguente codice:
<ELEMENTO_ROOT
xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
xsi:noNamespaceSchemaLocation=quot;schema.xsdquot;>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
32. Tipi di dati anySimpleType
Fonte: http://docs.codehaus.org
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
33. Fogli di stile per rappresentare il documento
La presentazione di un documento XML viene
controllata da uno o più fogli di stile:
I linguaggi di stile utilizzabili con XML sono:
Extensible Stylesheet Language (XSL)
Cascading Style Sheet (CSS) comuni con l'html
<?xml-stylesheet type=quot;text/cssquot;
href=quot;StileXML.CSSquot;?>
<?xml-stylesheet href=quot;city.xslquot; type=quot;text/xslquot;?>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
34. Esempio di file .CSS
Titolo {font-Family: Arial; font-Size: 12pt; color: red; display: block;}
Paragrafo {font-Family: Verdana; font-Size: 8pt; color: blue; display:
block;}
Documento {font-Family: Arial; font-Size: 10pt; color: black; display:
inline;}
Titolo {
font-Family: Arial;
font-Size: 20pt;
color: red;
display: block;
}
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
35. Esempio di file .XSL
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<xsl:stylesheet version=quot;1.0quot;
xmlns:xsl=quot;http://www.w3.org/1999/XSL/Transformquot;>
<xsl:output method=quot;htmlquot;/><xsl:template match=quot;/quot;>
<html><head><title>Cities</title></head><body>
<h2>Cities</h2>
<xsl:apply-templates select=quot;citiesquot;/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
36. Strumenti aggiuntivi per XML
Esistono diversi strumenti legati all'XML, ognuno
progettato dal W3C con uno scopo aggiuntivo:
XLink = serve a collegare in modo completo due
documenti XML; al contrario dei classici collegamenti
ipertestuali che conosciamo in HTML, XLink
permette di creare link multidirezionali e
semanticamente avanzati.
Xforms = gestione di form in html
Xquery = linguaggio di interrogazione di basi di dati
create in XML
SVG = Formato per la gestione di immagini vettoriali
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
37. Esercitazione su XML
SGML e XML:
– ESERCIZIO 2: Creare un file XML basato sulla seguente DTD e
testarne la validazione:
<!DOCTYPE schedatura[
<!ELEMENT inventario (libro+)>
<!ELEMENT libro (isbn,titolo?,autore+,editore,prezzo)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT titolo (#PCDATA)>
<!ELEMENT autore (#PCDATA)>
<!ELEMENT editore (#PCDATA)>
<!ELEMENT prezzo (#PCDATA)>
<!ATTLIST prezzo Valuta CDATA #REQUIRED >
]>
– ESERCIZIO 3: Formattare il documento mediante CSS
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
38. Informatica per le scienze umanistiche:
PARTE 3
Text Encoding Iniziative:
standard per la riproduzione
dei testi in formato digitale
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008
39. Riferimenti:
Breve bibliografia:
– M. Canducci, XML pocket, Apogeo 2005.
– T. Numerico, A. Vespignani, Informatica per le scienze
umanistiche, Il Mulino Bologna 2003
– A. Ciula, F. Stella, Digital philology and medieval texts, Pacini
Editore 2007
Sitografia (aggiornata al 12/6/08)
Buon punto di partenza per l'apprendimento di XML e TEI,
con esempi e link ad altre risorse:
• http://www.tei-c.org/index.xml
• http://www.xml.it:23456/XML/REC-xml-19980210-it.html
• http://it.wikipedia.org/wiki/XML
Modulo IV: Informatica e nuovi media al servizio della catalogazione e della valorizzazione 12-13 Giugno 2008