Linguaggi di schema per XML e modelli astratti di documenti Tesi di Laurea di Daniele Gubellini Relatore: Chiar.mo Prof. Fabio Vitali Bologna, 23 marzo.

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
Analisi e progettazione
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Algoritmi e Programmazione
Semantica Operazionale di un frammento di Java: lo stato
Generalità Linguaggio e Macchina Astratta
una interfaccia internet per il sistema Momis
Query OQL e XQUERY a confronto
Re-engineering del wrapper XML Schema per il sistema MOMIS
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Ontologie Lessicali Multilingua:
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
PROVINCIA DI LECCE – AGENZIA DI
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Unità Didattica 2 I Linguaggi di Programmazione
Modello E-R Generalizzazioni
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello E-R Generalizzazioni
MANUALE DI PEDAGOGIA GENERALE
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
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.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
Documentazione automatica su un linguaggio schema di Alessandro Modica Relatore: Fabio Vitali.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
Progettare un database
Creare pagine web Xhtlm. Struttura di una pagina.
Relazioni sulle esperienze di laboratorio
Titolo della tesi Nome candidato Relatore: prof. Davide Pettenella
Tesina Titolo, autori Introduzione Apparato sperimentale
NIR Presentazione del DTD di NormeInRete Fabio Vitali Università di Bologna & IAT-CNR 31 ottobre 2000.
Esercitazioni di Ingegneria del Software con UML
CORSO Di WEB DESIGN prof. Leonardo Moriello
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
LTW Annotazioni sul progetto Fabio Vitali. LTW Scopo del progetto Realizzare un sito Web per la lettura e la ricerca di testi e dati su un argomento specifico.
SISTEMI DIDATTICI PER L’ E- LEARNING
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
WWW Domande Fabio Vitali. WWW Fabio Vitali2 Domanda 1 Vorrei sapere se quando definiamo un tag a livello di working group, cioè per definire i tag comuni.
WWW La sintassi di SGML  XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo in breve tutti gli aspetti di SGML che sono in comune con XML:
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Tesi di Laurea di: Relatore: Mariano Diasio Prof. Fabio Vitali
1 La Text Encoding Initiative (TEI). 2 La TEI perchè  Proliferazione degli schemi di codifica  Difficoltà per il mondo umanistico ad avere visibilità.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Mapping Database Atsilo
Il riassunto e la parafrasi
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Come fare una presentazione =). Semplici regole… 1.Essere chiari 2.Essere diretti 3.Essere brevi 4.Essere chiari… ;-)
Transcript della presentazione:

Linguaggi di schema per XML e modelli astratti di documenti Tesi di Laurea di Daniele Gubellini Relatore: Chiar.mo Prof. Fabio Vitali Bologna, 23 marzo 2005

L ingegneria dei documenti Le componenti di un documento Le componenti di un documento Contenuto: informazione allo stato puro (la mia data di nascita). Contenuto: informazione allo stato puro (la mia data di nascita). Struttura: risponde alla domanda dovè un dato e conferisce metainformazioni. Struttura: risponde alla domanda dovè un dato e conferisce metainformazioni. Esempio: ? Esempio: ? Presentazione: formattazione visiva. Presentazione: formattazione visiva. Esempio: 01/03/1978. Esempio: 01/03/1978. Sintassi Sintassi XML, markup descrittivo. XML, markup descrittivo. Vincoli Vincoli Linguaggi di schema: DTD, XML Schema. Linguaggi di schema: DTD, XML Schema.

Lobiettivo Identificare gli schemi utili e potenzialmente ricchi di significato Identificare gli schemi utili e potenzialmente ricchi di significato Eliminare i costrutti sintattici non necessari nella costruzione di strutture significative. Eliminare i costrutti sintattici non necessari nella costruzione di strutture significative. Definire un linguaggio di schema minimale che permetta lespressione di tutti e soli gli schemi catalogati. Definire un linguaggio di schema minimale che permetta lespressione di tutti e soli gli schemi catalogati.

Content model DTD inutili: esempi Descrizione Descrizione Presenza di alcuni frammenti di content model come (B|C)* in più dichiarazioni. Presenza di alcuni frammenti di content model come (B|C)* in più dichiarazioni. Aggiungendo un elemento K si avrebbe incoerenza semantica? Aggiungendo un elemento K si avrebbe incoerenza semantica? (B|C)* sono logicamente indissolubili o indipendenti? (B|C)* sono logicamente indissolubili o indipendenti? Ripetizione di sequenze. Ripetizione di sequenze. Uneventuale relazione semantica tra A e B non è rafforzata dalla sintassi. Sequenza di elementi non ripetibili ed elementi ripetibili. Sequenza di elementi non ripetibili ed elementi ripetibili. T sembra uninformazione unica che dice qualcosa sulla lista di B. Questo fatto non è rafforzato dalla sintassi. Content model DTD

Normalizzazione Documenti ben ingegnerizzati Documenti ben ingegnerizzati Definizione delle dipendenze funzionali: fondamentali per modellare i dati in modo elegante, riutilizzabile e con una semantica precisa e non ambigua. Definizione delle dipendenze funzionali: fondamentali per modellare i dati in modo elegante, riutilizzabile e con una semantica precisa e non ambigua. Normalizzazione: applicata ai contenitori logici che danno profondità e struttura al documento. Normalizzazione: applicata ai contenitori logici che danno profondità e struttura al documento. Esempio: TeiLight, elemento div Esempio: TeiLight, elemento div ((argument|byline|dateline|docAuthor|docDate|epigraph|head|opener| salute|signed|anchor|gap|index|interp|interpGrp|lb|milestone|pb)*,(((div |divGen),(anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)+|(((eg| bibl|biblFull|ab|l|lg|p|sp|figure|cit|q|label|list|listBibl|note|stage|table ),(anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)+,((div|divGen),( anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)*)),((byline|closer| dateline|epigraph|salute|signed|trailer),(anchor|gap|index|interp| interpGrp|lb|milestone|pb)*)*) ((argument|byline|dateline|docAuthor|docDate|epigraph|head|opener| salute|signed|anchor|gap|index|interp|interpGrp|lb|milestone|pb)*,(((div |divGen),(anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)+|(((eg| bibl|biblFull|ab|l|lg|p|sp|figure|cit|q|label|list|listBibl|note|stage|table ),(anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)+,((div|divGen),( anchor|gap|index|interp|interpGrp|lb|milestone|pb)*)*)),((byline|closer| dateline|epigraph|salute|signed|trailer),(anchor|gap|index|interp| interpGrp|lb|milestone|pb)*)*)

La soluzione Adozione di Pattern Adozione di Pattern Espressione di strutture utili e potenzialmente ricche di significati. Espressione di strutture utili e potenzialmente ricche di significati. Adozione di wrapper. Adozione di wrapper. Semplificazione della sintassi: DTD-- Semplificazione della sintassi: DTD-- Rendere leciti (esprimibili) solo i Pattern. Rendere leciti (esprimibili) solo i Pattern. Conversione di strutture DTD in DTD--. Conversione di strutture DTD in DTD--.

Pattern di design (1/2) Marker BR: Marker BR:<BR/> Record Persona: Record Persona:<Persona> Daniele Daniele Gubellini Gubellini C. Italia 19 C. Italia 19 S.G.Persiceto S.G.Persiceto Blocco Testo: Blocco Testo:<Testo> Questo è un testo con elementi tipografici come grassetto e italico oppure grassetto e italico Questo è un testo con elementi tipografici come grassetto e italico oppure grassetto e italico </Testo> Atomo Giorno: 23 Tabella Persone: Daniele Gubellini C. Italia 19 S.G.Persiceto Mara Serra C. Italia 19 S.G.Persiceto

Pattern di design (2/2) Contesto Additivo Contratto: Contesto Additivo Contratto:<Contratto> Daniele Gubellini Daniele Gubellini......</Contratto> Firma può apparire ovunque allinterno di Contratto. Firma può apparire ovunque allinterno di Contratto. È possibile limitare ad uno loccorrenza dellelemento Firma. È possibile limitare ad uno loccorrenza dellelemento Firma. Contesto Sottrattivo Nota: Questo è un paragrafo con note. Una nota contiene paragrafi Una nota può contenere altre note Proibisco la presenza di Note allinterno di Note.

I wrapper (Studente,(Cellulare|Telefono)*) e (Prof,(Cellulare|Telefono)*) (Studente,(Cellulare|Telefono)*) e (Prof,(Cellulare|Telefono)*) Strutture logicamente indissolubili: Strutture logicamente indissolubili: (Studente,recapitiTelefonici) e (Prof,recapitiTelefonici) dove recapitiTelefonici=(Cellulare|Telefono)* Strutture logicamente separate: Strutture logicamente separate: (Studente,recapitiTelefoniciStudente) e (Prof,recapitiTelefoniciProf) dove recapitiTelefoniciStudente=recapitiTelefoniciProf=(Cellulare|Telefono)* Possibile aggiungere a recapitiTelefoniciProf un TelefonoUfficio. Possibile aggiungere a recapitiTelefoniciProf un TelefonoUfficio. (Domanda,Risposta)* (Domanda,Risposta)* Rafforzare il legame semantico tra Domanda e Risposta: Rafforzare il legame semantico tra Domanda e Risposta: (FAQ*) dove FAQ=(Domanda,Risposta). (Titolo,Capitolo*) (Titolo,Capitolo*) Titolo è riferito alla lista dei capitoli: Titolo è riferito alla lista dei capitoli: (Titolo,Capitoli) dove Capitoli=(Capitolo*).

Il metalinguaggio DTD-- Espressione di tutte e sole le strutture dei Pattern. Espressione di tutte e sole le strutture dei Pattern. Sintassi Sintassi Minimalità sintattica: SCHEMA = ISTANZA. Minimalità sintattica: SCHEMA = ISTANZA. Lopzionalità del DTD è meno problematica. Lopzionalità del DTD è meno problematica. Lo schema diventa più espressivo grazie allastrazione dei Pattern. Lo schema diventa più espressivo grazie allastrazione dei Pattern. Sintassi instance based:scrivere uno schema diventa semplice come scrivere unistanza. Sintassi instance based:scrivere uno schema diventa semplice come scrivere unistanza. Literate programming. Literate programming.

DTD--: sintassi dei Pattern Marker, Atomo, Record. Marker, Atomo, Record. Tabella Persone: Tabella Persone:<Persone> Nome Nome Cognome Cognome Via e n.civico Via e n.civico Comune Comune </Persone> Contesto Additivo Contratto: Contesto Additivo Contratto:.... Daniele Gubellini Daniele Gubellini....</Contratto> Blocco Testo: Questo è un testo con elementi tipografici come bold e ita. Può contenere anche linee. Contesto Sottrattivo Nota: Questo testo contiene paragrafi e note <Nota dtd:type=T dtd:exclude=Nota />

Tool di conversione Da DTD a DTD-- Da DTD a DTD-- Vengono semplificati e convertiti i DTD in sintassi DTD--. Vengono semplificati e convertiti i DTD in sintassi DTD--. Test di affinità con il nuovo modello di design. Test di affinità con il nuovo modello di design. Spunto critico per una rimodellazione dello schema. Spunto critico per una rimodellazione dello schema. Da istanze/schemi a DTD-- Da istanze/schemi a DTD-- Unificazione di istanze e schemi DTD-- in un unico schema. Unificazione di istanze e schemi DTD-- in un unico schema. Schemi (A|B). Schemi (A|B). Da DTD-- a SchemaPath Da DTD-- a SchemaPath Tappa intermedia del processo di validazione. Tappa intermedia del processo di validazione.

Conclusioni Design basato su Pattern Design basato su Pattern Abbassa lincertezza sintattica, permette visualizzazioni astratte, forza un design semplice e chiaro, migliora il rapporto tra contenuto e struttura. Abbassa lincertezza sintattica, permette visualizzazioni astratte, forza un design semplice e chiaro, migliora il rapporto tra contenuto e struttura. Favorisce il processo di normalizzazione. Favorisce il processo di normalizzazione. Autoreferenzialità: la minimalità sintattica risolve in parte il problema dellopzionalità del DTD. Autoreferenzialità: la minimalità sintattica risolve in parte il problema dellopzionalità del DTD. Semplifica eventuali processi di conversione. Semplifica eventuali processi di conversione. Sviluppi futuri: nuovi pattern? Sviluppi futuri: nuovi pattern? DTD-- DTD-- Linguaggio di schema semplice, basato su XML, di facile apprendimento. Linguaggio di schema semplice, basato su XML, di facile apprendimento. Sviluppi futuri: co-constraints, tipi di dato per Atomo ecc. Sviluppi futuri: co-constraints, tipi di dato per Atomo ecc.