Documenti XML ben formati Entità– Sezioni condizionali
Dichiarazione di entità Codificare parti di documenti che non hanno specifiche funzioni strutturali Modularizzare la DTD Usare caratteri accentati Spezzare documenti troppo grossi Inserire file non XML (es. immagini) all’interno di un documento XML
Tipi di entità Entità generali si dichiarano nella DTD e si usano nei documenti Entità interne Entità esterne Referenze a entità e entità carattere Entità parametriche si dichiarano nella DTD e si usano nella DTD
Dichiarazione di entità generali Entità interne Entità esterne
Esempio entità interna Nella DTD Nel file &tei;
Esempio entità esterna Nella DTD Nel file &capitolo2; Esercizio 8
Referenze a carattere Problema: portabilità dei caratteri “speciali” (caratteri accentati, alfabeti non latini) Codice Unicode!
Referenze a carattere: sintassi Nel file XML &#[codice decimale Unicode]; &#x[codice esadecimale Unicode]; Esempio uso Tabella e Unicode EstesoTabellaUnicode Esteso è = è è = è
Entità carattere Nella DTD Nel file XML è Esercizio 9
Entità parametriche ≠ entità generali Possono essere usate solo all’interno della DTD Sono delimitate da un segno di percento e da un punto e virgola: %entitaParametrica;
Entità parametriche Servono per modularizzare la DTD, per esempio per dichiarare lo stesso content model o la stessa lista di attributi per più elementi.
Dichiarazione entità parametriche
Esempio Dichiariamo la stessa lista di attributi per più di un elemento <!ENTITY % a.global “id ID #REQUIRED n CDATA #IMPLIED”>
<!ATTLIST elemento1 %a.global;> <!ATTLIST elemento2 %a.global;> Esercizio 10 Esercizio 11 (a casa)
Entità (esterne) non parsate Le entità possono contenere anche riferimenti a file non testuali: immagini, video, suoni. Le entità normalmente vengono parsate.
Dichiarazioni di entità non parsate NDATA: non parsata GIF: notation
NOTATION Dichiarazione di notation secondo i tipi MIME (Multipurpose Internet Mail Extention) Es: image/gif, image/jpg disponibili su internet internet
Notation standardizzate La TEI fornisce una serie di notazioni standardizzate grazie a identificatori pubblici definite nelle GuidelinesGuidelines Es:
Usare le immagini nei documenti XML <!ATTLIST figura file ENTITY #REQUIRED> Esercizio 12
Altra possibilità: NOTATION come attributo <!ATTLIST figura file ENTITY #REQUIRED tipo NOTATION (GIF) #REQUIRED > Esercizio 13
Inserire un immagine, passi da compiere A. Nella DTD 1. Dichiarare una NOTATION (una per ciascun tipo di immagine) 2. Dichiarare una entità non parsata per ciascun file che contiene immagini 3. Dichiarare un elemento (uno solo per tutte le immagini) con almeno un attributo di tipo ENTITY 4. Inserire l’elemento in qualche Content Model per renderlo usabile B. Nel file XML 1. Usare l’elemento per l’immagine solo dove è consentito dalla DTD 2. Il valore dell’attributo sarà il nome dell’entità