1 / 20

Documenti XML ben formati

Documenti XML ben formati. Altre componenti di un documento XML – Struttura dei documenti XML. Sezioni condizionali IGNORE/INCLUDE. A volte può essere utile marcare porzioni di DTD in modo da processarle solo in determinate circostanze

kylar
Download Presentation

Documenti XML ben formati

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. Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML

  2. Sezioni condizionali IGNORE/INCLUDE • A volte può essere utile marcare porzioni di DTD in modo da processarle solo in determinate circostanze • Nel caso di DTD molto complesse può essere utile limitare la possibilità di modificare la DTD da parte dei singoli utilizzatori

  3. Sintassi • Simili alle sezioni CDATA <![CDATA[…]]>: <![IGNORE[…]]> <![INCLUDE[…]]>

  4. Esempio Poesie con solo stanze: <![INCLUDE[ <!ELEMENT poesia (stanza+)> <!ELEMENT stanza (verso+)> ]]>

  5. Per rendere inattiva la regola: <![IGNORE[ <!ELEMENT poesia (stanza+)> <!ELEMENT stanza (verso+)> ]]>

  6. Istruzioni di elaborazione (processing instruction) • Iniziano con <? e finiscono con ?> • Es: fogli di stile <?xml-stylsheet type="text/css" href="mycss.css"?>

  7. Namespace Serve per inserire una parte di una DTD o di uno schema quando se ne sta usando un altro • Si dichiara nel documento XML grazie a un attributo standard xmlns:[prefisso_namespace]

  8. Esempio: analisi grammaticale del sonetto • Supposizione: esiste già una DTD grammaticale • Ipotesi uno: combinare le due DTD • Problema 1: complessità delle DTD • Problema 2: elementi con stesso nome ma significato diverso • Ipotesi due: namespace

  9. Esempio: analisi grammaticale <verso xmlns:gram="http://www.gram.org"> <gram:pronome>Voi</gram:pronome> <gram:pronome>ch'</gram:pronome> <gram:verbo>ascoltate</gram:verbo> <gram:preposizione>in</gram:preposizione> <gram:sostantivo>rime</gram:sostantivo> <gram:aggettivo>sparse</gram:aggettivo> <gram:articolo>il</gram:articolo> <gram:sostantivo>suono</gram:sostantivo> </verso>

  10. Struttura dei documenti XML • Prologo • Istanza di documento (il documento vero e proprio)

  11. Prologo Può contenere: • Dichiarazione XML • Istruzioni di elaborazione • Doctype Declaration • Document Type Definition (DTD)

  12. Esempio di dichiarazione XML <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>

  13. Dichiarazione XML • Ha la forma di un’istruzione di elaborazione • Ha tre attributi: • version. Corrisponde alla versione XML correntemente in uso (al momento 1.0). L’attributo è obbligatorio. • encoding. Corrisponde alla codifica di linguaggio usato per il documento. Il tipo predefinito è UTF-8, ma si possono usare altri set di caratteri. L’attributo è opzionale • standalone. Impostare l’attributo a “yes” se il documento non fa riferimento ad altre entità esterne; in caso contrario, usare “no”. L’attributo è opzionale

  14. Istruzioni di elaborazione Es: <?xml-stylsheet type="text/css" href="mycss.css"?>

  15. DocType Declaration (DTD ?) ≠ Document Type Definition (DTD) • DocType Declaration: KEYWORD DOCTYPE + elemento root + definizioni (DTD) • Definizioni interne o • Definizioni esterne SYSTEM o PUBLIC • Document Type Definition (DTD): • Una lista di definizioni per elementi, attributi, entità, notations

  16. DTD interne e esterne e miste.1. DTD interna <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE antologia [ <!ELEMENT antologia (poesia+) > <!ELEMENT poesia (titolo?, stanza+)> <!ELEMENT stanza (verso+)> <!ELEMENT verso (#PCDATA)> ]> <antologia> <poesia><titolo>I</titolo> <stanza> <verso>Voi ch'ascoltate in rime sparse il suono</verso> <verso>di quei sospiri ond'io nudriva 'l core</verso> <verso>in sul mio primo giovenile errore</verso> <verso>quand'era in parte altr'uom da quel ch'i' sono,</verso> </stanza> <!-- altre stanze --> </poesia> </antologia>

  17. 2. DTD esterna <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE antologia SYSTEM "antologia.dtd" []> <antologia> <poesia><titolo>I</titolo> <stanza> <verso>Voi ch'ascoltate in rime sparse il suono</verso> <verso>di quei sospiri ond'io nudriva 'l core</verso> <verso>in sul mio primo giovenile errore</verso> <verso>quand'era in parte altr'uom da quel ch'i' sono,</verso> </stanza> <!-- altre stanze --> </poesia> </antologia>

  18. 3. DTD mista <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE antologia SYSTEM "antologia.dtd" [ <!ENTITY SecondaPoesia SYSTEM "poesia2.xml"> <!ENTITY %stanza; "INCLUDE"> ]> <antologia> <poesia><titolo>I</titolo> <stanza> <verso>Voi ch'ascoltate in rime sparse il suono</verso> <verso>di quei sospiri ond'io nudriva 'l core</verso> <verso>in sul mio primo giovenile errore</verso> <verso>quand'era in parte altr'uom da quel ch'i' sono,</verso> </stanza> <!-- altre stanze --> </poesia> &SecondaPoesia; </antologia>

  19. DTD pubblica <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE TEI.2 PUBLIC "-//TEI//DTD TEI Lite XML ver. 1//EN" "/tei-emacs/xml/dtds/tei/teixlite.dtd"> <TEI.2> <teiHeader> <!-- metadati --> </teiHeader> <text> <front> <!-- il materiale prefatorio va qui --> </front> <body> <!-- il corpo del testo va qui --> </body> <back> <!-- il materiale finale va qui --> </back> </text> </TEI.2>

  20. FPI: Formal Public Identifier "-//TEI//DTD TEI Lite XML ver. 1//EN" • Standard formale • DTD personalizzate – • Standard formale + • Nome di chi fa la manutenzione della DTD • Descrive il tipo di DTD • Lingua della DTD

More Related