DTD Document Type Definition per XML

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.
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
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.
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)

Analizzatori Sintattici con Cup Giuseppe Morelli.
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
DTD & XML Schema Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Algoritmi e Programmazione
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.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Lezione 4 XML.
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Tecnologia dei Servizi Grid e cloud computing - Lezione 004a 0 Lezione 4a - 22 ottobre 2009 Il materiale didattico usato in questo corso è stato mutuato.
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Lezione 8 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Elaborazione di Franco Grivet Chin
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
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:
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
1 XPath. 2 What is XPath? XPath is a syntax for defining parts of an XML document XPath uses paths to define XML elements XPath defines a library of standard.
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.
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)
Documentazione automatica su un linguaggio schema di Alessandro Modica Relatore: Fabio Vitali.
Namespaces 1. Utilizzati per contenere tipi (classi, strutture, interfacce … ) ed altri namespaces La Class Library è organizzata gerarchicamente mediante.
Sintassi base e struttura di un programma
Esempi di XML Fabio Vitali.
Creare pagine web Xhtlm. Struttura di una pagina.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
XPATH.
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.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
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.
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 …
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
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.
I tag di intestazione. I tag di intestazione sono: e.
16 Maggio - Lezione 9POLETTINI NICOLA1 Programma delle lezioni LABORATORIO B  Lezione 1: 14 marzomartedi  Lezione 2: 21 marzomartedi  Lezione.
Document Type Definition
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
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:

DTD Document Type Definition per XML

Cosa è una DTD Una DTD è un documento Una DTD serve a definire i blocchi legali di un documento XML Definisce la struttura di un documento XML Un documento XML è well-formed se è conforme alla sintassi XML Un documento XML è valido se è anche conforme ad una DTD.

Perché usare una DTD Ogni documento XML può portare con sé, o riferirsi a, una descrizione del proprio formato corretto. Gruppi di persone possono accordarsi su un formato comune per lo scambio di dati Una applicazione può verificare automaticamente la validità dei dati scambiati sulla base della DTD.

Usare una DTD Una DTD può essere dichiarata in linea: Esempio: <!DOCTYPE root-element [element-declarations]> Esempio: <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>MyLove</to> <from>Gege</from> <heading>Reminder</heading> <body> Non ti scordar di me</body> </note>

Usare una DTD Può essere definita mediante un riferimento esterno: <!DOCTYPE root-element SYSTEM "filename"> Esempio: File XML: <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>MyLove</to> <from>Gege</from> <heading>Reminder</heading> <body> Non ti scordar di me </body> </note> DTD file: <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

I blocchi di una DTD Elements  body, messaggio – I blocchi che costituiscono un documento XML Tags  <element_name> </element_name> - Annotano (mark up) gli elementi Attributes  <element_name id=“1”> - Forniscono valori per gli elementi, qualificandoli Entities  < (<), > (>) , " (“) – definiscono testo comunemente usato PCDATA  Parsed Character Data – testo che verrà analizzato da un parser CDATA  Character Data – testo che non verrà analizzato da un parser

La dichiarazione di un elemento XML in una DTD <!ELEMENT element-name category> oppure <!ELEMENT element-name (element-content)> Esempi: <!ELEMENT br EMPTY>  <br /> <!ELEMENT element-name (#PCDATA)>  <!ELEMENT from (#PCDATA)> <!ELEMENT element-name ANY>  <!ELEMENT note ANY> <!ELEMENT element-name (child-element-name)> oppure <!ELEMENT element-name (child-element-name,child-element-name,.....)> <!ELEMENT note (to,from,heading,body)>

<. ELEMENT note (to,from,heading,body)> < <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> Quando i figli vengono dichiarati in sequenza separata da virgole devono apparire nel medesimo ordine. I figli devono pure essere dichiarati e possono avere altri figli

Cardinalità degli elementi <!ELEMENT element-name (child-name)>  Cardinalità 1 <!ELEMENT element-name (child-name+)>  Cardinalità almeno 1 <!ELEMENT element-name (child-name*)>  Cardinalità 0 o più <!ELEMENT element-name (child-name?)>  Cardinalità 0 o 1 Dichiarazioni e/o  <!ELEMENT note (to,from,header,(message|body))> <!ELEMENT note (#PCDATA|to|from|header|message)*>

Attributi <!ATTLIST element-name attribute-name attribute-type default-value> Esempio DTD: <!ATTLIST payment type CDATA "check"> Esempio XML: <payment type="check" />

Attributi attribute-type CDATA character data (en1|en2|..) lista enumerata ID id univoco IDREF id di un altro elemento IDREFS Lista di altri id NMTOKEN nome XML valido NMTOKENS Lista di nomi XML validi ENTITY Entità ENTITIES Lista di entità NOTATION Nome di una notation xml: Valore XML predefinito

Value default value #REQUIRED il valore deve essere presente #IMPLIED il valore non deve essere presente #FIXED value valore costante Default: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">  <square width="100" /> Implied: <!ATTLIST contact fax CDATA #IMPLIED>  <contact fax="555-667788" /> Required: <!ATTLIST person number CDATA #REQUIRED>  <person number="5677" /> Fixed: <!ATTLIST sender company CDATA #FIXED "Microsoft">  <sender company="Microsoft" />

Entità Oltre a quelle standard possono essere definite in una DTD, sia internamente che come riferimento esterno Interno:<!ENTITY entity-name "entity-value"> <!ENTITY writer "Donald Duck."> <author>&writer;</author> Esterno: <!ENTITY entity-name SYSTEM "URI/URL"> <!ENTITY writer SYSTEM "http://www-ictserv.poliba.it/entita/entita.xml">

<h:html xmlns:ama="http://www.amazon.it/books” xmlns:h="http://www.w3.org/HTML/1998/html4"> <h:head><h:title>Book Review</h:title></h:head> <h:body> <ama:bookreview style=“rilegato” h:style=“{font-size=18;}”> <ama:title>3 Uomini in barca</ama:title> <h:table> <h:tr><h:td>Author</h:td> <h:td>Price</h:td> <h:td>Pages</h:td> <h:td>Date</h:td> </h:tr> <h:tr> <h:td><ama:author>Jerome K. Jerome</ama:author></h:td> <h:td><ama:price>25.000</ama:price></h:td> <h:td><ama:pages>352</ama:pages></h:td> <h:td><ama:publisher>Mondadori</ama:publisher></h:td> </h:tr> </h:table> </ama:bookreview> </h:body> </h:html>

I namespace sono stati introdotti dopo i DTD, e quindi esprimere namespace nei DTD non è facile. L'unico modo è di esprimere come nomi validi i nomi qualificati, bloccando il prefisso. <!DOCTYPE a:item [ <!ELEMENT a:item (a:title, a:publisher)> <!ATTLIST a:item xmlns:a CDATA #FIXED "http://www.betterbooks.org"> <!ELEMENT a:title (#PCDATA) > <!ELEMENT a:publisher (#PCDATA) > ]> <a:item xmlns:a="http://www.betterbooks.org"> <a:title>The Importance of Namespaces</a:title> <a:publisher>BestPublishersInTheWorld</a:publisher> </a:item> Da notare che la dichiarazione di namespace va sia nel DTD (viene considerata un attributo), sia nel documento (come dichiarazione vera e propria)