G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
2 G. Mecca - Tecnologie di Sviluppo per il Web Dettagli e Approfondimenti m Un Ulteriore Esempio Il Sistema PdD m Dettagli sulla Sintassi Entità DTD m Validatori XML >> Sommario
3 G. Mecca - Tecnologie di Sviluppo per il Web Un Ulteriore Esempio m Il Sistema PdD un sistema per la costruzione di questionari cartacei ed elettronici m Esigenza costituire e gestire archivi di domande per varie discipline creare e stampare questionari sulla base degli archivi XML è una soluzione ideale XML >> Dettagli e Approfondimenti >> Un Ulteriore Esempio
4 G. Mecca - Tecnologie di Sviluppo per il Web Un Ulteriore Esempio m Idea costituire archivi di domande e questionari come file XML sulla base di un DTD fissato m Attenzione fisicamente si tratta di file di testo ma la struttura logica che cè dietro è quella di un albero XML >> Dettagli e Approfondimenti >> Un Ulteriore Esempio >> PdD-archivioQuesitiGeografia.xml >> DOM Inspector
5 G. Mecca - Tecnologie di Sviluppo per il Web Dettagli sulla Sintassi m Regole generali sensibile alle maiuscole convenzione: minuscole m Identificatori (nomi) iniziano per lettera oppure _ oppure : sequenza di lettere, cifre, _ m Namespace attributi speciali degli elementi... XML >> Dettagli e Approfondimenti >> Dettagli Sulla Sintassi
6 G. Mecca - Tecnologie di Sviluppo per il Web Dettagli sulla Sintassi m Contenuto di un documento XML m Istruzioni di Elaborazione es: prologo es: foglio di stile m Dichiarazione di DTD (DOCTYPE) >> m Descrizione dellalbero elementi, attributi, valori altri oggetti: commenti, entità XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
7 G. Mecca - Tecnologie di Sviluppo per il Web Dettagli sulla Sintassi m Elementi tag di apertura (start tag) es: tag di chiusura (end tag) es: tag di elem. vuoto (empty element tag) es: m Elemento principale deve essere unico es:... XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
8 G. Mecca - Tecnologie di Sviluppo per il Web Dettagli sulla Sintassi m Attributi m Valori stringhe di caratteri m Commenti m Entità definizioni di costanti o macro XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
9 G. Mecca - Tecnologie di Sviluppo per il Web Entità m Due categorie general entity, parameter entity (nel DTD >>) m General Entity definite nel DTD, utilizzate nel documento es: quesiti di analisi utilizzo della costante: & ; es: &pigreco; possono essere definite allesterno per includere il contenuto di cap1.xml in libro.xml XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
10 G. Mecca - Tecnologie di Sviluppo per il Web Entità m Esistono varie entità predefinite di XML corrispondono ai caratteri riservati della sintassi esempi: < && '" m Più in generale esiste unentità predefinita per ogni carattere del set di caratteri ISO/IEC &#, dove è il codice esadecimale del carattere ISO es: > equivale a > (>) XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
11 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Schema per il documento XML vincoli sulla struttura dellalbero m Sintassi per i DTD non è basata su XML m Esempio... XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
12 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Riferimento al DTD nodo DOCTYPE riporta il riferimento allURI del DTD (relativo o assoluto) es: m Attenzione la presenza dello schema è opzionale documenti validi e documenti ben formati XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
13 G. Mecca - Tecnologie di Sviluppo per il Web DTD m DTD interno il DTD può essere contenuto nel file XML XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
14 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Identificatore del DTD normalmente: identificatore di sistema (SYSTEM) m Identificatori pubblici alcuni DTD molto utilizzati hanno un nome pubblico (PUBLIC); es: il DTD di XHTML XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
15 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Contenuto del DTD dichiarazione di elementi dichiarazioni di attributo dichiarazione di entità m Parameter Entity pezzi di DTD da riutilizzare varie volte sono utilizzate nel DTD e non nel doc. xml (differenza con le entità generali) XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
16 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Utilizzo tipico definisco la struttura di un albero in un DTD riutilizzo la struttura in un altro DTD senza doverla ridefinire m Esempio collezioneProve.dtd: collezione di questionari <!ENTITY % collezioneQuesiti SYSTEM collezioneQuesiti_0_2.dtd> nel DTD: %collezioneQuesiti; XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi >> collezioneProve.dtd
17 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Definizione degli elementi es: m Una sola dichiarazione per ogni nome m Modello di contenuto (content model) ELEMENT ONLY elementi combinati con * + ? TEXT (#PCDATA) MIXED (#PCDATA | | | … )* EMPTY ANY XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
18 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Utilizzo di EMPTY per quegli elementi che hanno attributi ma non hanno contenuto nè sottoelementi è quasi sempre possibile evitarlo, tranne che a scopo di presentazione (es: HTML) m Esempio XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
19 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Utilizzo di ANY per quegli elementi di cui non si vuole vincolare il contenuto m Esempio nelle risposte proposte per una domanda è opportuno poter specificare elementi diversi; es: immagini, o testo formattato XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
20 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Definizione degli attributi m Definizione dellattributo nomeAttrtipovincolo m Esempio <!ATTLIST soluzione lettera CDATA #REQUIRED> XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
21 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Tipo dellattributo CDATA: testo ID: identificatore; non ammette duplicati IDREF: riferimento ad un ID (integr. ref.) IDREFS: riferimenti ad una lista di ID (integrità referenziale) tipo enumerato: (val1 | val2 | … | valn) es: centesimi (1 | 2 | 5 | 10 | 20 | 50) NMTOKEN, NMTOKENS XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
22 G. Mecca - Tecnologie di Sviluppo per il Web DTD m Vincoli sullattributo #REQUIREDobbligatorio es: #IMPLIEDopzionale es: valoreopzionale con v. standard es: #FIXED valorevalore fissato es: XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi
23 G. Mecca - Tecnologie di Sviluppo per il Web Validatori m Esistono vari validatori alcuni supportano solo DTD altri anche XMLSchema m Browser tutti i principali browser effettuano la convalida dellXML IE6, Mozilla, Netscape XML >> Dettagli e Approfondimenti >> Validatori
24 G. Mecca - Tecnologie di Sviluppo per il Web Validatori m In questo corso xmlvalid, semplice da usare, efficace m Altri esempi RXP – Univ. of Edimburgh XSV – Univ. of Edimburgh, W3C m Altri validatori XML >> Dettagli e Approfondimenti >> Validatori
25 G. Mecca - Tecnologie di Sviluppo per il Web Riassumendo m Un Ulteriore Esempio Il Sistema PdD m Dettagli sulla Sintassi Entità DTD m Validatori XML >> Sommario
26 G. Mecca - Tecnologie di Sviluppo per il Web Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.