Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

ESERCITAZIONE R 12,19 marzo 2012 Mario Mastrangelo
I Namespace Mario Arrigoni Neri.
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.
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)
PHP.
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
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.
INFORMATICA typedef.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
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.
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Un’introduzione a HTML (I)
Unità Didattica 2 I Linguaggi di Programmazione
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.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Lezione 2 Programmare in ASP
Corso di PHP.
Sommario Allineamento ( ) Immagini ( ) Link ( ). Allineamenti Oltre a posso usare per allineare testo ed immagini un altro tag: align = center o left.
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.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
2a Lezione: Martedì 6 Febbraio – HTML Comandi base
Inutile provare dunque a inserire un file ".psd" (formato nativo di Photoshop) all'interno della vostra pagina HTML: con grande probabilità il browser.
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.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
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)
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
Lezione 3 Struttura lessicale del linguaggio
CORSO Di WEB DESIGN prof. Leonardo Moriello
Impostare i caratteri. Le prime versioni del linguaggio HTML così come le prime versioni dei browser consentivano unicamente la scelta tra due tipi di.
Diagramma delle Classi
Introduzione a Javascript
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
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.
Problemi, algoritmi e programmazione
Il corpo di una pagina Html. La sezione è il corpo principale del documento HTML dove vanno inseriti tutti i contenuti che devono apparire nella pagina.
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
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Cloud informatica V anno.
INFORMAZIONE E PRESENTAZIONE Lo scopo di una pagina web è, essenzialmente la trasmissione di una informazione. L’informazione è costituita da due aspetti.
Diagramma degli Stati. Diagramma degli Stati … Definizione è un grafico con nodi ed archi in cui i nodi rappresentano gli stati di una classe e gli archi,
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.
Transcript della presentazione:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido  Sintassi del DTD  Elementi, attributi e entità

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 2 Il Document Type Definition Una caratteristica fondamentale dell’XML è l’estensibilità. L’autore di un documento XML può creare nuovi tag per descrivere i contenuti semantici dei propri dati. Ciò ha portato alla necessità di definire delle regole grammaticali, o vincoli, alle quali gli elementi devono attenersi. Queste regole grammaticali sono definite nelle specifiche XML e sono codificate nel Document Type Definition.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 3 Le regole grammaticali o vincoli specificano: qual’è l’insieme degli elementi e degli attributi che si possono usare nel documento XML quali sono le relazioni gerarchiche fra gli elementi qual’è l’ordine in cui gli elementi appariranno nel documento XML quali elementi ed attributi sono opzionali Quando un documento XML è ben formato e rispetta le regole del DTD a cui si riferisce si dice che è un documento XML valido. Documento XML valido

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 4 Tipologie DTD Le DTD possono essere di due tipologie: PUBBLICHE  PUBBLICHE: sono depositate e note a tutti. E’ possibile trovarle in archivi (repository) di DTD su Internet. HTML per esempio è definito come DTD pubbliche depositate presso il W3C. DI SISTEMA  DI SISTEMA: sono disponibili e fruibili tramite l’azienda o la realtà che le ha prodotte. Non sono note al mondo intero e per sfruttarle occorre rivolgersi a chi le ha prodotte, anche solo per scaricarle.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 5 DTD interne ed esterne Quando lavoriamo con documenti XML, se vogliamo associare loro delle DTD possiamo inserirle come parte integrante del loro contenuto (DTD interna), oppure possiamo fare riferimento a una definizione esterna, di sistema o pubblica (DTD esterna). Le DTD vanno comunque dichiarate nel prologo del documento XML. Sintassi DTD esterna: a seconda che si voglia indicare una DTD di sistema o pubblica. Sintassi DTD interna:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 6 Alcune osservazioni Come si intuisce dagli esempi precedenti, il simbolo di apertura di un’istruzione DTD è <! il simbolo di chiusura di un’istruzione DTD è > Tali istruzioni rappresentano dei marcatori particolari: il cui contenuto deve corrispondere a comandi previsti dalla definizione di DTD. Nei prossimi lucidi ci occuperemo di queste istruzioni analizzando quelle di uso più comune. Prima però vediamo un esempio...

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 7 Creazione di una DTD semplice Consideriamo il file .xml. .xml Si noti che il codice contiene informazioni aggiuntive nel prologo del documento: si tratta di una DTD interna che identifica gli elementi che possono essere presenti nel documento e il tipo di dati che deve contenere. Se questo documento viene eseguito visualizzando la pagina XML (ad esempio con IE5), il documento avrà questo aspetto:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 8 Esempio validazione (1) Modifichiamo la struttura del file .xml in questo modo ERR.xml e proviamo a validare i due documenti. .xml ERR.xml Risultato validazione del documento .xml:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 9 Esempio validazione (2) Risultato validazione del documento ERR.xml:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 10 Definizione di elementi (1) Per definire all’interno di una DTD la presenza di un elemento (tag) occorre utilizzare la parola chiave ELEMENT, la quale accetta la seguente sintassi dove:  nome è il nome che il tag avrà nel documento XML (ovviamente deve rispettare le regole che rendono i documenti XML ben formati)  regola_dtd indica il tipo di contenuto che questo tag avrà ed eventualmente la sua relazione con altri contenuti descritti nella DTD.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 11 Definizione di elementi (2) I possibili valori che può assumere regola_dtd sono:  ANY: indica che il contenuto del tag può essere qualunque cosa, cioè tag e/o testo.  PCDATA (Parsed Character Data): dichiara che il tag può contenere solo e unicamente contenuto di tipo testo, sintatticamente corretto dal momento che i parser dovranno leggerlo e interpretarlo.  EMPTY: comunica al parser che il tag sarà costituito solo di attributi e non conterrà al suo interno nè testo nè altri tag.  GRUPPI DI ELEMENTI

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 12 Definizione di elementi (3) Vediamo qualche esempio:  Tag chiamato Titolo che contiene al suo interno solo testo:  Tag chiamato Libro che può contenere sia testo che tag:  Tag chiamato Libro che non ha contenuto e rappresenta le sue informazioni solo tramite attributi:

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 13 Definizione gruppi (1) Per gruppi di elementi si intende la possibilità per un determinato tag di contenere non solo testo, non solo qualsiasi combinazione di testo e tag, ma bensì una precisa sequenza di tag e/o gruppi di tag che rappresentano diverse alternative. XML tascabile Mondadori Informatica Libri XML tascabile Mondadori Informatica Libri Esempio: consideriamo il seguente documento XML. Vogliamo descrivere il tag Struttura utilizzando una DTD.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Definizione gruppi (2) Volendo descrivere il tag Struttura possiamo utilizzare la seguente sintassi DTD: tramite la quale indichiamo che il tag Struttura deve contenere un tag di nome Pagine, uno di nome Capitoli e uno di nome Appendici.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 15 Definizione gruppi (3) In una definizione di DTD completa, dovremo quindi indicare sia la definizione del tag contenitore che dei tag contenuti. Il blocco di definizione del tag Struttura e dei tag al suo interno contenuti sarà: In questo modo, non solo formiamo i dettagli sulla natura di Struttura, ma anche sui tag in essa contenuti.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 16 Definizione gruppi (4) Per indicare delle condizioni in alternativa tra loro si utilizza il carattere pipe |. Esempio: indica che il tag Struttura dovrà contenere o un tag Pagine o un tag Capitoli, non entrambi e tanto meno nessuno dei due. E’ anche possibile utilizzare più parentesi tonde annidate le une nelle altre per raggruppare le informazioni all’interno di una DTD. Esempio: dichiara che nel tag Struttura possiamo trovare o un tag Pagine o una coppia di tag Capitoli e Appendici, rappresentati esattamente nell’ordine indicato.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 17 Molteplicità Qualora sia necessario indicare la presenza di più occorrenze di uno stesso tag all’interno di una struttura dobbiamo ricorrere a una simbologia apposita, per mezzo della quale indichiamo quante istanze di un determinato tag possiamo consentire all’interno di un documento XML. Tale sintassi è: dove al posto di [Molteplicità] possiamo trovare uno dei seguenti simboli: SIMBOLO SIGNIFICATO ? 0 o 1 volte + Da 1 a  volte * Da 0 a  volte

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 18 Molteplicità: esempi  significa che il tag Libro potrà contenere un numero di tag Autore in quantità variabile tra 1 e .  significa che il tag Libro potrà avere un solo Autore, oppure potrà essere privo di Autore.  significa che il tag Libro potrà avere un numero di tag Autore in quantità variabile tra 0 e .

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 19 Definizione di attributi (1) Per definire gli attributi di un documento XML si usa il comando ATTLIST, secondo la seguente sintassi: dove:  elemento è il nome del tag del quale stiamo definendo l’attributo  nome_attributo è ovviamente il nome dell’attributo  tipo è la definizione del tipo di valore associato all’attributo  valore_default è un eventuale valore di default (predefinito)

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 20 Definizione di attributi: esempio Indica che stiamo definendo un attributo di nome ISBN tale attributo deve essere associato a un tag di nome Libro tale attributo può contenere qualsiasi carattere, tranne & ‘ “ ( CDATA ) il valore di default dell’attributo è “N.D.”

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 21 Definizione di attributi (2) Se vogliamo fornire un set di valori per un attributo possiamo utilizzare la seguente sintassi: dove il simbolo di pipe | indica proprio l’alternativa tra i possibili valori. Notare l’ultima informazione “mensile” : serve per indicare che nel caso in cui l’attributo Tipo non venga fornito il suo valore predefinito deve essere mensile.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 22 Valori di default di attributi Quando si definiscono gli attributi per gli elementi è anche possibile dichiarare dei vincoli relativi alla presenza o meno degli stessi tag. Si utilizzano le seguenti parole chiave: VINCOLOSIGNIFICATO #IMPLIEDIl valore dell’attributo non è obbligatorio. #REQUIREDIl valore dell’attributo è obbligatorio. #FIXED Il valore dell’attributo è una costante che non può essere modificato.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 23 Esempi  Definiamo un tag Libro descritto da un tag Titolo, da uno o più tag Autore e da un attributo ISBN obbligatorio.  La seguente istruzione <!ATTLIST indirizzo cap #FIXED “02115” indica che il valore è l’unico che può essere assegnato all’attributo cap. Il documento XML non è valido se l’attributo cap contiene un valore diverso da Se l’elemento indirizzo non contiene l’attributo cap, il valore di default sarà passato all’applicazione che elabora il documento XML.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 24 Tipi di dato per attributi Quando definiamo degli attributi XML possiamo associare loro dei tipi di dato, tra quelli definiti dal W3C. Tipi di DatoDescrizione CDATADati di tipo carattere. ENTITYEntità esterna dichiarata nella DTD. IDIdentificatore univoco di un elemento. IDREFID univoci che puntano a elementi con un attributo ID. NMTOKENIl valore dell’attributo è formato da lettere, cifre, punti, caratteri di sottolineatura, trattini e due punti. NOTATIONNotazione dichiarata nella DTD. Sequenze di valoriCorrisponde a una enumerazione.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 25 Entità interne Tramite le DTD possiamo definire delle entità. Per entità si intendono dei nostri entity-name che corrispondano a caratteri, parole o frasi da noi impostati. La sintassi da utilizzare per definire delle entità è la seguente: In questo modo si dichiarano entità interne, in quanto il loro valore è fornito esplicitamente all’interno della DTD. Esempio: Per un esempio completo vedi il documento DTDEntità.xml.DTDEntità.xml

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 26 Entità esterne Se vogliamo ottenere il valore di una entity da un documento esterno possiamo utilizzare una delle tre seguenti forme: 1) Entità esterna caricata direttamente dalla URL. 2) Entità esterna caricata direttamente dalla URL solo nel caso in cui non sia già nota al parser tramite il suo nome pubblico. 3) Entità esterna da non interpretare con il perser ( NDATA ) e il cui tipo di formato è indicato tramite il parametro tipo_notazione. E’ anche possibile utilizzare le entità all’interno della definizione di altre entità, cioè annidare le entità le une all’interno delle altre.

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 27 Esempio completo di DTD: vedi il documento Libro.xml Libro.xml

Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni 28 Document Type Definition Sommario  In questa lezione abbiamo appreso: cos’è una Document Type Definition validazione di documenti XML sintassi di una DTD elementi, attributi, entità di una DTD  Passi successivi: la prossima lezione sarà dedicata alla formattazione di contenuti.formattazione di contenuti