Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
DTD Document Type Definition per XML
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Corso di Informatica Applicata alla Musica
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
Sintassi Commenti Istruzioni /*.. Commenti */
Query OQL e XQUERY a confronto
Re-engineering del wrapper XML Schema per il sistema MOMIS
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
4 – Progettazione – Introduzione e Modello E-R
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Laboratorio di Applicazioni Informatiche II mod. A
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
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 Informatica (Basi di Dati)
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
Namespace Spazio dei nomi Ing. Luca Sabatucci. Scopo I Namespace servono a: I Namespace servono a: distinguere tra elementi e attributi con lo stesso.
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.
Linguaggi di codifica.
1 Documenti XML validi La Document Type Definition Dichiarazione di elementi.
DTD Schema W3C. Dichiarazione di elementi Dichiarazioni globali Dichiarazioni globali Dichiarazioni locali (figli di altri elementi)
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.
Rappresentazione di Informazione Musicale Simbolica mediante Linguaggi Markup Maurizio Longari LIM-DSI Università degli Studi di Milano via Comelico, 39.
CORSO AVANZATO INFORMATICA
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Progettare un database
Sintassi base e struttura di un programma
Esempi di XML Fabio Vitali.
Creare pagine web Xhtlm. Struttura di una pagina.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
Tecnologie di InternetFondamenti di Linguaggi di Markup Dott. Nicola Dragoni Introduzione a e ai (Fondamenti di Markup Languages)
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
Rappresentazione delle durate Lezione 7 Programmazione per la Musica | Prof. Luca A. Ludovico.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
Lezione 3 Struttura lessicale del linguaggio
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Introduzione alle Griglie computazionali - aa Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli.
PROGETTO… Internet Providers, registrazione del dominio Costruire una home page … e renderla visibile sul Web.
WWW XML Schema Fabio Vitali. WWW Fabio Vitali2 Sommario Oggi esaminiamo in breve XML Schema u Perché non bastano i DTD u Tipi ed elementi u Definizione.
Capitolo 3 … XML: eXtensible Markup Language  Introduzione  Logical Structures  Document Type Definition  Namespace  XML - Schema …
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.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
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:
Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML.
Documenti XML ben formati Entità– Sezioni condizionali.
WWW Introduzione ad XML Da slide di Fabio Vitali.
Transcript della presentazione:

Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)

Un documento XML Data on the Web:... Morgan Kaufmann Serge Abiteboul Foundation of Databases Addison Wesley Serge Abiteboul Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Tipi di Documento Idea base: associare un tipo al documento XML Un documento XML contiene informazione codificata secondo le regole sintattiche dellXML. –Vedi presentazione 7.1 Un tipo di documento rappresenta una classe di documenti con una struttura ed una semantica simile Esempi: articoli di giornale, ricette di cucina, note, partiture, … Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Document Type Definition (DTD) Il/la Document Type Definition (definizione del tipo di documento) fornisce un significato standard per descrivere dichiarativamente la struttura di un tipo di documento. Lo scopo è definire le componenti ammesse nella costruzione di un documento XML. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Cosa fa un DTD Definisce: –gli elementi leciti all'interno del documento. Non si possono usare altri elementi se non quelli definiti; –la struttura di ogni elemento, ossia cosa può contenere ciascun elemento, l'ordine, la quantità di elementi che possono comparire e se sono opzionali o obbligatori; –una serie di attributi per ogni elemento e che valori possono o devono assumere questi attributi. Fornisce infine alcuni meccanismi per semplificare la gestione del documento, come la possibilità di dichiarare entity e la possibilità di importare parti di altri DTD. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

DTD Un DTD è logicamente composto da due parti: 1. Element Type Definition 2. Attribute List Declaration Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Element Type Definition (1/2) La Element Type Definition specifica: –Struttura del documento –Contenuti consentiti (content model) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Element Type Definition (2/2) Ciascun elemento deve essere dichiarato in un DTD con definizioni di tipo di elemento. Tali definizioni hanno la forma Esempio (guardare solo la sintassi) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Modello di contenuto Allinterno del modello di contenuto vengono elencati gli eventuali sottoelementi. –La virgola, implica una sequenza di sotto-elementi –Il pipe | implica una scelta tra sotto-elementi Cardinalità dei sotto-elementi (da specificare subito dopo il loro nome): –Non specificata 1 e 1 solo –? 0 o 1 –* da 0 a molti –+ da 1 a molti Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esempi di definizione di elementi Sintassi DTD: Elemento vuoto (empty content) In ogni file XML aderente a un DTD siffatto, troveremo: oppure Sintassi DTD: Elemento con testo semplice (simple content) In ogni file XML aderente a un DTD siffatto, troveremo: Il mio titolo Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esempi di definizione di elementi Sintassi DTD: Elementi con sottoelementi (element content) In un file XML aderente a un DTD così fatto, potremo trovare: … oppure … Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esempi di definizione di elementi Sintassi DTD: <!ELEMENT libro (titolo, autore*, anno_pubblicazione?)> Elementi con sottoelementi (element content) In un file XML aderente a un DTD così fatto, potremo trovare: Titolo del libro Primo autore Secondo autore Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esempi di definizione di elementi Sintassi DTD: Elemento con contenuto misto (mixed content) In un file XML aderente a un DTD così fatto, potremo trovare: Oggi appuntamento con Luca alle Il 15/10/2010 appuntamento con il Dott. Antonio Rossi Cosa sarebbe successo omettendo nella sintassi del DTD lasterisco? Cosa sarebbe successo scegliendo una virgola al posto del pipe? Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Attribute-List Declaration E la lista (opzionale) degli (eventuali) attributi permessi o richiesti per ogni elemento. Ogni attributo è specificato da: nome, tipo, e altre informazioni. Le dichiarazioni degli attributi hanno la forma: Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 <!ATTLIST nome_elemento nome_attributo1 (tipo) valori_predefiniti … nome_attributoN (tipo) valori_predefiniti>

Tipi di attributo Si hanno tre gruppi di tipi di attributo: –string types ossia stringhe di tipo CDATA; –enumerated types per i quali viene indicata una serie di valori validi fra cui scegliere; –tokenized types indicati da token dichiarati quali ID, IDREF e IDREFS. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 <!ATTLIST nome_elemento nome_attributo1 (tipo) valori_predefiniti … nome_attributoN (tipo) valori_predefiniti>

Esempi con tipi tokenized Attributi di tipo ID: quando si vuole che il valore dellattributo sia univoco nel documento XML. Ad esempio: – … –Attributi di tipo IDREF: quando si vuole far riferimento a valori di attributi ID specificati nel documento XML. Ad esempio: – … ove matricola fa riferimento a un valore immesso nella scheda anagrafica Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Valori predefiniti per gli attributi #REQUIRED Specifica che l'attributo è obbligatorio. #IMPLIED L'attributo è facoltativo. #FIXED Fornisce una dichiarazione di costante per il valore di un attributo. Se il valore nel documento è diverso da quello dichiarato nel DTD, il documento non è valido. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 <!ATTLIST nome_elemento nome_attributo1 (tipo) valori_predefiniti … nome_attributoN (tipo) valori_predefiniti>

Esempi Sia dato ad esempio: (definizione di elemento) <!ATTLIST Indirizzo nome_via CDATA #REQUIRED n_civico CDATA #IMPLIED> Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Scheda di una raccolta di libri Data on the Web:... Morgan Kaufmann Serge Abiteboul Foundation of Databases Addison Wesley Serge Abiteboul... Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

DTD di una raccolta di libri <!DOCTYPE Books[ <!ATTLIST articleLink xmlns:xlink CDATA #FIXED xlink:type CDATA #FIXED simple xlink:href CDATA #REQUIRED> ]> Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esercizio: dal DTD a un documento XML <!ATTLIST articolo titolo CDATA #REQUIRED> <!ATTLIST paragrafo titolo CDATA #IMPLIED tipo (abstract|bibliografia|note) #IMPLIED > <!ATTLIST immagine file CDATA #REQUIRED> Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Una possibile soluzione Questo è il paragrafo 1. Questo è il paragrafo e questo è altro testo. ABC-123_XYZ Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Esercizio: dal documento XML al DTD J.K. Rowlings Harry Potter e la pietra filosofale Salani J.R. Tolkien Il signore degli Anelli Bompiani 24 … Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Una possibile soluzione <!ATTLIST libri aggiornamento CDATA #IMPLIED> <!ATTLIST libreria nome CDATA #REQUIRED indirizzo CDATA #IMPLIED> <!ATTLIST libro codice ID #REQUIRED> <!ATTLIST editore anno CDATA #IMPLIED> <!ATTLIST prezzo valuta CDATA #REQUIRED> Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 In blu le scelte sulla cardinalità forzate dal testo. Le altre scelte risultano logiche ma non sono necessarie per la validità dellXML contro questo DTD

Esercizio Si crei un documento XML ben formato contenente le informazioni su un rivenditore di auto usate. Il rivenditore dispone di più autovetture. Le auto devono essere raggruppate per casa automobilistica tramite unopportuna marcatura. Ogni auto, infine, è caratterizzata da una targa, un colore, un anno di immatricolazione e un chilometraggio attuale (esprimibile in km o in miglia). Il documento XML deve contenere almeno un attributo e almeno un elemento vuoto. Si dia esempio di tale documento ipotizzando un totale di 3 auto, di cui due della stessa casa automobilistica. Si scriva un DTD che generalizza il documento così creato. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1

Soluzione: un documento XML Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 AB123CV DB478CH AC111JK

Soluzione: un possibile DTD Informatica Generale (Prof. Luca A. Ludovico) Presentazione 8.1 <!ATTLIST casa nome CDATA #REQUIRED> <!ATTLIST colore tonalità CDATA #REQUIRED> <!ATTLIST chilometraggio unita_misura (km|miglia) #REQUIRED>