Esercizi su XML, DTD e DOM

Похожие документы
Esercizi su XML e DTD

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

Document Type Definitions (DTD)

Tecnologie Web T DTD Document Type Definition

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

Esercitazione XML. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A.

Esercizi su JavaScript, DOM e Web Storage

Esercitazione di riepilogo

AJAX. Riccardo Rosati

extensible Markup Language

Linguaggi per il web oltre HTML: XML

ROOT ELEMENT. Segnatura

Basi di Dati. Prova Scritta - 11 giugno Tempo a disposizione: 90 minuti. Nome e Cognome:... Matricola:...

Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica (DM 270) Esame di Basi di Dati 10 marzo 2011

Dispense XML. Indice

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

Modellazione e Gestione di Informazioni non Strutturate

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML.

Esercizi su HTML5 e form

Esercitazione di riepilogo

Inquadramento XML. Il problema dell Information- Integration. Esempio

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Laboratorio di Basi di Dati e Multimedia

Modello Entità-Relazione (E-R)

Document Type Definition (DTD)

informatica di base per le discipline umanistiche

Транскрипт:

Linguaggi per il Web prof. Riccardo Rosati corso di Laurea in Ingegneria Informatica Sapienza Università di Roma, a.a. 2014/2015 Esercizi su XML, DTD e DOM Esercizio 1 Scrivere una DTD che formalizzi le seguenti regole: 1. sono ammessi solo gli elementi <a>, <b>, <c>, <d>, <e>; 2. <a> e l elemento radice; 3. <a> puo contenere solo elementi di tipo <b> o di tipo <c>, e deve contenere almeno un elemento di tipo <b>; 4. <b> puo contenere solo elementi di tipo <d> o di tipo <e>, deve contenere almeno un elemento <e>, e tutti gli elementi <d> devono precedere gli elementi <e>; 5. <c> puo contenere solo elementi di tipo <d> o di tipo <e>, deve contenere almeno due elementi <d>, e tutti gli elementi <d> devono precedere gli elementi <e>; 6. gli elementi <d> possono contenere ogni tipo di elemento (compreso # PCDATA); 7. <e> e un elemento vuoto; 8. <a> ha un attributo x obbligatorio di tipo CDATA e un attributo y che puo assumere solo i valori 0, 1, o 2, e 0 e il valore di default; 9. <e> ha un attributo z obbligatorio di tipo CDATA e un attributo w obbligatorio di tipo NMTOKEN. Soluzione <!ELEMENT a ((b c)*,b,(b c)*)> <!ELEMENT b (d*,e+)> <!ELEMENT c (d,d+,e*)> <!ELEMENT d ANY> <!ELEMENT e EMPTY> <!ATTLIST a x CDATA #REQUIRED y (0 1 2) "0"> <!ATTLIST e z CDATA #REQUIRED w NMTOKEN #REQUIRED> 1

Esercizio 2 Data la seguente DTD: <!DOCTYPE CorsoDiLaurea [ <!ELEMENT CorsoDiLaurea (Corso+)> <!ELEMENT Corso (NomeCorso, DescrizioneCorso?, Docente+, Studente*)> <!ELEMENT Docente (Cognome, Nome, Dipartimento, (Foto Commento)*)> <!ELEMENT Studente (Cognome, Nome, (Foto Commento)*)> <!ELEMENT NomeCorso (#PCDATA)> <!ELEMENT DescrizioneCorso (#PCDATA)> <!ELEMENT Cognome (#PCDATA)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT Dipartimento (#PCDATA)> <!ELEMENT Foto EMPTY> <!ELEMENT Commento (#PCDATA)> <!ATTLIST CorsoDiLaurea facolta CDATA #REQUIRED> <!ATTLIST Corso numerocrediti CDATA #REQUIRED semestre (primo secondo annuale) #REQUIRED > sede CDATA #IMPLIED tipo (obbligatorio opzionale) #IMPLIED > <!ATTLIST Studente matricola CDATA #REQUIRED> <!ATTLIST Foto url CDATA #REQUIRED> <!ENTITY UNIROMA "Sapienza Università di Roma"> (a) scrivere un documento XML valido per tale DTD; (b) scrivere un documento XML, valido per tale DTD, che contenga almeno una occorrenza di ogni elemento dichiarato nella DTD e tale che ogni attributo dichiarato sia esplicitamente assegnato. Soluzione (a) Un documento XML valido per la precedente DTD e, ad esempio, il seguente: <CorsoDiLaurea facolta="ingegneria dell Informazione"> <Corso semestre="primo" numerocrediti="6"> <NomeCorso> Linguaggi per il Web </NomeCorso> <Docente> <Cognome>Rosati</Cognome> <Nome>Riccardo</Nome> <Dipartimento>DIS</Dipartimento> 2

</Docente> <Studente matricola="9999"> <Cognome>Rossi</Cognome> <Nome>Mario</Nome> <Studente matricola="8888"> <Cognome>Bianchi</Cognome> <Nome>Paola</Nome> <Foto url="bianchipaola.jpg"> </Corso> </CorsoDiLaurea> (b) Un documento XML, valido per la precedente DTD, che contiene almeno una occorrenza di ogni elemento dichiarato nella DTD e e tale che ogni attributo dichiarato sia esplicitamente assegnato e, ad esempio, il seguente: <CorsoDiLaurea facolta="ingegneria dell Informazione"> <Corso semestre="primo" numerocrediti="6" sede="roma" tipo="opzionale"> <NomeCorso> Linguaggi per il Web </NomeCorso> <DescrizioneCorso> Corso su analisi sintattica e traduzione guidata dalla sintassi, HTML, XML, RDF. </DescrizioneCorso> <Docente> <Cognome>Rosati</Cognome> <Nome>Riccardo</Nome> <Dipartimento>DIS</Dipartimento> </Docente> <Studente matricola="9999"> <Cognome>Rossi</Cognome> <Nome>Mario</Nome> <Commento> Proveniente dal Corso di Laurea in Ingegneria Meccanica </Commento> <Studente matricola="8888"> <Cognome>Bianchi</Cognome> <Nome>Paola</Nome> <Foto url="bianchipaola.jpg"> </Corso> </CorsoDiLaurea> Esercizio 3 Dato il seguente documento XML: 3

<?xml version="1.0" encoding="utf-8"?> <!ELEMENT a (b c d)*> <!ELEMENT b (#PCDATA)> <!ELEMENT c EMPTY> <!ELEMENT d (#PCDATA a)*> <!ATTLIST a val CDATA #REQUIRED> <!ATTLIST b val CDATA #IMPLIED> <a val="v1"> <b val="1">riga 1</b> <b val="pippo">riga 2</b> <c/> <b x="3">riga 3</b> <d>riga 4 <a val="v2"> <c val="xyz"/> dire se il documento e valido. In caso contrario, evidenziare le violazioni della DTD da parte del documento. Esercizio 4 Dato il seguente documento XML: <?xml version="1.0" encoding="utf-8"?> <!ELEMENT a (b c d)*> <!ELEMENT b (#PCDATA)> <!ELEMENT c EMPTY> <!ELEMENT d (#PCDATA a)*> <!ATTLIST a val CDATA #REQUIRED> <!ATTLIST b id ID #IMPLIED> <!ATTLIST c link IDREF #REQUIRED> <a val="text"> <b id="id01">text</b> <b id="id02">text</b> <c link="id03"/> <b id="id03">text</b> <d>text <a val="text"> <c link="id01"/> 4

dire se il documento e valido. In caso contrario, evidenziare le violazioni della DTD da parte del documento. Esercizio 5 Dato il seguente documento XML: <a ax="val1"> <b ax="val2">testo 1</b> <b ay="val2">testo 2</b> <c az="val3"/> <b ay="val4"></b> <d>testo 3 <a ax="val4"> <b ax="val2">testo 4</b> testo 5 <c aw="val5"/> 1) scrivere l albero DOM corrispondente a tale documento; 2) scrivere una sequenza di chiamate a metodi della API DOM che genera l albero DOM corrispondente al documento. Esercizio 6 Scrivere una applicazione che, utilizzando le API DOM, legge un documento XML relativo alla DTD dell esercizio 2, e stampa in uscita nome e cognome di tutti gli studenti a cui e associata almeno una foto. 5