Codifica elettronica dei testi letterari ed e-book:
la marcatura XML TEI ed il trattamento informatico del romanzo Baltico di Matteo Collura
Ogni documento TEI è sostanzialmente diviso in due parti dai figli dell'elemento radice <TEI.2>, <teiHeader> e <text>; dopo aver parlato del TEI text contenente la trascrizione codificata del testo vero e proprio, ci accingiamo ad illustrare la testata TEI la quale raccoglie tutte le informazioni per la descrizione bibliografica del testo elettronico e della fonte materiale di riferimento.
Il <teiHeader> ospita le informazioni necessarie alla documentazione del testo elettronico: i metadati. Il lettore forse ricorderà la metaforica definizione di metadati come "bit che parlano di altri bit" ovvero "dati su altri dati", da noi data nelle pagine precedenti; mediante i metadati del <teiHeader> si risponde a vari ordini di esigenze: la documentazione bibliografica del testo digitale e della sua fonte materiale, la preservazione nel tempo del materiale codificato, l'integrazione in corpora documentali e la catalogazione ed indicizzazione del testo, la certificazione della originalità, del grado di precisione e della provenienza del documento digitale.
Il <teiHeader> è diviso in quattro sezioni dai suoi elementi figli:
Gli elementi della testata TEI presentano una, per così dire, desinenza indicativa della loro funzione generale; i marcatori i cui nomi finiscono in Desc (per description), come quelli appena incontrati, hanno natura descrittiva, invece gli elementi i cui nomi si concludono in Stmt (per statement) contengono in genere un gruppo di tag che marcano informazioni strutturate, mentre gli elementi i cui nomi terminano in Decl (per declaration) includono informazioni sulle pratiche di codifica specifiche messe in atto nel documento.
Il primo elemento ed unico obbligatorio della testata TEI è <fileDesc>. Questo marcatore racchiude informazioni analoghe a quelle contenute nel frontespizio di un testo a stampa e può essere, per certi versi, considerato una sorta di frontespizio elettronico del documento digitale. <fileDesc> si articola in una serie di sette elementi figli, che forniscono una descrizione bibliografica completa del file e della sua fonte: <titleStmt>, <editionStmt>, <extent>, <publicationStmt>, <seriesStmt>, <notesStmt>, <sourceDesc>; di questi sotto-elementi solo tre sono obbligatori: <titleStmt>, <publicationStmt> e <sourceDesc>.
Il primo elemento <titleStmt> contiene il titolo del documento elettronico. Mostriamo di seguito come si è proceduto per questo elemento nella codifica di Baltico:
<teiHeader>
<fileDesc>
<titleStmt>
<title>Baltico. Un'epopea siciliana: edizione elettronica</title>
<author><name type="forename">Matteo</name> <name type="surname">Collura</name></author>
<respStmt>
<resp>Digitalizzazione e codifica elettronica a cura di</resp>
<name>Salvatore Salzillo</name>
<resp>Supervisione</resp>
<name>Prof. Lucrezia Lorenzini</name>
</respStmt>
</titleStmt>
All'interno dell'elemento come si può vedere le informazioni vengono strutturate mediante un gruppo di ulteriori tag. Il marcatore <title> riporta il titolo dell'opera; è prassi comune nella denominazione dei documenti TEI, nel caso siano la trascrizione digitale di preesistenti fonti materiali (testi a stampa, manoscritti etc.), riportare il titolo del testo fonte accompagnato dall'indicazione: edizione elettronica ovvero versione elettronica. Non è ad oggi ancora ben chiaro quando sia opportuno parlare di versione e quando di edizione elettronica di un testo digitale, nella pratica i due termini vengono sostanzialmente usati come sinonimi, forse con un po' di presunzione, abbiamo preferito optare per la prima dizione.
Il tag <author> racchiude il nome dell'autore dell'opera, si sarà notato che abbiamo distinto mediante il tag <name> il cognome dell'autore dal nome di battesimo. I metadati della testata TEI rivestono una notevole importanza nell'indicizzazione bibliografica dei testi digitali, in particolare il cognome dell'autore costituisce spesso una chiave d'accesso all'informazione trasmessa dalla fonte, si pensi alle schede catalografiche delle biblioteche, ordinate prima in base al cognome e poi al nome dello scrittore, si comprenderà bene quindi quanto sia importante questa distinzione tra nome e cognome nell'header TEI. Per operare nella marcatura questo distinguo tra cognome e nome siamo dovuti ricorrere, per così dire, ad un espediente; sia il progetto TIL sia GriseldaOnLine[148] adottano nella testata del file il tag <persname>, presente esclusivamente nello schema TEI completo, il quale mediante i due elementi figli <surname> e <forename> consente di distinguere con precisione il nome dal cognome; non essendo questi marcatori presenti nella DTD TEI-Lite abbiamo usato il tag <name>[149], in precedenza già illustrato, sul modello dei suddetti elementi, specificandone il contenuto grazie all'attributo type con valore "surname" per il cognome e "forename" per il nome.
Mediante l'elemento <respStmt>, recitano le guidelines TEI, si fornisce una dichiarazione di responsabilità relativa al responsabile del contenuto intellettuale di un testo, un'edizione, una registrazione, una collana, se gli elementi specifici per autori, curatori etc., non sono sufficienti o non sono adatti. Nella pratica comune questo marcatore viene adoperato principalmente per registrare tutti coloro che hanno contribuito alla redazione dell'opera nella sua versione elettronica. Il ruolo ed il nome dei responsabili dell'edizione elettronica vengono indicati per mezzo della coppia di tag <resp> e <name>, il primo contiene un'espressione che descrive per esteso la natura della responsabilità, il secondo il nome del responsabile. Nella testata di Baltico si sono registrati due nomi, quello di Salvatore Salzillo, che si è occupato della digitalizzazione e codifica del testo, e quello della Prof. Lucrezia Lorenzini, che ha avuto cura di sovrintendere a tutte le attività.
Il secondo elemento figlio di <fileDesc>, <editionStmt> raggruppa le informazioni relative ad una data edizione di un testo, anche questo tag è normalmente usato per la dichiarazione di edizione relativamente all'edizione elettronica di un opera. Tornando al nostro esempio riportiamo di seguito la corrispondente porzione di codice:
<editionStmt>
<edition>Prima edizione elettronica
<date value="22-07-2004">22-07-2004</date>
</edition>
</editionStmt>
Proseguendo nell'analisi della testata TEI incontriamo l'elemento <extent>, il quale è usato per descrivere le dimensioni approssimative di un testo elettronico in un'opportuna unità di misura. Nel nostro caso:
<extent>ca. 372 kb</extent>
abbiamo adottato il kilobyte come unità di misura. La dichiarazione della dimensione approssimativa del file inerisce, per così dire, al supporto "materiale" del testo digitale ed ha il suo corrispettivo nell'indicazione del numero delle pagine di un libro, che tipicamente si trova nelle schede catalografiche delle biblioteche.
L'elemento obbligatorio <publicationStmt> raggruppa tutte le informazioni relative alla pubblicazione e distribuzione del testo in versione elettronica. Riportiamo subito il codice prodotto per il testo di Collura per poi passare di seguito a commentare i singoli marcatori, in cui si articola il contenuto di questo elemento:
<publicationStmt>
<publisher>Universitá degli Studi di Messina, Facoltá di Lettere e Filosofia, Dipartimento di Filologia e Linguistica, Cattedra di Letteratura e Filologia Siciliana</publisher>
<pubPlace>Messina</pubPlace>
<availability status="restricted">
<p>Questo testo è attualmente soggetto a diritto d'autore, la fruizione nella sua interezza è possibile soltanto presso i locali del Dipartimento di Filologia e Linguistica, Cattedra di Letteratura e Filologia Siciliana dell'Universitá degli Studi di Messina o diversamente previo accordo con il titolare dei diritti. La distribuzione di questo file è vietata. Versioni limitate di pochi capitoli di questo testo vengono distribuite liberamente a scopo didattico. Ogni copia del sorgente XML del testo deve essere corredato del file di firma digitale Baltico.xml.sig per mezzo di cui è possibile verificare l'integrità e la provenienza del documento. Il file è firmato con la chiave pubblica del codificatore <name>Salvatore Salzillo</name>. Validità ed autenticità della chiave possono essere verificate, anche telefonicamente, presso la Cattedra di Letteratura e Filologia Siciliana, Dipartimento di Filologia e Linguistica dell'Universitá degli Studi di Messina. Per la firma elettronica si è usato il software PGP.</p>
<p> Di seguito si riporta la chiave pubblica di <name>Salvatore Salzillo</name>:
<![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 8.0.3 - not licensed for commercial use: www.pgp.com
mQGiBD+7TYARBADVS3ZkAx5V015WBTcL79hRm6aylcLLmlkZ7DFs9/h
C9F0FrVwCCn47N7BJ2cyCod7TUIrkT/7tXmJ1PlVrzRKa9LHsi8yZHKP
LjNQSB9IkiBl776ZW
[. . .]
XzUYITwgY/zuCV1ECLXiix9GTQCgpVYcNQmjlm28LscTLoon3BGHqXc=
=NaBh
-----END PGP PUBLIC KEY BLOCK-----
]]></p>
</availability>
<date value="xx-07-2004">07-2004</date>
</publicationStmt>
Come si può notare il contenuto di <publicationStmt> si sviluppa in una serie di sotto elementi, che identificano precisamente le diverse informazioni; il primo di questi è <publisher>, come si evince anche dal nome, scopo di questo tag è marcare il nome del soggetto, persona od organizzazione, responsabile della pubblicazione del testo elettronico; nel nostro caso responsabile della pubblicazione è la Cattedra di Filologia e Letteratura Siciliana dell'Università degli Studi di Messina, di cui è titolare la Prof. Lucrezia Lorenzini, responsabile e promotrice del progetto DigiSic.
Il tag <pubPlace> contiene il luogo dell'edizione elettronica del documento.
Il successivo marcatore <availability> racchiude tutte le informazioni sulla disponibilità del testo. Il romanzo di Matteo Collura, edito nel 1988, è ancora soggetto al diritto d'autore, pertanto una sua distribuzione libera non è possibile, tutte le limitazioni e le possibilità di fruizione elettronica del testo sono illustrate, come si può ben vedere, dentro il tag <availability>. In accordo con il titolare dei diritti si è deciso di consentire la distribuzione per scopi didattici di una versione limitata a pochi capitoli del testo codificato di Baltico.
Un'esigenza della distribuzione dei testi digitali è la certificazione della provenienza e dell'integrità del file. Abbiamo adottato una soluzione, per così dire, "artigianale" per cercare di raggiungere questo obiettivo; servendoci del noto software di crittografia PGP[150], disponibile gratuitamente per uso privato ed accademico, abbiamo corredato di una firma digitale il file XML di Baltico, in modo tale da consentire la verifica dell'integrità e della provenienza del file . Il software PGP si basa sui principi della crittografia asimmetrica di cui abbiamo parlato nei capitoli precedenti, il file Baltico.xml.sig, con cui specifichiamo deve sempre essere corredato il file XML di Baltico, contiene la firma digitale prodotta con la chiave privata del codificatore Salvatore Salzillo e il codice hash del file del testo, in virtù di ciò, se il lettore ricorda quanto già detto nei paragrafi dedicati alla firma digitale, nell'ipotesi in cui il file, cui fa riferimento la firma, dovesse subire una seppur minima modifica, la firma digitale risulterebbe non valida, inoltre essendo la chiave privata usata per la firma elettronica nella disponibilità esclusiva del codificatore, è ovvio che, nel caso in cui la firma coincida con la sua chiave pubblica (la quale è stata inserita anche all'interno del testo codificato) si potrà avere con buon grado di sicurezza certezza della provenienza del testo. La validità della firma digitale, indichiamo in <availability>, può essere accertata anche telefonicamente mediante la verifica del fingerprint. Quando si genera una coppia di chiavi, questa ha un proprio fingerprint[151] ossia una "impronta digitale" che è sempre univoca, sebbene ipoteticamente qualcuno potrebbe sostituire la chiave pubblica del codificatore con la propria, non potrebbe praticamente in alcun modo riprodurne anche il fingerprint, grazie a questo sistema è possibile essere certi della provenienza di una chiave. Il fingerprint della chiave del codificatore Salvatore Salzillo usata per la firma digitale del file è: EF8C 8AF1 0362 6519 7928 369F 82D4 4849 EA1E A688.
L'adozione del sistema di distribuzione contraddistinto dalla firma digitale dei file, non ha come obiettivo la blindatura delle opere, ma quello di rispondere all'esigenza della certificazione della provenienza e dell'integrità dei testi elettronici; è palese che chiunque potrebbe distribuire i file eliminando i riferimenti alla chiave pubblica e la firma digitale, è d'altra parte vero, sebbene un sistema simile in ambito umanistico rappresenti una novità nel panorama italiano, che se divenisse comune e diffusa questa pratica di distribuzione, il lettore sarebbe portato a diffidare dei testi sprovvisti della firma digitale e pertanto il sistema potrebbe estrinsecare tutta la sua potenza ed efficenza. Quella da noi proposta è una soluzione empirica a basso costo, cha fa uso, adattandoli allo scopo, di strumenti nati non con in mente specificamente le esigenze della distribuzione dei testi digitali; riteniamo che la tecnologia della firma digitale possa fornire importanti risposte anche alle nuove realtà della distribuzione informatica dei testi in ambito umanistico e delle biblioteche digitali, sarà pertanto opportuno che il dibattito scientifico dedichi spazio anche a questi argomenti al fine di trovare soluzioni comuni ed adatte alle nuove necessità poste, anche al mondo delle "humanae litterae" dall'evoluzione tecnologica. Per conto nostro umilmente poniamo sul tavolo delle proposte questo semplice progetto di distribuzione, che abbiamo appena descritto, basato su un software gratuito[152] estremamente comune e diffuso (PGP).
Proseguendo nell'analisi incontriamo il marcatore <date>, con cui si conclude il nostro <publicationStmt>, il quale contiene la data di pubblicazione del documento elettronico.
Immediatamente dopo <publicationStmt> la DTD TEI prevede due elementi facoltativi
<seriesStmt> e <notesStmt>, i quali servono a registrare informazioni sull'eventuale collana elettronica cui appartiene una pubblicazione e ad inserire eventuali note; nel nostro lavoro non abbiamo avuto la necessità di adoperare questi elementi.
Chiude il <fileDesc> l'elemento obbligatorio <sourceDesc>; questo marcatore contiene una descrizione dettagliata della fonte o delle fonti materiali impiegate per realizzare la versione elettronica.
Riportiamo di seguito il codice realizzato per Baltico:
<sourceDesc>
<biblFull>
<titleStmt>
<title type="main">Baltico</title>
<title type="sub">Un epopea siciliana</title>
<author>Matteo Collura</author>
</titleStmt>
<editionStmt>
<edition>prima edizione</edition>
</editionStmt>
<extent>219 p. 21 cm.</extent>
<publicationStmt>
<publisher>Luigi Reverdito Editore</publisher>
<pubPlace>Trento</pubPlace>
<date value="xx-05-1988">1988</date>
<idno type="ISBN">88-342-0229-5</idno>
</publicationStmt>
<seriesStmt>
<title>Biblioteca</title>
</seriesStmt>
</biblFull>
</sourceDesc>
come si può vedere il riferimento bibliografico al testo fonte è organizzato mediante una descrizione articolata in elementi gerarchicamente ordinati racchiusi dentro il marcatore <biblFull>[153], la cui struttura ricalca quella della prima parte della testata TEI; avendo già incontrato in quella sede buona parte dei tag qui presenti ci limitiamo adesso ad illustrare soltanto la funzione di quelli non ancora visti o adottati diversamente. All'interno di <titleStmt> i due elementi <title> caratterizzati dall'attributo type con valore main e sub, distinguono il titolo dal sottotitolo. Il tag <extent>, facendo in questo caso riferimento ad un testo cartaceo, fornisce, sul modello delle schede catalografiche tradizionali, una descrizione fisica dell'opera originale: dimensioni in centimetri e numero delle pagine. <idno> contiene un numero, standardizzato o meno, usato per identificare un'unità bibliografica, in questo caso il codice ISBN del libro fonte; l'attributo type specifica lo schema o lo standard cui l'elemento fa riferimento.
Il tag <seriesStmt>, con cui si conclude la descrizione bibliografica della fonte, racchiude il titolo della collana di appartenenza dell'opera originale.
Dopo l'elemento <fileDesc> la testata TEI prevede l'elemento <encodingDesc>, il cui fine è la descrizione delle metodologie e dei principi editoriali impiegati nella trascrizione e codifica del testo. Sebbene l'elemento sia facoltativo il suo uso è fortemente consigliato in quanto illustrando i principi e i metodi che hanno sovrinteso alla trascrizione e codifica elettronica del testo, che come abbiamo visto spesso dipendono notevolmente dalle scelte e dall'arbitrio del codificatore, favorisce l'interoperabilità e consente di interpretare le prassi adottate nella codifica anche a soggetti lontani nel tempo e nello spazio.
Riportiamo di seguito il codice dell'<encodingDesc> da noi prodotto per la testata della versione elettronica di Baltico:
<encodingDesc>
<projectDesc>
<p>Questo testo è stato digitalizzato e codificato per la Tesi di laurea: "Codifica elettronica dei testi letterari ed e-book: la marcatura XML - TEI ed il trattamento informatico del romanzo Baltico di Matteo Collura", al fine di fornire un'esemplificazione
di testo letterario sottoposto a codifica elettronica</p>
</projectDesc>
<editorialDecl>
<p>Il testo elettronico è stato corretto e riportato al testo cartaceo dell'edizione di riferimento. Tutti i simboli di segnalazione del discorso diretto e di citazione sono stati convertiti sotto forma di entità numeriche XML. Tutti i trattini di rimando a capo sono stati eliminati.
I valori standard delle date sono forniti in formato GG-MM-AAA.
</p>
</editorialDecl>
<refsDecl>
<p>L'attributo ID di ogni DIV1 contiene il riferimento canonico per ogni divisione nella forma XX.YY dove XX è il numero della parte in numeri romani e YY indica il capitolo in numeri arabi, mentre l'attributo N indica soltanto il numero del capitolo all'interno della parte in cui compare. L'attributo N di ogni div0 specifica il numero della parte.
I salti di pagina sono codificati mediante elementi PB accompagnati da un attributo n il cui valore corrisponde al numero della pagina nel testo cartaceo di riferimento.</p>
</refsDecl>
<classDecl>
<taxonomy id="CDD">
<bibl>Classificazione Decimale Dewey</bibl>
</taxonomy>
</classDecl>
</encodingDesc>
La descrizione della codifica si apre con l'esposizione dettagliata, racchiusa dentro il tag <projectDesc>, del fine e dello scopo per cui il testo elettronico è stato codificato.
La spiegazione dei principi e delle pratiche editoriali seguite nella codifica del testo è contenuta invece dentro il marcatore <editorialDecl>; il manuale TEI indica che gli argomenti[154] su cui dovrebbe vertere la dichiarazione editoriale sono: le modalità di correzione del testo, il livello di regolarizzazione apportata rispetto alla fonte, il trattamento riservato alle virgolette dell'originale, il trattamento dedicato alla sillabazione di fine riga presente nell'originale, quali eventuali informazioni analitiche o interpretative sono state aggiunte al testo.
L'elemento <refsDecl> viene usato per documentare il funzionamento di ogni schema di riferimento standard introdotto nella codifica; nel nostro caso <refsDecl> mediante una breve descrizione in prosa illustra il sistema di strutturazione dei blocchi <div#> adottato nella ripartizione del testo; spiega inoltre il metodo di numerazione dei salti pagina e la loro relazione con l'originale cartaceo.
L'ultimo[155] elemento contenuto nel nostro <encodingDesc> è <classDecl> il quale raccoglie le definizioni o le fonti di ogni schema di classificazione descrittiva usata in altre parti della testata. In particolare <taxonomy> serve a specificare la tipologia usata per la classificazione del testo, sia implicitamente, mediante una citazione bibliografica, sia esplicitamente, con una tassonomia strutturata; l'attributo id fornisce un identificatore univoco all'elemento mediante il quale, come vedremo nel prosieguo della trattazione, si permette ad altri elementi di far riferimento al sistema di classificazione definito in <taxonomy>.
L'elemento <profileDesc>, che nell'header TEI compare subito dopo <encodingDesc>, ha il compito di registrare una serie di informazioni non-bibliografiche che caratterizzano, sotto vari aspetti descrittivi, un testo. Esso dispone di tre componenti opzionali: <creation> contenente informazioni relative alla creazione di un testo, <langUsage>, il quale descrive le lingue e i dialetti presenti all'interno di un testo, <textClass> che racchiude informazioni inerenti la natura o gli argomenti di un documento, nei termini di uno schema di classificazione standard.
Si riporta il codice:
<profileDesc>
<creation>
<date value="xx-xx-1988">1988</date>
</creation>
<langUsage>
<language id="IT">Italiano</language>
</langUsage>
<textClass>
<keywords scheme="CDD">
<term>NARRATIVA ITALIANA. 1945 - 1999</term>
</keywords>
<classCode scheme="CDD">853.914</classCode>
</textClass>
</profileDesc>
Il primo elemento, non essendovi nel nostro caso nulla di particolare da annotare, si limita a riportare, secondo una prassi consolidata in tutti i progetti di codifica italiani, l'anno di redazione del testo originale. Molto semplice è anche il contenuto del secondo elemento <langUsage> che non va oltre la dichiarazione dell'unico linguaggio presente nel testo, l'italiano. Il valore dell'attributo id del marcatore <language>, dato dal codice a due lettere identificativo del linguaggio secondo lo standard ISO 639, fornisce un identificatore univoco alla dichiarazione di linguaggio cui si può far riferimento in qualsiasi elemento mediante l'attributo globale lang per specificare la lingua del testo contenuto nell'elemento.
L'ultimo elemento <textClass> classifica il testo sulla base della tassonomia definita nell'elemento <classDecl>, cui fa esplicitamente riferimento mediante l'attributo scheme dei suoi sotto-componenti <keywords> e <classCode>. La nostra scelta è caduta sulla Classificazione Decimale Dewey, sulla scorta di quanto fatto già da GriseldaOnLine[156], in quanto questo sistema di catalogazione gode di buona fortuna in Italia; dal 1958, infatti, la Bibliografia Nazionale Italiana adotta la CDD per ordinare le schede che, all'interno dei fascicoli mensili, descrivono le pubblicazioni; inoltre anche il Sistema Bibliotecario Nazionale adopera lo schema, ed appunto dal portale web[157] dell'organizzazione abbiamo ricavato le informazioni che abbiamo inserito nei due tag <keywords> e <classCode>. Il primo contiene una lista di parole chiave o di espressioni, che identificano il tema o la natura del documento, in questo caso la classificazione CDD per esteso, il secondo marcatore invece racchiude il codice di catalogazione CDD.
L'ultimo elemento del <teiHeader> <revisionDesc> ha lo scopo di fornire informazioni relative alla storia delle modifiche e delle revisioni che il documento elettronico ha subito, ne riportiamo il codice:
<revisionDesc>
<change>
<date value="xx-xx-2003">2003</date>
<respStmt>
<resp>Digitalizzazione e correzione</resp>
<name>Salvatore Salzillo</name>
</respStmt>
<item>digitalizzazione e correzione del testo in base alla edizione di riferimento
<bibl>
<author>Matteo Collura</author>
<title>Baltico : un'epopea siciliana</title>
<publisher>Luigi Reverdito Editore</publisher>
<date>1988</date>
</bibl>
</item>
</change>
<change>
<date value="xx-xx-2003">2003</date>
<respStmt>
<resp>Codifica e revisione</resp>
<name>Salvatore Salzillo</name>
</respStmt>
<item>codifica XML del testo</item>
</change>
</revisionDesc>
</teiHeader>
Ogni cambiamento effettuato sul documento elettronico va documentato mediante gli elementi <change>, in cui vengono registrati la data (<date>), il nome ed il ruolo del responsabile della modifica (<respStmt>) ed una breve descrizione dell'intervento (<item>). Sebbene di veri e propri cambiamenti non si tratti, è prassi comune indicare nelle prime due fasi del "diario" delle revisioni, la digitalizzazione e la codifica del testo.
Si conclude con la descrizione di quest'ultimo elemento della testata TEI la parte della trattazione relativa alla codifica XML del testo, nei prossimi capitoli ci dedicheremo all'esposizione delle attività collaterali e complementari alla codifica: la produzione di output per scopi ed esigenze differenti, quali fruizione ed analisi del testo.