Skip to content.
Logo tecnoteca

Portale Tecnoteca.it

Logo tecnoteca

Vai al sito aziendale Tecnoteca.com


 
You are here: tecnoteca.it » How to » Applicazione dei modelli di marcatura xml » I testi in formato elettronico e i linguaggi di codifica

I testi in formato elettronico e i linguaggi di codifica

In campo informatico umanistico l’SGML ha offerto un buono sfondo per affrontare efficacemente una delle problematiche e delle esigenze massimamente avvertite fra gli studiosi, i redattori e gli utilizzatori di documenti storico-letterari di diverse tipologie e di diversa origine materiale: rispondere ai problemi di rappresentazione informatica del materiale testuale e documentario, attraverso la definizione di una serie di raccomandazioni per la rappresentazione dei testi in MRF, accettate a livello internazionale, che garantissero la validità scientifica della codifica, l’intercambiabilità e la portabilità dei testi in formato elettronico.

A cominciare dal 1987 è partito così il progetto denominato TEI, Text Encoding Iniziative, voluto dalla ACH (la Association for Computers and the Humanities), dalla ACL (la Association for Computational Linguistics) e dalla ALLC (la Association for Literary and Linguistic Computing), cioè dalle tre maggiori associazioni mondiali di studiosi di scienze umane attraverso le metodologie informatiche, che hanno dato il la ad un progetto internazionale, al quale hanno attivamente collaborato studiosi provenienti da diversi paesi, per sviluppare un modello di codifica normalizzato che mettesse ordine nella Babele dei modelli e dei linguaggi di rappresentazione dell’informazione testuale in formato elettronico disponibili in quel momento.

Le finalità principali della TEI erano quelle di definire uno standard di codifica, orientato specificamente alla gestione dei dati umanistico-letterari, e di normalizzare i formati di memorizzazione dell’informazione testuale, per favorire l’interscambio dei documenti: e per conseguire questi obiettivi i progettisti della TEI sono partiti dall’assunzione dell’SGML come linguaggio di base per la descrizione dei documenti, utilizzando come set di caratteri l’ISO 646, cioè quello suggerito dalla stessa sintassi concreta di riferimento dello standard.
    Il grosso del lavoro delle commissioni organizzate a partire dal 1989 dalla TEI è stato puntato alla realizzazione di un’imponente e complessa DTD, le cui caratteristiche, dopo anni di lavoro, sono state pubblicate per la prima volta nel 1994 con il titolo di Guidelines for Electronic Text Encoding and Interchange (TEI P3). Nonostante ulteriori rivisitazioni della struttura della Document Type Definition, la TEI P3 (riedita come revised edition nel maggio del 1999) è rimasta in vigore fino al giugno del 2002, quando è uscita la TEI P4, la cui revisione è attualmente in corso e la cui pubblicazione con il titolo di TEI P5 è annunciata entro la fine del 2004.

I principi che hanno guidato la commissione di sviluppo della TEI nel definire la struttura della DTD sono basati sui fondamenti teorici dell’SGML, cioè sulla predilezione per un markup di tipo dichiarativo, piuttosto che di tipo procedurale. Infatti, nonostante il modello descrittivo dei testi previsto dalla TEI si fondi su di una sostanziale formalizzazione delle convenzioni vigenti nell’ambito dell’organizzazione strutturale dei documenti testuali, codificate fino a divenire uno schema argomentativo (con la divisione in parti, capitoli, paragrafi…), la predilezione per una codifica di tipo dichiarativo è stata rispettata nella maggior parte dei casi: la TEI, d’altronde, tende a definire uno schema di carattere generale, orientato all’ambito umanistico, ma non rigido, al punto che spesso rende possibile un apporto assolutamente soggettivo da parte dello studioso-codificatore, qualora egli debba interpretare la funzione delle varie componenti strutturali tipografiche o manoscritte, per poter impiegare adeguatamente i marcatori per gli elementi previsti nella DTD della TEI; ma la TEI prevede anche marcatori di tipo procedurale, da utilizzarsi qualora la necessità dell’indagine automatizzata richieda una forte aderenza del testo elettronico all’originale cartaceo, oppure quando la scelta di una codifica di tipo dichiarativo introdurrebbe troppi problemi interpretativi. Per questo la TEI ha elaborato molte strutture adeguate a fenomeni testuali particolari o complessi, come la trascrizione di manoscritti, l’analisi testuale e strutturale del testo, la creazione di corpus, la realizzazione di strutture ipertestuali, ed ovviamente l’ecdotica.

La nobile finalità di consentire una applicabilità universale alla TEI ha condotto però ad un’ipertrofia pericolosa: gli elementi previsti dalla TEI e definiti nella DTD sono infatti oltre quattrocento; molte caratteristiche strutturali di un testo possono essere sottoposte a diversi tipi di codifica, e inoltre lo schema della TEI prevede la possibilità di modifiche locali e di estensioni, per adeguarsi ad eventuali esigenze di memorizzazione testuale. Per rendere agibile la TEI pertanto si è operata una divisione della DTD in molteplici frammenti, ognuno utilizzabile a seconda della tipologia testuale da affrontate o a seconda degli scopi di ricerca, consentendo così al codificatore di riferirsi al frammento che settorialmente maggiormente gli interessa, dopo aver incluso all’inizio del documento elettronico le opportune dichiarazioni.

Per le “regole generali” è stato così ideato e si è diffuso un fondamentale e relativamente pratico sottoinsieme della TEI, denominato TEI Lite, che dal giugno 1995 ha cominciato a circolare fra gli umanisti (dal 1998 anche in versione italiana, grazie alle traduzione curata da Fabio Ciotti), con la speranza di consentire la diffusione del progetto di codifica anche senza costringere i nuovi utenti ad apprendere nella sua interezza lo schema della TEI, facilitando così la realizzazione di testi in formato elettronico, consentendo la creazione di documenti TEI-compliant (compatibili cioè con l’intero schema TEI) senza richiedere lo studio dell’intera DTD.

E dal 13 settembre 1997 s’è aggiunto, raggiungibile via web all’indirizzo internet http://www.tei-c.org/pizza.html, un nuovo simpatico e pratico tool per la creazione personalizzata di DTD e di documenti TEI-compliant: Pizza Chef, che consente all’utente di scegliere, come per la propria pizza preferita, gli ingredienti desiderati (sottoforma ovviamente di tag-sets, entity-set ed elements), che poi il piazzaiolo automatico trasformerà in una fumante DTD adatta alle necessità del redattore del testo elettronico, e chiaramente compatibile con la TEI!

Il progetto TEI, ad oggi, per la sua complessità, estensibilità e diffusione fra le maggiori istituzioni di ricerca a livello mondiale nel campo informatico umanistico, oltre che per la sua origine ed evoluzione interna all’ambito umanistico, è senz’altro reputato dagli studiosi di informatica umanistica il miglior ed il più valido strumento di codifica per la creazione di testi elettronici (sia a puro fine editoriale, che come supporto per l’analisi informatizzata dei testi) e, in prospettiva sempre maggiormente, anche per l’edificazione di banche dati testuali (o database testuali), cioè per la realizzazione di archivi su supporto informatico che raccolgano insiemi di testi in MRF, che potrebbero poi, oltre che essere gestiti e/o resi accessibili in locale, essere anche messi in connessione fra loro e resi implementabili e consultabili on-line ovunque tramite Internet, ed eventualmente ed auspicabilmente potenziati con ulteriori dotazioni di strumenti di text-processing e di information-retrieval.

Però esiste un limite sostanziale (come ha sottolineato efficacemente Francesca Tomasi sul sito www.griseldaonline.it) nel modello di codifica proposto dalla TEI, che inficia alla base la realizzazione di un modello testuale adeguato alle necessità di analisi e di interpretazione: la distinzione fra testo e documento nel momento in cui si realizza un modello computazionale adeguato; perché il testo inteso in termini letterari è una nozione molto differente rispetto al testo inteso come sequenza o stringa di caratteri.

In ambito informatico, giocoforza, per testo si intende, infatti, un’informazione codificata in forma di stringhe di caratteri, cioè una rappresentazione dell’informazione che consiste esclusivamente di caratteri; non il materiale letterario nella forma in cui è stato scritto originariamente dall’autore! Il testo elettronico rischia così di poter catturare solo una piccola parte dell’informazione testuale; bisogna pertanto aggiungere esplicitamente, attraverso ad esempio l’inserimento di marcatori o di segni convenzionali, tutta l’informazione testuale che non può essere rappresentata esclusivamente in una stringa di caratteri. E su questo TEI ha cercato di intervenire, definendo con una serie di marcatori la struttura logica degli oggetti testuali, strutturando i dati testuali come informazione, ma – concependo la codifica del testo come una rappresentazione di quell’informazione che si aggiunge al testo vero e proprio, eccedente da esso – è caduta in una inevitabile ambiguità, scambiando il testo con la sua rappresentazione, il testo con il documento, visto che da un lato ha inteso il testo come oggetto letterario, dall’altro come sequenza di caratteri.

Il fatto di nascere dall’ambiguità della nozione di codifica, che viene lasciata di fatto irrisolta, limita così sin dalla radice il modello computazionale assunto dalla TEI: la forma di rappresentazione e il conseguente modello del testo assunti dalla TEI, se ammettono infatti la possibilità di rappresentare strutture diverse dello stesso testo, non riescono a riunirle in un’unica coerente forma di rappresentazione.

D’altronde il limite, se così vogliamo chiamarlo, risale – a ben vedere – proprio alla scelta dell’SGML come linguaggio base, dato che l’SGML definisce un documento in termini strutturali come una gerarchia ordinata di oggetti di contenuto testuale; con una struttura gerarchica, perché oggetti di tipo diverso sono contenuti l’uno nell’altro, ed ordinata, perché tra gli oggetti c’è una relazione lineare e dati due oggetti qualsiasi contenuti in un documento si può sempre affermare che l’uno viene prima dell’altro. Ma questa nozione di testo non tiene conto del fatto che talvolta lo stesso documento possa conformarsi a diverse strutture sovrapposte, che non possono essere inserite nella stessa struttura gerarchica, di modo che la sua elaborazione varia a seconda della particolare struttura considerata; né tanto meno può considerare il fatto che esistano (ed esistono!) relazioni strutturali di tipo non gerarchico. Aver assunto, da parte della TEI, l’SGML come base per la definizione delle norme e dei linguaggi di codifica, ha costretto all’assunzione implicita del suo modello strutturale come modello fondamentale di rappresentazione del testo ed ha vincolato pertanto la forma di rappresentazione del testo ad una struttura di dati particolare, che non consente di riunire in una singola rappresentazione coerente modelli strutturali diversi e alla quale non appare così applicabile un modello computazionale pienamente adeguato alle necessità dell’analisi e dell’interpretazione del testo.

La struttura del testo nella TEI viene dunque identificata con quella particolare struttura della sua forma di rappresentazione che meglio si presta alle necessità della manipolazione dei documenti; ma il vantaggio dell’elaborazione automatica consiste proprio nello svincolare la rappresentazione del testo dal modello strutturale del documento stampato.

La codifica SGML dei testi elettronici offre comunque consistenti vantaggi dal punto di vista del trattamento informatico: un file SGML, potendo essere compilato esclusivamente con stringhe di caratteri ASCII stampabili, è facilmente portabile su ogni tipo di piattaforma hardware e software; un testo codificato secondo il formato SGML può essere impiegato per diversi scopi, variabili secondo il trattamento computazionale cui sottoporre la fonte, consentendo di evitare il ricorso a conversioni fra formati spesso incompatibili; un documento SGML, infine, per la sua natura altamente strutturata, si presta allo sviluppo di complesse applicazioni.

Certamente poter adottare sul web una tecnologia come l’SGML risolverebbe molti dei problemi che limitano le enormi potenzialità di Internet (e di conseguenza anche della distribuzione e della fruizione di documenti MRF), però SGML è dotato di una complessità tale da rendere troppo difficile e poco economica l’implementazione. Per questo motivo il W3C, il World Wide Web Consortium, ha optato per la realizzazione di una versione semplificata dello standard ISO che ha portato allo sviluppo dell’XML, l’Extensible Markup Language.

In precedenza già un altro prodotto di SGML si era affermato in Internet: l’HTML, l’Hyper Text Markup Language, che però era solo una DTD di SGML, il cui set di marcatori ovviamente non poteva essere modificabile. Certamente il merito storico dell’HTML è stato quello di essere divenuto la lingua ufficiale nella produzione di ipertesti sul web, e di aver condotto al successo la navigazione in Internet, ma contestualmente è anche il responsabile delle sue limitazioni. I limiti principali dell’HTML sono legati all’incapacità da parte di questo linguaggio di fornire un’adeguata rappresentazione dell’informazione, essendo un linguaggio non modificabile e chiuso. E poi HTML ha una spiccata predilezione per i marcatori stilistici, piuttosto che per quelli strutturali, ed è scarsamente strutturato: essendo dotato di una sintassi poco potente, non è in grado di descrivere fenomeni complessi, e quindi non è utilizzabile come sistema di interscambio per contenuti informazionali particolarmente elaborati (come ad esempio un record di una base di dati). L’HTML poi è limitato nella definizione dei link ipertestuali, disponendo del solo link unidirezionale. E dai limiti di natura rappresentazionale ne derivano anche altri di natura operativa, riguardanti il rapporto autore-sistema e lettore-sistema e la loro facoltà di interagire con il documento codificato: una pagina web in HTML deve essere progettata per un output dotato di caratteristiche predefinite, e corre quindi il rischio (concretissimo) di ottenere risultati diversi a seconda dell’output su cui poi realmente la pagina arriva; l’HTML non permette di generare visite differenziate sullo stesso documento; la limitata consistenza strutturale ostacola la creazione automatica e dinamica di indici e sommari, rendendo difficoltoso il retrieval, visto che i motori di ricerca sono costretti a riferire come esito della loro ricerca un documento intero, la pagina .html, e non l’informazione precisamente ricercata ed individuata; non è possibile gestire i set di pagine in modo che possano esser processati come un unico file strutturato (problema evidente quando si devono stampare ad esempio informazioni collegate fra loro in diverse pagine ma sullo stesso sito, o addirittura, come nel caso dei frames, sulla stessa schermata del monitor). Infine – a complicare il tutto – ci si sono messi anche i browsers, con Netscape e Microsoft che hanno iniziato l’infelice pratica dell’introduzione di loro proprie individuali extensions al linguaggio HTML, visibili solo con il loro programma.

Per superare questi ostacoli, tipici di HTML, si è così deciso di sviluppare l’XML, che è dunque un sottinsieme dell’SGML semplificato ed ottimizzato specificamente per l’applicazione in ambiente Word Wide Web.

Le caratteristiche dell’XML sono molto simili a quelle dell’SGML, sia per quel che concerne i principi di codifica, che per quel che riguarda le specifiche della DTD, non trattandosi – come per l’HTML – di una semplice applicazione SGML, ma essendo un vero metalinguaggio, che consente di specificare molteplici classi di linguaggi di marcatura. Ma soprattutto l’XML – che inoltre in quanto extensible non può avere i problemi legati ai tag incompatibili ed alle extensions dei singoli browsers, tipici dell’HTML – ha la propensione alla descrizione delle informazioni testuali in un formato leggibile e comprensibile dall’utente, a prescindere dalle indicazioni relative alla visualizzazione dei dati: l’XML, infatti, è un database-neutral ed un device-neutral format, per cui solo in un secondo momento i dati codificati in XML potranno essere indirizzati a differenti devices, utilizzando l’XSL, l’Extensible Style Sheet Language.

Con il metalinguaggio XML si possono d’altronde realizzare altri linguaggi specifici, chiamati anche vocabolari; ed ogni vocabulary può essere costruito con una DTD che fornisce le regole necessarie alla definizione degli elementi e della struttura del nuovo linguaggio.
Ovviamente anche la TEI s’è adeguata: infatti dalla versione P4 la TEI  è stata resa utilizzabile con XML, adeguando la TEI per SGML alle richieste della sintassi XML, facendo in modo che i documenti prodotti in precedenza seguendo le specifiche TEI risultassero usabili anche con la “nuova” TEI per XML.

La semplificazione e l’aumentato rigore nella gestione dei marcatori che ha portato dall’SGML alla nascita dell’XML non ha infatti comportato alcuna incompatibilità, in quando un documento XML valido è comunque sempre anche un documento SGML valido, per cui il passaggio da SGML a XML è relativamente indolore e quasi sempre attuabile con una procedura automatica.

Le principali differenze fra SGML e XML consistono in una sintassi più rigida, con l’obbligo ad esempio di inserire i marcatori di chiusura, e soprattutto nel fatto che l’XML è orientato più alla descrizione della struttura del testo che alla rappresentazione visiva del documento: la codifica XML presta attenzione al contenuto di ogni singola partizione (non all’aspetto degli elementi testuali o alla loro distribuzione fisica), ed esprime perciò, attraverso i marcatori alfabetici, il significato della stringa di caratteri cui il tag è associato. L’XML praticamente focalizza la codifica sulla semantica e sulla struttura dei dati, mantenendo comunque un ordinamento gerarchico che sovrintende l’organizzazione degli elementi della fonte, creando un parallelismo assoluto con la distribuzione dei record all’interno di una base di dati.


Pietro Bortoluzzi