La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it



Documenti analoghi
extensible Markup Language

Linguaggi per il web oltre HTML: XML

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

APPENDICE C extensible Markup Language

XML: extensible Markup Language

Document Type Definition (DTD)

Modellazione e Gestione di Informazioni non Strutturate

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS

Laboratorio di Basi di Dati e Multimedia

XML: La nascita del linguaggio

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML

LISTA TITOLI ACCESSI

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML

Il linguaggio XML. Capitolo Introduzione al linguaggio XML

XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio"

ma l XML va ben al di là dell HTML: serve per descrivere

Prefazione. Piersalvo Ortu 1

2 Reti di Calcolatori XML

Organizzazione degli archivi

Tecnologie Web T Introduzione a XML

RIEPILOGHI ACCESSI. Allegato B. Formato ASCII a campi fissi

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

XML e Basi di Dati Corso di Basi di Dati 1. XML e basi di dati. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1

Nota illustrativa. Si riportano di seguito:

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Università Politecnica delle Marche. Progetto Didattico

Tecniche Multimediali

Semantic Web. Semantic Web. Il Semantic Web: una semplice estensione. Il Web oggi. Il Semantic Web. Semantic Web

SPECIFICHE TECNICHE DEL FILE SEGNATURA.XML PER LA RICHIESTA DI PROTOCOLLAZIONE DELLA DOCUMENTAZIONE INVIATA NELL AMBITO DELLA VOLUNTARY DISCLOSURE

Introduzione a XML. Language

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Specifiche DTD Upload

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

database: modello entityrelationship

Esercizi di JavaScript

Gestione Richieste Patenti Web

XSL: extensible Stylesheet Language

Progettazione di Basi di Dati

Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici. Roma, Messaggio n. 5880

Manuale di realizzazione dei modelli di documento

Linguaggi per la descrizione dei documenti

Inquadramento XML. Il problema dell Information- Integration. Esempio

Simple & Efficient.

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

ALLEGATO AL MANUALE DI CONSERVAZIONE Affidatario Regione Friuli Venezia Giulia ATTRIBUTI COMUNI A TUTTE LE CLASSI DOCUMENTALI

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Linguaggi per il Web: XML

a cura di Maria Finazzi

TRASMISSIONI TELEMATICHE DICHIARAZIONI ISEEU

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Gestione del workflow

Informatica A per Ingegneria Gestionale ( ) Il linguaggio HTML. Elisa Quintarelli-Laura Mandelli. HyperText Markup Language

COMUNE DI SAGRADO. ALLEGATO AL MANUALE DI CONSERVAZIONE Affidatario Regione Friuli Venezia Giulia ATTRIBUTI COMUNI A TUTTE LE CLASSI DOCUMENTALI

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE

XML. XML è contemporaneamente: XML non è:

Informatica (Basi di Dati)

Laboratorio Matematico Informatico 2

Sgravi Contrattazione di Secondo Livello: dettaglio dei Controlli, dei Formati e dei messaggi di errore.

Linguaggi ed Applicazioni mul1mediali

Linguaggi ed Applicazioni mul1mediali

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Sommario. Settimana - Gli elementi fondamentali Introduzione...xv. Giorno 1 - I linguaggi di markup...3

INPS. Area CRM & Contact Center. Sgravi Contrattazione di II livello 2012

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Esercitazione di Basi di Dati

XML e standard connessi. XML, XML-Names, XSL, XPointer, XLink

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Le Macchine di Turing

Access. P a r t e p r i m a

Capitolo 4 Pianificazione e Sviluppo di Web Part

Disposizione tecnica di funzionamento n. 07/04 PAB. Presentazione delle proposte di scambio

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Terminologia. Laboratorio di sistemi interattivi. XML: descrivere caratteristiche arbitrarie di un documento. Lezione 11: Introduzione a XML

Corso di Informatica (Basi di Dati)

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Introduzione alla codifica XML per i testi umanistici

Content Management System Manuale per le aziende consorziate

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

GUIDA DI IMPLEMENTAZIONE TRANSAZIONE "AVVISO RICEVIMENTO"

Corso di Amministrazione di Reti A.A. 2002/2003

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

I linguaggi di marcatura e XML per la codifica dei dati d archivio

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

EXPLOit Content Management Data Base per documenti SGML/XML

Breve Introduzione a XML

HTML 6. I frame. Sintassi di base. I frame e DOCTYPE FRAME. ...head... <FRAMESET lista_attributi> <FRAME SRC= URL lista_attributi>

Protezione delle registrazioni di tracciamento da modifiche non autorizzate A R.1.6 [TU /52/1/b]

Transcript:

La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1

Modello di struttura I tag annidati danno origine ad una struttura gerarchica, ad albero Ciascun elemento e ciascuna porzione di testo sono rappresentati da un nodo Ciascun nodo, se corrisponde ad un elemento non vuoto, ha dei nodi figli L. Farinetti - Politecnico di Torino 2

Esempi di struttura ad albero L. Farinetti - Politecnico di Torino 3

Document Object Model La struttura ad albero può essere rappresentate mediante un modello ad oggetti (DOM) La comprensione del DOM sarà essenziale per Trasformazioni XSL Fogli di stile CSS Scripting Javascript L. Farinetti - Politecnico di Torino 4

Definizione della struttura Regole di definizione dei tag Ordine dei tag all'interno del documento XML Regole per il contenuto dei tag Documento XML valido oltre che documento XML ben formato In pratica è la grammatica di un linguaggio basato su XML L. Farinetti - Politecnico di Torino 5

Linguaggi per esprimere la struttura DTD: Document Type Definition eredità di SGML: sintassi non XML non è in grado di esprimere tutti i vincoli molto diffuso XML Schema specifica più recente sintassi XML maggiore ricchezza ed espressività es: supportano diversi tipi di dato: stringhe, numeri reali, interi, decimali, boolean, data e ora, URI,... L. Farinetti - Politecnico di Torino 6

Modalità di specifica del DTD DTD esterno <?xml version="1.0"?> <!DOCTYPE greeting SYSTEM "hello.dtd"> <greeting>hello, world!</greeting> DTD interno <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]> <greeting>hello, world!</greeting> L. Farinetti - Politecnico di Torino 7

Esempio di DTD (esterno) <?xml version= 1.0?> <!ELEMENT biblioteca (libro+)> <!ELEMENT libro (titolo, autore+, data, ISBN, editore)> <!ELEMENT titolo (#PCDATA)> <!ELEMENT autore (#PCDATA)> <!ELEMENT data (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT editore (#PCDATA)> biblioteca libro libro libro titolo autore data ISBN editore L. Farinetti - Politecnico di Torino 8

Esempio di DTD (interno) <!DOCTYPE biblioteca [ <!ELEMENT biblioteca (libro+)> <!ELEMENT libro (titolo, autore+, data, ISBN, editore)> <!ELEMENT titolo (#PCDATA)> <!ELEMENT autore (#PCDATA)> <!ELEMENT data (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT editore (#PCDATA)> ]> biblioteca libro libro libro titolo autore data ISBN editore L. Farinetti - Politecnico di Torino 9

Sintassi dei DTD Un DTD è una grammatica che definisce quali elementi (tag), attributi ed entità sono validi in un documento XML Le specifiche XML usano la notazione EBNF (Extended Backus-Naur Form) per definire i costrutti XML validi Regola di produzione EBNF persona ::= (nome e-mail*) Dichiarazione di un elemento in un DTD <!ELEMENT persona (nome, e-mail*)> L. Farinetti - Politecnico di Torino 10

Dichiarazione di un elemento non vuoto <!ELEMENT agenda (contatto*)> <!ELEMENT contatto (nome, indirizzo+, telefono*, email, foto?)> <!ELEMENT nome (#PCDATA)>...... <nome>giuliana</nome>... L. Farinetti - Politecnico di Torino 11

Elementi e regole Definizione A? A è opzionale Significato A+ Una o più occorrenze di A A* Zero o più occorrenze di A A B A,B A oppure B ma non entrambi A seguito da B, in questo ordine (A,B)+ Una o più occorrenze di (A seguito da B) #PCDATA Stringa di dati L. Farinetti - Politecnico di Torino 12

Dichiarazione di un elemento vuoto <!ELEMENT foto empty>... <foto />... L. Farinetti - Politecnico di Torino 13

Dichiarazione degli attributi <!ATTLIST foto src CDATA #REQUIRED desc CDATA #IMPLIED> <!ATTLIST telefono tipo (casa ufficio mobile) "casa">... <foto src="io.jpg"/> <telefono tipo="mobile">0348.1234567 </telefono> L. Farinetti - Politecnico di Torino 14

Tipi di attributo CDATA Attributo Stringa Significato ID IDREF IDREFS ENTITY ENTITIES MMTOKEN MMTOKENS Enumerazione Nome unico all interno del documento: identifica univocamente l elemento Riferimento ad un elemento che ha un attributo di tipo ID con valore IDREF Lista di IDREF separati da uno spazio bianco Nome di un entità dichiarata nel documento Lista di ENTITY separate da uno spazio bianco Stringa di una sola parola Lista di MMTOKEN separati da uno spazio bianco Lista di nomi che rappresentano i valori che l attributo può assumere, separati da virgole e fra parentesi tonde L. Farinetti - Politecnico di Torino 15

Valori degli attributi Valore #REQUIRED #IMPLIED "valore" #FIXED "valore" Significato Deve sempre essere specificato un valore per l attributo Non è obbligatorio specificare un valore per l attributo, e non viene assegnato un valore di default Non è obbligatorio specificare un valore per l attributo,ma se non lo si specifica viene assegnato un valore di default Non è obbligatorio specificare un valore per l attributo,ma se lo si specifica può solo essere quello prefissato L. Farinetti - Politecnico di Torino 16

Dichiarazione delle entità <!ENTITY xml "extensible Markup Language"> <!ENTITY cap1 SYSTEM "/book/capitolo1.xml"> Sostituisce la stringa associata Inserisce il contenuto del file specificato...... &xml;...... &cap1;... L. Farinetti - Politecnico di Torino 17

Esempio <!-- Dichiarazione della struttura --> <!ELEMENT agenda (contatto*) <!ELEMENT contatto (nome, indirizzo+, telefono*, e-mail*, foto?)> <!ELEMENT nome (#PCDATA)> <!ELEMENT indirizzo (via, numero, citta, cap, provincia?) <!ELEMENT via (#PCDATA)> <!ELEMENT numero (#PCDATA)> <!ELEMENT citta (#PCDATA)> <!ELEMENT cap (#PCDATA)> <!ELEMENT provincia (#PCDATA)> L. Farinetti - Politecnico di Torino 18

Esempio <!ELEMENT telefono (#PCDATA)> <!ATTLIST telefono tipo (casa ufficio mobile) "casa"> <!ELEMENT e-mail (#PCDATA)> <!ELEMENT foto empty> <!ATTLIST foto src CDATA #REQUIRED desc CDATA #IMPLIED> <!Dichiarazione di entità --> <!ENTITY TO "10100"> <!ENTITY BO "40100"> L. Farinetti - Politecnico di Torino 19

Esempio <!-- Intestazione --> <?XML version="1.0" encoding="utf-8"?> <!-- DTD --> <!DOCTYPE agenda SYSTEM "agenda.dtd"> <!-- Dati --> <agenda> <contatto> <nome>andrea Bianchi</nome> <indirizzo> <via>via Rossi</via> <numero>10</numero> L. Farinetti - Politecnico di Torino 20

Esempio <citta>torino</citta> <cap>&to;</cap> </indirizzo> <telefono>011-1234567</telefono> <telefono tipo="ufficio">011-222555</telefono> <e-mail>andrea.bianchi@mio.org</e-mail> <foto src="andrea.gif" desc="la mia fotografia migliore" /> </contatto> </agenda> L. Farinetti - Politecnico di Torino 21

Documenti validi e ben-formati Documento XML ben formato ( well-formed ) Rispetta le regole di scrittura del markup, e di annidamento dei tag Non richiede alcun DTD Documento XML valido L'ordine dei tag, il relativo annidamento, e la tipologia del testo contenuto negli ELEMENT e negli ATTRIBUTE rispettano quanto specificato nel DTD L. Farinetti - Politecnico di Torino 22

Esempi di DTD DTD specificato internamente es. lettera.xml DTD specificato esternamente es. SMIL <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0" "http://www.w3.org/2001/smil20/smil20.dtd"> <smil xlmns= "http://www.w3.org/2001/smil20/language"> <head>... </head> <body>... </body> </smil> L. Farinetti - Politecnico di Torino 23

Esercizio Analizzare Invoice.xml ed Invoice.dtd nel progetto XMLExamples Determinare se il file XML è valido e ben formato Aggiungere almeno un elemento, mantenendo il file valido e ben formato Aggiungere almeno un elemento, rendendo il file non valido (ma ben formato) Ripetere, cancellando un elemento Ripetere, aggiungendo o cancellando un attributo L. Farinetti - Politecnico di Torino 24

Esercizio Due aziende si voglio scambiare informazioni relative ai prodotti contenuti in magazzino Si definisca un DTD atto a rappresentare il contenuto del magazzino Si costruisca un esempio di file XML valido e ben formato L. Farinetti - Politecnico di Torino 25