É un metalinguaggio di markup, cioè un linguaggio che permette di definire “altri linguaggi” a seconda della sua applicazione.
è uno standard ufficiale sviluppato dal W3C (World Wide Web Consortium) nel 1999: deriva da SGML quale suo sottoinsieme semplificato, ma ad oggi lo sostituisce. (http://www.w3.org/XML)
Nasce con l’obiettivo di rappresentare documenti (e.g. un testo letterario) e/o dati strutturati (e.g. i riferimenti bibliografici) su supporto digitale.
Un testo marcato in sintassi XML è detto documento XML: contiene sia il testo che i tag (anch’essi testo) utilizzati per descrivere le informazioni insite nel testo;
è “leggibile” dall’utente senza l’utilizzo di software specifici (i.e. con qualsiasi editor di testo). É infatti indipendente da qualsiasi software e hardware.
Un linguaggio di programmazione normalmente impone una terminologia per esprimere concetti e istruzioni.
XML - che non è un linguaggio di programmazione - dice solo come esprimere formalmente i concetti tramite una sintassi vincolante, ma la semantica degli elementi è decisa dall’utente!
A differenza di HTML, XML non ha tag predefiniti e non serve per definire pagine Web:
Con XML possiamo preservare le informazioni dall’obsolescenza digitale, che caratterizza software e hardware, e porci in un secondo momento il problema
della sua visualizzazione.
Prima della codifica di un qualsiasi documento è necessario studiarne la natura, le caratteristiche e le possibili funzionalità
In questa fase perciò scegliamo non solo come ma che cosa vogliamo rappresentare/codificare
Dal punto di vista della codifica informatica, questo processo analitico coincide con la creazione di un modello del documento fonte
Un’applicazione XML si basa su un determinato tipo di documento
Un tipo di documento descrive le caratteristiche di una classe di documenti strutturalmente omogenei
Il tipo di documento è il fondamento della sintassi e della semantica di una applicazione XML
I nomi di elementi, attributi e entità sono sensibili alla differenza tra maiuscolo e minuscolo
Il mark-up è separato dal contenuto testuale mediante caratteri speciali:
< > &
Tali caratteri speciali non possono comparire come contenuto testuale e devono essere eventualmente sostituiti mediante i riferimenti a entità
< > &
Gli elementi da inserire sono:
La semantica XML in quanto metalinguaggio, non da alcuna indicazione formale sulla semantica dei suoi elementi (quali elementi, il loro nome e il loro impiego): fornisce solo regole sintattiche per esprimerla.
É un metodo per dire qualcosa su un testo, ma da solo non dice - e non fa - nulla.
Per dire qualcosa che sia comprensibile e interscambiabile tra più utenti (interoperabilità semantica) deve dotarsi di un modello.
La semantica è infatti delegata ad un documento esterno che funge da vocabolario, una DTD o uno Schema XML, in cui si definiscono: i nomi degli elementi, degli attributi, la loro collocazione nell’albero del documento XML, la ripetibilità, il tipo di dato che possono contenere...
Ovvero, si danno le istruzioni per descrivere i dati.
Le DTD (Document Type Definition) e gli XMLSchema forniscono tutte le specifiche necessarie per la marcatura di una determinata tipologia di informazioni.
Rispetto alle DTD, XMLSchema fornisce istruzioni più dettagliate sulla tipologia di dati che un elemento XML può contenere (una stringa di caratteri, un numero intero, un URL...), perciò in alcuni casi può essere preferibile all’uso di una DTD.
Inoltre, mentre le DTD hanno una loro propria notazione, gli schemi XML sono scritti...in XML.
Le specifiche possono essere dichiarate direttamente all’interno del file XML oppure (più correttamente), in un file esterno.
Le regole di uno Schema XML vengono dichiarate in un file .xsd o altro.
Una DTD viene definita in un file .dtd
I quattro errori comuni
Spesso codificando in XML si può cadere in questi errori:
1. Omettere i tag di chiusura: ogni tag va aperto e chiuso
<p>Oggi c'è il sole (sbagliato)
<p>Oggi c'è il sole</p> (esatto)
I quattro errori comuni
Spesso codificando in XML si può cadere in questi errori:
2. Dimenticare che XML è sensibile alle maiuscole e minuscole:
<PersName>Daniele</persname> (sbagliato)
<PersName>Daniele</PersName> (esatto)
I quattro errori comuni
Spesso codificando in XML si può cadere in questi errori:
3. Inserire gli spazi nel nome dell‘elemento:
<Pers Name> (sbagliato)
<PersName> (esatto)
I quattro errori comuni
Spesso codificando in XML si può cadere in questi errori:
4. Dimenticare le virgolette per i valori degli attributi:
<note place=foot> (sbagliato)
<note place="foot"> (esatto)</note>
TEI è un progetto internazionale che ha visto coinvolte le maggiori organizzazioni internazionali dedicate all'Informatica Umanistica
Tutti i testi conformi alla TEI contengono:
una testata TEI <teiHeader>, da considerarsi il frontespizio del documento elettronico;
una trascrizione del testo vero e proprio marcata con l'elemento <text>.
XML /TEI
Output
Pagine HTML
Epub
Linguaggi di trasformazione
2. XML /TEI
Output
Pagine HTML
Epub
Linguaggi di trasformazione
1. SCHEMA
3. xslt
output
TEI
TeiHeader
Text
Tutti i testi conformi alla TEI contengono:
una testata TEI <teiHeader>, da considerarsi il frontespizio del documento elettronico;
una trascrizione del testo vero e proprio marcata con l'elemento <text>.
Come già detto ogni testo unitario deve iniziare con l'elemento obbligatorio <text>. Esso è composto a sua volta da tre elementi di livello inferiore:
<front>: contiene tutti i materiali di tipo avantestuale, che introducono il testo nelle edizioni a stampa, dalla pagina del titolo, al frontespizio, ad introduzioni, dediche, prefazioni, etc.;
<body>: contiene il testo vero e proprio, il suo corpo;
<back>: contiene tutti i materiali peritestuali che possono essere rinvenuti nelle pagine finali di un testo stampato, postfazioni, glossari, indici, etc.
<text>
<front>
[materiali peritestuali iniziali]
</front>
<body>
[testo]
</body>
<text>
L’intestazione elettronica TEI contiene informazioni analoghe a quelle contenute nel titolo della pagina di un testo stampato:
documentazione della responsabilità editoriale, dati bibliografici, metodologie adottate per la codifica, etc…
Una corretta documentazione del testo elettronico dovrebbe prevedere le seguenti informazioni:
individuazione del testo elettronico attraverso le sue determinazioni bibliografiche: titolo, autore, luogo e data di edizione, ecc.;
certificazione della responsabilità del testo, anche quando la codifica ha avuto diversi responsabili;
indicazione della fonte;
documentazione accurata delle metodologie di rappresentazione dei vari fenomeni testuali, delle scelte teoriche che permettano di interpretare correttamente i simboli usati nella codifica del testo, delle eventuali modifiche o correzioni introdotte rispetto alla fonte.
Esiste un (e uno solo) elemento, detto elemento radice (corrispondente al nodo radice dell’albero), che non è contenuto da nessun altro e che contiene direttamente o indirettamente tutti gli altri
Ogni elemento, escluso l’elemento radice, deve essere contenuto da un solo elemento (elemento padre) e può contenere altri sotto-elementi (elementi figli) e/o stringhe di caratteri
Esiste un sottoinsieme di elementi che non contengono altri elementi e che possono essere vuoti contenere esclusivamente stringhe di caratteri
Un documento XML deve essere ben formato
SCHEMA XML
Documento XML