Università di Udine
Tiziana Mancinelli
Ca' Foscari University of Venice
Introduzione alla TEI (Text Encoding Initiative)
Acquisire strumenti per poter gestire dati XML-TEI
Trovare soluzioni per la visualizzazione
Saper interrogare e navigare un documento XML
1. Introduzione
Testualità digitale e fondamenti di editoria digitale. Che cos'è un'edizione scientifica digitale?
2. Tutorial XML/TEI
Strumenti di base e linguaggi dichiarativi XML. Lo standard TEI (Text Encoding Initiative) utilizzato per la realizzazione di un progetto editoriale sul web.
3. Esercitazione pratica: presentazione dell’editor XML/TEI e marcatura di un testo concordato.
A introdurti alla teoria e alla pratica del documento digitale, ovvero:
Each [of the scientific revolutions] produced a consequent shift in the problems available for scientific scrutiny and in the standards by which the profession determined what should count as an admissible problem or as a legitimate problem-solution Kuhn 1962
paradigms [...] I take to be universally recognized scientific achievements that for a time provide model problems and solutions to a community of practitioners
Un'edizione su Google Books book può essere un'edizione digitale di interesse di un critico letterario, di uno studioso di filologia e letteratura?
Digital editions already at first glance display additional, specific, characteristic aspects. Some of them can be gained by transforming printed editions into electronic texts and digital publications.
Here we may talk about accessibility, searchability, usability and computability.
La “filologia materiale” degli anni ‘30: Pasquali, De Benedetti, Contini Scrittura come “processo” e testo come “sistema”
Contini: l’opera come “perenne approssimazione al valore” (1974)
… è utile ribadire che […] la natura del testo è condizionata dai modi della sua produzione e riproduzione, che insomma il testo non è una realtà fisica ma un concetto limite.” (Segre, 1981)
La conservazione digitale non è un semplice processo di conservazione degli oggetti fisici, ma un processo di conservazione della capacità di riprodurre gli oggetti… [di fatto] non si può provare di aver conservato un oggetto fintanto che che non venga ricostruito in una forma che ne permetta l’uso da parte di esseri umani o di programmi di elaborazione automatica”. (Thibodeau 2002)
Essa è “rappresentazione” e non mera trascrizione del parlato, ne fornisce cioè un modello concettuale. In modo simile, il passaggio dall’analogico al digitale descrive un processo di rappresentazione
Anche nella codifica di un testo è necessario esprimere un modello concettuale, ovvero astratto, di quel testo
“La scrittura è metalinguistica” (Olson 1997)
The existence of the paradigm sets the problem to be solved; often the paradigm theory is implicated directly in the design of apparatus able to solve the problem.
Digital scholarly editions are not just scholarly editions in digital media: digital ≠ digitized
(Sahle 2016)
A digital edition can not be printed without a loss of information and/or functionality
(Sahle 2016/2: 149)
Un’edizione critica è, come ogni atto scientifico, una mera ipotesi di lavoro, la più soddisfacente (ossia economica) che colleghi in sistema i dati” (Contini) .
L’uso del termine ‘dati’ in ambito filologico, per indicare sia i materiali oggetto di studio (fonti primarie e secondarie), sia quelli prodotti dallo studioso, non è così fuori luogo come possa sembrare a prima vista in ambito digitale, e non fa altro che confermare ulteriormente la natura di sistema informativo dell’edizione critica
Giorgio Inglese scrive “si può ben dire che ogni testo ponga un proprio problema più e meno complesso – di accertamento filologico e di presentazione al lettore. Un’edizione critica è appunto il tentativo di risolvere questo problema”
Testo comunemente detto
NORME: Grammatica, retorica, etc
Rappresentazione digitale del testo. NORME: grammatica rispetto la sintassi del codice
Testo di output che un software restituisce. Processo biderezionale e dinamico
Testo profondo che scrive e ci scrive: con esso integiamo e ci viene anche restituito un certo output NORME: si tratta anche di un momento autopoietico
Testo in sé
Testo-codice
Testo processato
Testo che ci scrive
La codifica digitale è una “rappresentazione” e una “traduzione” di un oggetto in/attraverso un altro linguaggio (in questo caso un meta-linguaggio, Lotman 1973)
In entrambi i casi (codifica e traduzione) il circolo ermeneutico per continuare a vivere deve essere periodicamente rinnovato
Lo scopo della codifica
Le informazioni incorporate in un testo sono denominate, dall'inglese, alternativamente "codifica" (encoding), "marcatura" (markup), o, con un brutto calco, "taggatura" (tagging)
Un linguaggio di markup è un linguaggio che consente di descrivere dati tramite dei marcatori (tag). Un esempio molto popolare di linguaggio di markup è l’HTML, che consente di descrivere pagine per il Web. Il linguaggio HTML utilizza un insieme predefinito di tag per descrivere gli elementi di una pagina Web (es.: <head></head>, <body></body>, ecc.).
La codifica informatica di un testo è la rappresentazione di un testo su un supporto digitale in un formato comprensibile da un elaboratore elettronico.
Tale definizione sottende però una serie di questioni teoriche (ma anche pratiche!). Innanzitutto il concetto di rappresentazione del testo (a che livello? da quale punto di vista?), e in secondo luogo il problema della comprensione, vale a dire un sistema di comunicazione condiviso dall'uomo e dalla macchina.
Elena Pierazzo, La codifica dei testi letterari, Carocci, 2005 (1 Capitolo)
In ambito letterario la differenza esistente fra il codice dell'Autore e quello del Lettore ha portato Cesare Segre a definire qualsiasi testo un diasistema, cioè il "risultato del compromesso tra il sistema del testo e il sistema del copista"
La codifica di un testo, quindi, può essere definita come una rappresentazione di un testo su un supporto digitale, in funzione di un determinato punto di vista, secondo un codice condiviso in modo sostanziale dall'uomo e dall'elaboratore elettronico cui tale codifica è destinata.
Senza una marcatura semantica o strutturale, si possono effettuare solo ricerche molto semplici sui testi
La codifica gioca un ruolo importante per la rappresentazione e modellizzazione del documento in quanto, ogni volta che un atto di comunicazione ne viene attuato, si opera una selezione e una organizzazione dell'informazione da trasmettere.
Analizzare significa innanzittutto scomporre, selezionare.
La codifica, quindi, è un mezzo per rendere esplicita un'interpretazione del testo (G. Gigliozzi, 1997)
XML-TEI
XML RELATED TECHNOLOGIES
XML-SCHEMA
XPATH
XQUERY
XSLT
Quali sono i linguaggi di programmazione che possiamo utilizzare?
Perché ci sono gli standard e a cosa servono?
Cosa fare dopo aver codificato un testo?
http://www.tei-c.org/index.xml
schema
Database
XML
Ebooks
Json
HTML
Linked
data
TEI
Modello
teorico
astratto
Processo di
codifica
Risorse
digitali
Analisi
del testo
La TEI - Text Encoding Initiative - è un consorzio di istituzioni internazionali, di ambito linguistico e letterario, con l'obiettivo di sviluppare standard per la codifica di testi umanistici e per promuovere e sostenere il loro uso per progetti istituzionali o di singoli individui.
Nel sito della TEI possiamo trovare:
- Linee guida della TEI
- una serie di tool per la creazione di documenti TEI e stylesheets per la trasformazione in differenti formati (e.g. HTML, Word, PDF, Databases, RDF/Linked Data, Slides, ePub, Schemas, etc.)
Xml (Tei) fornisce però esclusivamente norme di tipo sintattico, cioè stabilisce quali sono gli strumenti per fare il markup di un documento ma non dà alcuna indicazione sui nomi da usare per assegnare a una porzione del documento una certa interpretazione. Per far fronte a questo esistono gli schemi, ossia, un vocabolario di marcatura per l'Xml (Francesca Tomasi, Rappresentare e conservare in L'umanista digitale)
Sono linguaggi scritti in XML e sono Document Type Definition (DTD) , XML Schema e RELAX NG.
Strumenti della TEI - Roma
Riassumendo:
I sistemi di codifica permette lo scambio di informazioni attraverso la rappresentazione delle informazioni testuali.
La codifica è un'attività scientifica e di ricerca, ma a sua volta può supportare la ricerca.
Rendono esplicito alla macchina cosa è implicito per la persona.
La definizione del markup e il processo di codifica è uno degli aspetti che caratterizza la nuova forma di editore.
La scelta del markup non è neutra ed è frutto di interpretazione permessa soltanto da un'analisi e conoscenza del testo.
Text
Riassumendo:
Lo SCHEMA permette la definizione della grammatica del linguaggio definendo i tag scelti per il modello di testo scelto.
consentono la definizione di regole di validità per un documento XML.
Apriamo un nuovo file da Oxygen e impariamo a leggere le prime righe.
Dichiarazione XML:
<?xml version="1.0" encoding="UTF-8"?>
Istruzioni di processo:
<?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<xsl:stylesheet version='1.0'
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
XPath è un linguaggio tramite il quale è possibile scrivere delle espressioni per indirizzare parti di un documento XML.
- permette di indicare i nodi in base alla loro posizione relativa o assoluta.
- È un linguaggio ideato per operare all’interno di altre tecnologie XML, quali XSLT.
- È un linguaggio W3C Standard
- XQuery e XSLT utilizzano componenti XPath per cercare corrispondenze con particolari elementi del documento.
Text
body
div type="poem"
div type="poem"
head
head
lg type="stanza"
lg type="stanza"
lg type="stanza"
lg type="stanza"
l n="1"
l n="1"
l n="2"
l n="3"
l n="2"
Un documento XML è un albero costituito da nodi. Alcuni nodi contengono altri nodi.
XPath attraverso una path expression serve ad individuare nodi o insieme di nodi XML, partendo dal nodo corrente - percorso "relativo" - o possono essere impiegati percorsi "assoluti" che utilizzano come riferimento la radice del documento.
Gli elementi sono separati dal carattere '/'.
Esempio: /A/B/C
Text
/body/div/head /body/div/lg Body/div/@type /body/div/lg/l[@n='2'] //l[@n>5
Funzioni, es.: count()
L'eXtensible Stylesheet Language (XSL) è un insieme di tre linguaggi che forniscono gli strumenti per l'elaborazione e la presentazione di documenti XML in maniera molto flessibile.
un meccanismo per l'individuazione dei dati da presentare
un meccanismo per il controllo dell'elaborazione dei dati e di come la presentazione deve essere effettuata
un meccanismo per la definizione della formattazione da applicare ai dati per la presentazione vera e propria
XQuery, una abbreviazione per XML Query Language, è un linguaggio di programmazione specificato dal W3C e destinato ad interrogare documenti e basi di dati XML.
XQuery usa la sintassi delle espressioni di XPath per la selezione di specifiche porzioni di documenti XML, con l'aggiunta delle cosiddette espressioni FLWOR per la formulazione di query complesse. XQuery è risultato come un derivato delle linguaggi XQL, XML-QL e Quilt.
XQuery è un linguaggio di programmazione funzionale, dichiarativo, a tipizzazione statica e Turing-completo. Oltre alle espressioni XPath, esiste un gran numero di caratteristiche interessanti del linguaggio: