1 / 26

Tecnologie di Sviluppo per il Web

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). XML >> Sommario. Dettagli e Approfondimenti. Un Ulteriore Esempio Il Sistema PdD

kaspar
Download Presentation

Tecnologie di Sviluppo per il Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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) G. Mecca – mecca@unibas.it – Università della Basilicata

  2. XML >> Sommario Dettagli e Approfondimenti • Un Ulteriore Esempio • Il Sistema PdD • Dettagli sulla Sintassi • Entità • DTD • Validatori G. Mecca - Tecnologie di Sviluppo per il Web

  3. XML >> Dettagli e Approfondimenti >> Un Ulteriore Esempio Un Ulteriore Esempio • Il Sistema PdD • un sistema per la costruzione di questionari cartacei ed elettronici • Esigenza • costituire e gestire archivi di domande per varie discipline • creare e stampare questionari sulla base degli archivi • XML è una soluzione ideale G. Mecca - Tecnologie di Sviluppo per il Web

  4. XML >> Dettagli e Approfondimenti >> Un Ulteriore Esempio Un Ulteriore Esempio • Idea • costituire archivi di domande e questionari come file XML • sulla base di un DTD fissato • Attenzione • fisicamente si tratta di file di testo • ma la struttura logica che c’è dietro è quella di un albero >> PdD-archivioQuesitiGeografia.xml >> DOM Inspector G. Mecca - Tecnologie di Sviluppo per il Web

  5. XML >> Dettagli e Approfondimenti >> Dettagli Sulla Sintassi Dettagli sulla Sintassi • Regole generali • sensibile alle maiuscole • convenzione: minuscole • Identificatori (nomi) • iniziano per lettera oppure _ oppure : • sequenza di lettere, cifre, _ • Namespace • attributi speciali degli elementi <collezioneQuesiti xmlns:pdd=“http://www.db.unibas.it”> <pdd:quesito>...</pdd:quesito> G. Mecca - Tecnologie di Sviluppo per il Web

  6. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi Dettagli sulla Sintassi • Contenuto di un documento XML • Istruzioni di Elaborazione • es: prologo <? xml version=“1.0 ?> • es: foglio di stile <?xml-stylesheet type="text/xsl" href="PdD-stile.xsl"?> • Dichiarazione di DTD (DOCTYPE) >> • Descrizione dell’albero • elementi, attributi, valori • altri oggetti: commenti, entità G. Mecca - Tecnologie di Sviluppo per il Web

  7. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi Dettagli sulla Sintassi • Elementi • tag di apertura (“start tag”) es: <quesito> • tag di chiusura (“end tag”) es: </quesito> • tag di elem. vuoto (“empty element tag”)es: <soluzione lettera="b" /> • Elemento principale • deve essere unico • es: <collezioneQuesiti disciplina="Geografia"> ... </collezioneQuesiti> G. Mecca - Tecnologie di Sviluppo per il Web

  8. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi Dettagli sulla Sintassi • Attributi • <soluzione lettera="b" /> • Valori • stringhe di caratteri • Commenti • <!-- testo del commento --> • Entità • definizioni di costanti o “macro” G. Mecca - Tecnologie di Sviluppo per il Web

  9. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi Entità • Due categorie • general entity, parameter entity (nel DTD >>) • General Entity • definite nel DTD, utilizzate nel documento • es: quesiti di analisi <!ENTITY pigreco “3.1412”> • utilizzo della costante: &<nome>; es: &pigreco; • possono essere definite all’esterno<!ENTITY capitolo1 SYSTEM “cap1.xml”> • per includere il contenuto di cap1.xml in libro.xml G. Mecca - Tecnologie di Sviluppo per il Web

  10. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi Entità • Esistono varie entità predefinite di XML • corrispondono ai caratteri riservati della sintassi • esempi: &lt; <&gt; > &amp; & &apos; ‘ &quot; “ • Più in generale • esiste un’entità predefinita per ogni carattere del set di caratteri ISO/IEC 10646 • &#<n>, dove <n> è il codice esadecimale del carattere ISO es: &#62 equivale a &gt; (>) G. Mecca - Tecnologie di Sviluppo per il Web

  11. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Schema per il documento XML • vincoli sulla struttura dell’albero • Sintassi per i DTD • non è basata su XML • Esempio <!ELEMENT archivioDomande (elencoArgomenti, elencoQuesiti)><!ATTLIST archivioDomande disciplina CDATA #REQUIRED><!ELEMENT elencoArgomenti (argomento)* >... G. Mecca - Tecnologie di Sviluppo per il Web

  12. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Riferimento al DTD • nodo DOCTYPE • riporta il riferimento all’URI del DTD (relativo o assoluto) • es: <!DOCTYPE archivioDomande SYSTEM "pdd_0_2.dtd"> • Attenzione • la presenza dello schema è opzionale • documenti validi e documenti ben formati G. Mecca - Tecnologie di Sviluppo per il Web

  13. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • DTD interno • il DTD può essere contenuto nel file XML • <!DOCTYPE archivioDomande [ <!ELEMENT archivioDomande (elencoArgomenti,elencoQuesiti)> <!ATTLIST archivioDomandedisciplina CDATA #REQUIRED…]> G. Mecca - Tecnologie di Sviluppo per il Web

  14. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Identificatore del DTD • normalmente: identificatore di “sistema” (SYSTEM) • Identificatori pubblici • alcuni DTD molto utilizzati hanno un “nome” pubblico (PUBLIC); es: il DTD di XHTML • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN“"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> G. Mecca - Tecnologie di Sviluppo per il Web

  15. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Contenuto del DTD • dichiarazione di elementi • dichiarazioni di attributo • dichiarazione di entità • Parameter Entity • pezzi di DTD da riutilizzare varie volte • sono utilizzate nel DTD e non nel doc. xml(differenza con le entità generali) G. Mecca - Tecnologie di Sviluppo per il Web

  16. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Utilizzo tipico • definisco la struttura di un albero in un DTD • riutilizzo la struttura in un altro DTD senza doverla ridefinire • Esempio • collezioneProve.dtd: collezione di questionari • <!ENTITY % collezioneQuesiti SYSTEM “collezioneQuesiti_0_2.dtd”> • nel DTD: %collezioneQuesiti; >> collezioneProve.dtd G. Mecca - Tecnologie di Sviluppo per il Web

  17. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Definizione degli elementi • <!ELEMENT nome (contenuto)> • es: <!ELEMENT elencoQuesiti (quesito)* > • Una sola dichiarazione per ogni nome • Modello di contenuto (“content model”) • ELEMENT ONLY elementi combinati con * + ? • TEXT (#PCDATA) • MIXED (#PCDATA | <el1> | <el2> | … )* • EMPTY • ANY G. Mecca - Tecnologie di Sviluppo per il Web

  18. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • 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) • Esempio <!ELEMENT soluzione EMPTY> <soluzione lettera="b" /> <!ELEMENT difficolta EMPTY> <difficolta valore="0" /> G. Mecca - Tecnologie di Sviluppo per il Web

  19. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Utilizzo di ANY • per quegli elementi di cui non si vuole vincolare il contenuto • Esempio • <!ELEMENT risposta ANY> • nelle risposte proposte per una domanda è opportuno poter specificare elementi diversi; es: immagini, o testo formattato G. Mecca - Tecnologie di Sviluppo per il Web

  20. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Definizione degli attributi • <!ATTLIST nomeEl listaDefAttributi> • Definizione dell’attributo • nomeAttr tipo vincolo • Esempio <!ATTLIST soluzione lettera CDATA #REQUIRED> G. Mecca - Tecnologie di Sviluppo per il Web

  21. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Tipo dell’attributo • 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 G. Mecca - Tecnologie di Sviluppo per il Web

  22. XML >> Dettagli e Approfondimenti >> Dettagli sulla Sintassi DTD • Vincoli sull’attributo • #REQUIRED obbligatorioes: <!ATTLIST soluzione lettera CDATA #REQUIRED> • #IMPLIED opzionale es: <!ATTLIST elencoQuesiti disciplina CDATA #IMPLIED> • valore opzionale con v. standardes: <!ATTLIST difficolta valore CDATA "1"> • #FIXED valore valore fissatoes: <!ATTLIST difficolta valore "1“ #FIXED> G. Mecca - Tecnologie di Sviluppo per il Web

  23. XML >> Dettagli e Approfondimenti >> Validatori Validatori • Esistono vari validatori • alcuni supportano solo DTD • altri anche XMLSchema • Browser • tutti i principali browser effettuano la convalida dell’XML • IE6, Mozilla, Netscape G. Mecca - Tecnologie di Sviluppo per il Web

  24. XML >> Dettagli e Approfondimenti >> Validatori Validatori • In questo corso • xmlvalid, semplice da usare, efficace • Altri esempi • RXP – Univ. of Edimburghhttp://www.ltg.ed.ac.uk/~richard/xml-check.html • XSV – Univ. of Edimburgh, W3Chttp://www.w3.org/2001/03/webdata/xsv • Altri validatori • http://w3.org/XML, http://www.w3.org/XML/Schema G. Mecca - Tecnologie di Sviluppo per il Web

  25. XML >> Sommario Riassumendo • Un Ulteriore Esempio • Il Sistema PdD • Dettagli sulla Sintassi • Entità • DTD • Validatori G. Mecca - Tecnologie di Sviluppo per il Web

  26. Termini della Licenza Termini della Licenza • This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. • Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - Tecnologie di Sviluppo per il Web

More Related