Introduzione al DTD Mario Arrigoni Neri.

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

DTD Document Type Definition per XML
Sistemi Operativi - Vi 1 Il sistema operativo LINUX Leditor vi Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Introduzione ad XML Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)
HTML LE PAGINE WEB COME SI SA, INTERNET E UN SISTEMA MONDIALE DI RETI DI COMPUTER CHE PERMETTE DI UTILIZZARE UN SISTEMA DI CONNESSIONE TRA COMPUTER.
Analizzatori Lessicali con JLex
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
DTD & XML Schema Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
DTD e XML Schema UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.
Query OQL e XQUERY a confronto
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Programmazione Procedurale in Linguaggio C++
Laboratorio di Applicazioni Informatiche II mod. A
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)
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.
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Introduzione e nozioni fondamentali di sintassi
Unità Didattica 2 I Linguaggi di Programmazione
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... XML Elaborazione di Franco Grivet Chin.
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 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)
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.
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
HTML per iniziare Gianpaolo Cecere. 29 aprile Sintassi HTML I tag HTML sono direttive per i browser I tag sono contenitori per porzioni di documento.
Esempi di XML Fabio Vitali.
Creare pagine web Xhtlm. Struttura di una pagina.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Writer: Stili Modelli Lezione 03. Modelli di formato e modelli di documento Modelli di formato: Sono gli stili attribuiti al carattere, al paragrafo alle.
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
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.
Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1.
Introduzione a Javascript
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.
Capitolo 3 … XML: eXtensible Markup Language  Introduzione  Logical Structures  Document Type Definition  Namespace  XML - Schema …
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
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 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.
Cloud informatica V anno.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
DTD Document Type Definition per XML
Transcript della presentazione:

Introduzione al DTD Mario Arrigoni Neri

XML ben formati ed XML validi I due diversi livelli di standardizzazione generano due livelli di “correttezza”: XML ben formato: un file XML è ben formato quando obbedisce a tutte le regole di XML, ad esempio deve avere il nesting corretto dei tag, un unico elemento radice e non deve avere errori “di sintassi” XML valido: per essere valido un XML deve essere ben formato e, inoltre, deve presentare i tag corretti per la specifica applicazione, nel giusto ordine e con i giusti attributi Es: <title><book/><book> Titolo </book></title> è ben formato ma non è tipicamente valido La buona formazione può essere valutata conoscendo solo XML La validazione dipende dalla specifica applicazione e cioè dallo specifico linguaggio

DTD DTD (Document Type Definition) fa parte dello standard XML e permette di specificare le regole di validazione del particolare linguaggio Il cuore di una applicazione XML è il parser, ovvero quel modulo che legge il documento e ne crea una rappresentazione interna adatta all’elaborazione Un parser validante, in presenza di un DTD, è in grado di verificare la validità del documento Un parser non validante, invece, anche in presenza di un DTD può solo controllare la buona forma Visto dal DTD un file XML è composto da elementi, tag, attributi, entità, PCDATA e CDATA

Il tipo del documento è uguale all’elemento radice <!DOCTYPE> Nel caso del DTD il validatore è identificato come applicazione DOCTYPE Il tag contiene il riferimento al DTD, che può essere sia esterno che interno al file XML. DTD interno (o in-line): <!DOCTYPE tipodoc [.. Codice DTD ..]> DTD esterno: il tag contiene il riferimento al file DTD <!DOCTYPE tipodoc SYSTEM “url del file”> Esempio: <?xml version=“1.0”?> <!DOCTYPE note SYSTEM “note.dtd”> <note>… </note> Il tipo del documento è uguale all’elemento radice

elementi Il DTD definisce i tipi di elementi che possono occorrere nel file xml Per ogni tipo di elemento viene indicato il tipo di contenuto, che può essere: Any content: indica che ogni contenuto è ammissibile. Es: <!ELEMENT memo ANY> Empty content: un elemento vuoto non può contenere alcun testo tra il tag di inizio e quello di chiusura e può quindi essere rappresentato da un tag vuoto. Es: <!ELEMENT br EMPTY> Simple content: è un elemento il cui contenuto è composto da testo. In questo caso #PCDATA è acronimo di “Parsed Character Data”. Es: <!ELEMENT message (#PCDATA)> Element content: è il caso tipico in cui il contenuto è composto da sottoelementi. Es: <!ELEMENT note (to, from, title, message)> Mixed content: sono elementi che contendono testo misto ad altri elementi

element content - sequenza Un elemento composto da una sequenza deve contenere una lista dei sottoelementi elencati, con un elemento per ogni tipo e nello stesso ordine I singoli sottoelementi sono divisi da virgole DTD XML valido <!ELEMENT note (to, from, title, message)> <note> <to/><from/> <title/><message/> </note>

element content - alternativa Indica che il contenuto deve essere uno tra quelli elencati I singoli sottoelementi sono divisi da barre verticali (l’or del C) DTD XML valido <!ELEMENT a (b | c | d) > <a> <b></b> </a>

element content - ripetizione E’ possibile definire in vari modi le cardinalità dei sottoelementi: Nessuna specifica: l’argomento deve comparire esattamente una volta <!ELEMENT a (b)> è permesso solo <a><b/></a> ?: opzione. Specifica che il sottoelemento è facoltativo <!ELEMENT a (b?)> sono leciti sia <a/> che <a><b/></a> +: ripetizione. Il sottoelemento deve figurare una o più volte <!ELEMENT a (b+)> <a><b/></a>, <a><b/><b/></a>, ecc... *: ripetizione. Il sottoelemento può figurare un numero qualsiasi di volte, o anche non figurare affatto <!ELEMENT a (b*)> <a/>, <a><b/></a>, <a><b/><b/></a>, ecc...

element content complessi I costrutti possono combinarsi dando origine ad espressioni regolari <!ELEMENT sezione (titolo, abstract?, para+)> ogni sezione ha un titolo, può avere un abstract opzionale, seguito da almeno un paragrafo <!ELEMENT sezione (titolo, (abstract | para)+)> Dentro all’elemento sezione ci deve essere un titolo, seguito da almeno un abstract o un para, che poi possono ripetersi in qualunque ordine e numero <!ELEMENT sezione (titolo, abstract*, para+)> Ogni elemento sezione è composto da un titolo, da una sequenza opzionale di abstract e da una sequenza si para composta da almeno un para <!ELEMENT sezione (titolo, (sottotitolo | abstract)?, para+)> Ogni sezione è data da un titolo, da uno tra sottotitolo ed abstract, che possono però anche mancarem e da una serie di para <!ELEMENT sezione (titolo, sottotitolo?, abstract?, para+> Come sopra, ma sottotitolo ed abstract possono coesistere

mixed content Contrariamente a quanto accade in SGML, in XML il contenuto di testo #PCDATA ed il contenuto di elementi possono combinarsi solo nella forma seguente: <!ELEMENT para (#PCDATA | bold | italic)*> Ogni paragrafo contiene un testo in cui si possono trovare, opzionalmente, degli elementi <bold> ed <italic> Es: <para> <bold>Questo</bold> testo contiene delle sezioni in <bold>grassetto</bold> ed in <italic>corsivo</italic>, ma potrebbe anche non averne </para>

attributi Il DTD permette anche di vincolare gli attributi dei singoli tag, cioè dei singoli elementi. In generale gli attributi vengono specificati dal costrutto ATTLIST: <!ATTLIST elemento attributo1 tipo1 modificatore1 attributo2 tipo2 modificatore2 attributo-n tipo-n modificatore-n> I tipi definiscono l’insieme o la tipologia dei valori assumibili dall’attributo I modificatori identificano le condizioni di obbligatorietà o opzionalità dell’attributo ed, eventualmente, un valore di default per lo stesso

attributi stringa <!ATTLIST messagge lang CDATA “Italiano”> In questo caso l’attributo lang è una stringa Se l’attributo è presente nel file il suo valore è quello specificato Altrimenti viene assunto il valore di default “Italiano” <note> … <message lang=“English”> Ricordati l’appuntamento </message> </note> <note> … <message> Ricordati l’appuntamento </message> </note>

Attributi per enumerazione <!ATTLIST person salutation (Mr | Mrs | Miss | Dr) “Mr”> Il titolo di ogni persona assume valori nell’insieme indicato In mancanza del parametro si assume per default “Mr” <person salutation=“Dr”> <name>Luke</name> <surname>Brown</name> </person>

Tipi di attributi predefiniti DTD definisce alcuni tipi speciali, che aiutano il progettista soprattutto per quanto riguarda le relazioni tra elementi ID: identificativo univoco all’interno del file <!ATTLIST User login ID #REQUIRED> IDREF: riferimento ad un identificativo univoco definito nel file <!ATTLIST User userClass IDREF #REQUIRED> IDREFS: come IDREF, ma può esserci una lista di riferimenti NMTOKEN o NMTOKENS: stringa (o lista di stringhe) di caratteri senza spazi o caratteri di interpunzione ENTITY o ENTITIES: il valore deve essere un’entità

modificatori Valore di default: espresso da una stringa indica il valore da assegnare all’attributo in mancanza di diverse indicazioni Valore fisso: definito da #FIXED più il valore. L’attributo assume obbligatoriamente il valore assegnato e l’autore del documento XML non può modificarlo: <!ATTLIST persona numeroGambe CDATA #FIXED “2”> Specifica di obbligatorietà: #REQUIRED. Indica che l’attributo deve essere sempre presente in ogni elemento <!ATTLIST misura val CDATA #REQUIRED> Specifica di opzionalità: #IMPLIED. Indica che l’attributo è opzionale e può non essere specificato dall’autore del documento. Se combinato con ID indica che il sistema genererà un identificativo automaticamente

entità Le entità del DTD sono frammenti ricorrenti di contenuti testuali a cui vengono associati degli identificatori che possono essere “espansi” come macro all’interno del documento prima di procedere al parsing vero e proprio La definizione avviene secondo lo schema: <!ENTITY nomeEntità valore> L’utilizzo avviene inserendo nel testo la seguenza: &nomeEntità; Esempio: <!ENTITY autore “Mario Arrigoni Neri”> <document> <title>Introduzione ad XML</title> <author>&autore;</author> </document>

entità esterne Le entità esterne vengono “recuperate” da un file esterno all’XML <!ENTITY nomeEntità SYSTEM “url del file”> Es: <!ENTITY text SYSTEM “book.txt”> E’ possibile specificare entità da non “parsare”, tipicamente come entità di dati binari <!ENTITY immagine SYSTEM “immagine.gif” NDATA gif> <book> <title>..</title> <text>&text;</text> </book>

entità predefinite Sono predefinire tutte le entità associabili ai singoli caratteri sulla base del codice (unicode) degli stessi. Ad esempio l’entità corrisponde al carattere ASCII 10. Alcuni caratteri, tra cui ‘<‘ ed ‘&’, creano problemi quando vengono mischiati al testo. Per questo sono predefinire alcune entità che possono sostituire questi caratteri: Equivalente a : <![CDATA [<]]> < “<” > “>” & “&” &apos; “ ’ ” " “ ” ”

entità parametriche Sono entità definire nel DTD ed utilizzate all’interno del DTD stesso Vengono sostituite durante la lettura del DTD Contengono frammenti ricorrenti del modello di contenuto Es: volendo definire in un unico punto il tipo di testo che contiene sezioni in grassetto: <!ENTITY % testo “#PCDATA”> <!ENTITY % testoConBold “(%testo;|bold)*”> <!ELEMENT testo %testoConBold;>