La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.

Presentazioni simili


Presentazione sul tema: "DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation."— Transcript della presentazione:

1 DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation

2 DTD2 Agenda DTD role DTD Declaration Sequences Content Types Attributes Entities DTD role DTD Declaration Sequences Content Types Attributes Entities

3 DTD3 Relazione tra classi ed oggetti in OO

4 DTD4 Ruolo del DTD

5 DTD5 Un DTD e un documento che definisce in modo formale, le regole di una classe di documenti XML In un DTD si possono dichiarare: Gli elementi utilizzabili, in che ordine e con quante occorrenze possono essere nidificati tra loro Quali attributi sono applicabili a ciascun elemento, se sono obbligatori e quali sono i loro valori predefiniti Le entità e le annotazioni utilizzabili allinterno del documento XML o del DTD stesso

6 DTD6 Perché usare una DTD Gruppi indipendenti di persone possono accordarsi su un DTD comune per definire un formato per i dati Un DTD puo essere usato per verificare la validita dei dati Avvertenza: il DTD non e obbligatorio!

7 DTD7 Dichiarazione di un DTD Interna al documento XML: Esterna al documento XML : N.B.: In XML il nome del DOCTYPE deve essere il nome del tag radice.

8 DTD8 Esempio DTD Interna

9 DTD9 Esempio DTD Esterna

10 DTD10 Dichiarazione di elemento Per ogni tipo di elemento viene indicato il tipo di contenuto, che può essere: Any content: indica che ogni contenuto è ammissibile. Es: Empty content: un elemento vuoto non può contenere alcun testo tra il tag di inizio e quello di chiusura e può quindi essere rappresentato da un tag vuoto. Es: Simple content: è un elemento il cui contenuto è composto da testo. In questo caso #PCDATA è acronimo di Parsed Character Data. Es: Element content: è il caso tipico in cui il contenuto è composto da sottoelementi. Es: Mixed content: sono elementi che contendono testo misto ad altri elementi

11 DTD11 Sequenze, Lelemento, (chiamato sequenza) specifica lordine in cui debbono presentarsi gli elementi solo seguito daun solo Specifica che lelemento classe deve contenere un solo elemento insegnate seguito da un solo elemento studente | Lelemento | (chiamato opzione) specifica le opzioni con cui debbono presentarsi gli elementi o non entrambi Specifica che lelemento classe deve contenere lelemento insegnate o lelemento studente non entrambi + Lelemento + (chiamato ricorrenza) specifica le frequenze di ripetizione con cui debbono presentarsi gli elementi solo seguito dapiù Specifica che lelemento classe deve contenere un solo elemento insegnate seguito da più elementi studente

12 DTD12 Indicatori di ricorrenza IndicatoreDescrizione + Lelemento può ripetersi più volte, ma deve essere usato almeno una volta * Elemento facoltativo; se viene utilizzato può apparire più volte ? Elemento facoltativo; se viene utilizzato può apparire una sola volta numero qualsiasi diche può anche non essere utilizzato Specifica che lelemento libreria può contenere un numero qualsiasi di elemento libro che può anche non essere utilizzato al massimo che può anche non essere utilizzato Specifica che lelemento poltrona può contenere al massimo un elemento persona che può anche non essere utilizzato

13 DTD13 ESEMPI soluzione soluzione soluzione

14 DTD14 Contenuto misto In XML il contenuto di testo #PCDATA ed il contenuto di elementi possono combinarsi solo nella forma seguente: Ogni paragrafo contiene un testo in cui si possono trovare, opzionalmente, degli elementi ed. Es: Questo testo contiene delle sezioni in grassetto ed in corsivo, ma potrebbe anche non averne

15 DTD15 EMPTY

16 DTD16 ANY

17 DTD17 Tipi di contenuto Documento DTD intro.dtd Dichiara lelemento myMessage come root con un unico child di nome message Dichiara che lelemento message deve contenere dati di caratteri riconosciuti dal parser XML Contenuto MISTO Dichiara lelemento myMessage come root con contenuto misto Documento XML intro.xml Welcome to XML! MARKUP conforme alla dichiarazione questo è un esempio; segue altro test e altro testo ancora Lelemento myMessage contiene due elementi message e due istanze di dati e caratteri Considerando la presenza dell*, lelemento myMessage potrebbe essere privo di contenuto

18 DTD18 Esempio di tipo di contenuto mixed.xml ]> This is a simple formatted sentence. I have tried bold. I have tried italic. Now what? NOTARE LA SPECIFICA DELLA DTD INTERNA

19 DTD19 Limitazioni

20 DTD20 Attributi In generale gli attributi vengono specificati con ATTLIST: I tipi definiscono linsieme o la tipologia dei valori assumibili dallattributo I modificatori identificano le condizioni di obbligatorietà o opzionalità dellattributo ed, eventualmente, un valore di default per lo stesso

21 DTD21 Sintassi per la dichiarazione di attributo Possibili valori di attribute-type: CDATA character data (n1|n2|…) uno fra gli n1, n2, … ID un identificatore unico IDREF riferimento ad un ID …

22 DTD22 Note

23 DTD23 Attributi stringa In questo caso lattributo lang è una stringa Se lattributo è presente nel file il suo valore è quello specificato Altrimenti viene assunto il valore di default Italiano … Remember the meeting … Ricordati lappuntamento

24 DTD24 Attributi per enumerazione Il titolo di ogni persona assume valori nellinsieme indicato In mancanza del parametro si assume per default Mr Luke Brown

25 DTD25 Modificatori Valore di default: espresso da una stringa indica il valore da assegnare allattributo in mancanza di diverse indicazioni Valore fisso: definito da #FIXED più il valore. Lattributo assume obbligatoriamente il valore assegnato e lautore del documento XML non può modificarlo: Specifica di obbligatorietà: #REQUIRED. Indica che lattributo deve essere sempre presente in ogni elemento Specifica di opzionalità: #IMPLIED. Indica che lattributo è opzionale e può non essere specificato dallautore del documento. Se combinato con ID indica che il sistema genererà un identificativo automaticamente

26 DTD26 Entità Le entità del DTD sono frammenti ricorrenti di contenuti testuali a cui vengono associati degli identificatori che possono essere espansi come macro allinterno del documento prima di procedere al parsing vero e proprio La definizione avviene secondo lo schema: Lutilizzo avviene inserendo nel testo la sequenza: &nomeEntità; Esempio: Introduzione ad XML &autore;

27 DTD27 Entità esterne Le entità esterne vengono recuperate da un file esterno allXML Es: E possibile specificare entità da non parsare, tipicamente come entità di dati binari.. &text;

28 DTD28 Entità predefinite Sono predefinire tutte le entità associabili ai singoli caratteri sulla base del codice (unicode) degli stessi. Ad esempio lentità corrisponde al carattere ASCII 10. Alcuni caratteri, tra cui < ed &, creano problemi quando vengono mischiati al testo. Per questo sono predefinire alcune entità che possono sostituire questi caratteri: Equivalente a : << >> && &apos; "

29 DTD29 Entità parametriche (I) Sono entità definite nel DTD ed utilizzate allinterno del DTD stesso Vengono sostituite durante la lettura del DTD Contengono frammenti ricorrenti del modello di contenuto Es: volendo definire in un unico punto il tipo di testo che contiene sezioni in grassetto:

30 DTD30 Entità Parametriche (II) <!ENTITY % common " size (small | medium | large) 'medium' color (red | blue | green | black | white) "'white' price CDATA #REQUIRED"> <!ATTLIST shirt %common;> <!ATTLIST pants %common;> <!ATTLIST skirt %common;>

31 DTD31 Cosa cè di sbagliato nelle DTD Troppo document oriented DTD è stato sviluppato per interfacciarsi con tool per il trattamento del testo Limitato nella rappresentazione di strutture complesse Non cè la nozione di ereditarietà/sub-typing Content-model ambiguo Troppi modi per rappresentare la stessa cosa I nomi sono globali, non locali

32 DTD32 Utilizzo delle DTD Validazione Storage XML efficiente (persistenza, estensione, o database storage) Documentazione Parsing efficiente Design di tool di supporto

33 DTD33 Progettare una struttura dati XML

34 DTD34 Attributi o Elementi : scelte forzate

35 DTD35 Attributi o elementi : scelte stilistiche

36 DTD36 Case Study: Agenda giornaliera Definizione degli elementi

37 DTD37 Case Study: Agenda giornaliera Aggiunta di attributi

38 DTD38 Case Study: Agenda giornaliera DTD : Completo

39 DTD39 Case Study: Agenda giornaliera Documento Valido

40 DTD40

41 DTD41 Soluzione 1 Lelemento classe deve contenere un elemento numero, un elemento istruttore oppure un numero qualsiasi di elementi assistente e un elemento credito o un elemento nocredito,

42 DTD42 Soluzione 2 Lelemento crostata può avere o non avere lelemento gelatina, seguito da zero o più elementi limone, uno o più elementi crema o zucchero, oppure un solo elemento glassa

43 DTD43 Soluzione 3 Lelemento fattoria deve avere almeno un elemento fattore, può avere un numero qualsiasi di elementi facoltativi cane o un elemento facoltativo gatto, un numero qualsiasi di elementi facoltativi maiale, un elemento facoltativo capra o mucca e uno o più elementi gallina oppure un numero qualsiasi di elementi facoltativi oca.


Scaricare ppt "DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation."

Presentazioni simili


Annunci Google