Informazione semi-strutturata
XML eXtended Markup Language
DTD Document Type Definition
Mapping UML into XML
Tratti dalle trasparenze del Prof. Dino Pedreschi, Universit di Pisa, e
del Prof. Riccardo Rosati, Universit di Roma La Sapienza
Linguaggi di marcatura
u Un linguaggio di marcatura un insieme di
convenzioni per la marcatura di testi.
u Marcatura di documenti
Linguaggi di marcatura
u Un linguaggio di marcatura un insieme di
convenzioni per la marcatura di testi.
u Deve specificare:
09/03/2004
Tipi di marcatura
u Si distinguono due tipi di marcatura:
u marcatura procedurale
u marcatura descrittiva
collegamenti ipertestuali
immagini
09/03/2004
Limitazioni di HTML
u Insieme di etichette prefissato
u Marcatura usata per la presentazione del documento HTML adatto, anche se presenta delle limitazioni
7
Il Web oggi
u Composto da una collezione (molto grande) di pagine Web
u Ogni pagina un documento strutturato codificato in HTML
u Le informazioni nel Web di oggi
<h1>Libro</h1>
<p>
<i>I Promessi Sposi</i>.<br>
<b>Alessandro Manzoni</b>.<br>
La Padana, 1982.<br>
Romanzo storico sulle traversie d'amore. Un po' datato in quanto
...
</p>
<b>Riferimenti bibliografici</b>
<ol>
<li><i>Il Decamerone, </i>
Francesco Boccaccio.
<i>La Toscana</i>, 2000.
</li>
<li><i>Il Vangelo, </i>
Matteo, Marco, Luca, Giovanni.
<i>La Giudea</i>, 1000.
</li>
...
</ol>
9
09/03/2004
Il Web domani
u Documenti strutturati e dati vengono generati ed
utilizzati da applicazioni e da umani
u documenti visualizzati in pagine Web
u pagine Web generate a partire da dati strutturati (basi
di dati)
u dati estratti da documenti sul Web
u dati scambiati via Web tra organizzazioni diverse
u HTML non adatto potr essere utilizzato solo per la
visualizzazione finale
10
contenuto
presentazione
navigazione
11
12
09/03/2004
13
14
Documenti XML
u Il documento XML verboso ma logicamente ben
strutturato
15
09/03/2004
Il linguaggio XML
u XML = eXtensible Markup Language
u linguaggio di marcatura descrittiva
u sta suscitando enorme interesse
a livello industriale
nella comunit scientifica
Le origini di XML
u 1969
u 1974
u 1986
u 1989
u 1995
Le origini di XML
u 1996
u 1998
u 1996-oggi
u 2002
09/03/2004
Specifiche aggiuntive
u Si rendono necessarie per rendere XML funzionale sul Web
u presentazione del documento (fogli di stile): XSL (XSLT), CSS
u significato della marcatura
21
09/03/2004
Specifiche aggiuntive
u XML permette di definire nuovi linguaggi di marcatura
22
23
24
09/03/2004
Sintassi XML
u Il contenuto di un elemento costituito da:
Elementi vuoti
u Il contenuto di un elemento pu essere vuoto.
u Due modi di denotare un elemento vuoto:
26
Nomi di elemento
u XML case-sensitive - esempio non ben formato:
<elenco-clienti>
<cliente><codice>CC128</codice> ... </CLIENTE>
</Elenco-Clienti>
u Errore comune: dimenticare "/" nell'etichetta di
chiusura - es:
<elenco-clienti>
<cliente><codice>CC128</codice> ... <cliente>
</elenco-clienti>
27
09/03/2004
<nomiPermessi>
<xsl:template/>
<Nome_elemento_lungo/>
<Altro-nome-lungo/>
<nome.con.punti/>
<a1233-231-231/>
<_12/>
</nomiPermessi>
<nomi+Vietati>
<questiNO@#$%^()+?*;$=/>
<Un;nome*2/>
<XmL-riservato/>
<8-inizia-con-cifra/>
<niente spazi/>
<riservati<&>>
</nomi+Vietati>
28
Caratteri riservati
u Il testo non pu contenere i caratteri riservati per la
marcatura
u Si usano
"<"per"<" "&"per"&
<editore>Wiley & sons</editore>
<disequazione>x*y < z</disequazione>
29
Commenti
u servono a escludere una parte di documento
dallelaborazione
u possono comparire ovunque all'esterno della marcatura
u un processore XML pu o meno rendere disponibili le parti
di documento racchiuse tra commenti
u sono delimitati da <!-- e -->
u possono contenere qualsiasi carattere (inclusi "<" e "&"),
tranne "-"
u non possono essere annidati
30
10
09/03/2004
31
elementi ammessi
attributi ammessi
stutturazione degli elementi
definizione di nuove entit (interne ed esterne)
32
di tipi di elemento
di attributi
di entit
11
09/03/2004
Dichiarazioni in XML
u In XML tutte le dichiarazioni hanno la forma:
u <!OGGETTO-DICHIARATO ... >
u Esempi:
<!DOCTYPE ... >
<!ELEMENT ... >
<!ATTLIST ... >
<!ENTITY ... >
<!NOTATION ... >
u In questo corso tratteremo solo le prime due
(DOCTYPE,ELEMENT) ma faremo anche qualche cenno a
ATTLIST.
34
35
i tipi di elemento
#PCDATA , che rappresenta del testo libero (senza etichette)
36
12
09/03/2004
37
38
39
13
09/03/2004
40
u <!DOCTYPE Studente [
<!ELEMENT Studente (Matricola, Nome, DataNascita)>
<!ELEMENT DataNascita (Giorno, Mese, Anno)>
<!ELEMENT Matricola (#PCDATA)>
<!ELEMENT Nome
(#PCDATA)>
<!ELEMENT Giorno
(#PCDATA)>
<!ELEMENT Mese
(#PCDATA)>
<!ELEMENT Anno
(#PCDATA)>
]>
41
14
09/03/2004
DTD alternativo
u E' anche possibile rappresentare tutta una tabella in un
documento XML utilizzando il seguente schema.
<!DOCTYPE ElencoStudenti [
<!ELEMENT ElencoStudenti (Studente+)>
<!ELEMENT Studente (Matricola, Nome, DataNascita)>
<!ELEMENT DataNascita (Giorno, Mese, Anno)>
<!ELEMENT Matricola (#PCDATA)>
<!ELEMENT Nome
(#PCDATA)>
<!ELEMENT Giorno
(#PCDATA)>
<!ELEMENT Mese
(#PCDATA)>
<!ELEMENT Anno
(#PCDATA)>
]>
43
<ElencoStudenti>
<Studente>
<Matricola> 10101 </Matricola>
<Nome> Francesco Rossi </Nome>
<DataNascita>
<Giorno> 10 </Giorno> <Mese> 11 </Mese> <Anno> 1980 </Anno>
</DataNascita>
</Studente>
<Studente>
<Matricola> 20000 </Matricola>
<Nome> Francesco Bianchi </Nome>
<DataNascita>
<Giorno> 1 </Giorno> <Mese> 12 </Mese> <Anno> 1980 </Anno>
</DataNascita>
</Studente>
</ElencoStudenti>
44
45
15
09/03/2004
Un elenco di aziende
<!DOCTYPE ElencoAziende [
<!ELEMENT ElencoAziende(Azienda+)>
<!ELEMENT Azienda
(Sigla, Nome, Sede, Persona*)>
<!ELEMENT Persona
(CodiceFiscale , Nome,
DataNascita)>
<!ELEMENT Sigla
(#PCDATA)>
<!ELEMENT Nome
(#PCDATA)>
<!ELEMENT Sede
(#PCDATA)>
<!ELEMENT CodiceFiscale(#PCDATA)>
<!ELEMENT DataNascita (Giorno, Mese, Anno)>
<!ELEMENT Giorno
(#PCDATA)>
<!ELEMENT Mese
(#PCDATA)>
<!ELEMENT Anno
(#PCDATA)>
]>
48
16
09/03/2004
49
Elenco Persone
<!DOCTYPE ElencoPersone [
<!ELEMENT ElencoPersone(Persone+)>
<!ELEMENT Persona (CodiceFiscale, Nome, DataNascita, Azienda?) >
<!ELEMENT Azienda
(Sigla, Nome, Sede)>
<!ELEMENT Sigla
(#PCDATA )>
<!ELEMENT Nome
(#PCDATA)>
<!ELEMENT Sede
(#PCDATA)>
<!ELEMENT CodiceFiscale(#PCDATA)>
<!ELEMENT DataNascita (Giorno, Mese, Anno)>
<!ELEMENT Giorno
(#PCDATA)>
<!ELEMENT Mese
(#PCDATA )>
<!ELEMENT Anno
(#PCDATA)>
]>
51
17
09/03/2004
52
53
Associazioni ricorsive
u Utilizzando un DTD possibile, inoltre, rappresentare
associazioni ricorsive (e quindi ontologie):
<!DOCTYPE GenereMusicale [
<!ELEMENT GenereMusicale
(CodiceGenere, Descrizione, Super?)>
<!ELEMENT Super
(GenereMusicale)>
<!ELEMENT CodiceGenere (#PCDATA)>
<!ELEMENT Descrizione (#PCDATA)>
]>
54
18
09/03/2004
ATTRIBUTI
u Un elemento pu avere nessuno, uno o pi attributi .
u un attributo ha un nome ed associa una propriet ad un
elemento
u i caratteri ammessi nei nomi sono gli stessi che per gli
elementi
u gli attributi vengono specificati nell'etichetta iniziale
attraverso coppie attributo="valore"
u il valore deve essere delimitato da una coppia di apici
singoli o doppi
55
56
<attributi-mal-formati>
<carattere-non-ammesso a*b="23432"/>
<separatori-diversi valore="12'/>
<cambia-separatore valore="aa"aa"/>
<cambia-separatore valore='bb'bb'/>
<parola-riservata
XML-ID="xml234"/>
</attributi-mal-formati>
57
19
09/03/2004
20
09/03/2004
VALORI DI DEAFULT
u valore esplicito che viene assunto in mancanza di specifica
<!ATTLIST P align (left|center|right) "left" ...>
u #REQUIRED, che obbliga a specificare l'attributo
u #IMPLIED, che rende la specifica del valore opzionale
u #FIXED "valore-fisso", che fissa l'attributo ad avere un
valore fisso (non pu essere modificato all'interno del
documento)
61
21