Codifica elettronica dei testi letterari ed e-book:
la marcatura XML TEI ed il trattamento informatico del romanzo Baltico di Matteo Collura
vedi: appendice 5
Concludendo il capitolo precedente abbiamo affermato che i dati nella loro rappresentazione possono venire modellati ed impostati in modo tale da attagliarsi alle esigenze più disparate. In particolar modo, le possibilità di personalizzazione dell'output connesse con la codifica dichiarativa si rivelano particolarmente utili nella produzione di formati di riproduzione che, grazie a particolari accorgimenti, consentano un'agevole accessibilità ai contenuti anche a persone con disabilità di vario tipo.
Abbiamo pertanto ritenuto opportuno nell'ambito del nostro lavoro di codifica elettronica e riproduzione digitale del testo di Matteo Collura apprestare una piccola applicazione per la personalizzazione dell'output rivolta principalmente a quegli utenti afflitti da disabilità, in particolar modo di natura visiva. Quella che ci apprestiamo ad illustrare non è per nulla un'applicazione completa ed ampiamente efficace, ma piuttosto vuol essere una esemplificazione delle potenzialità della codifica dichiarativa XML e delle tecnologie connesse nel favorire la fruibilità dei testi anche a soggetti disabili. È, infatti, il tema dell'accessibilità assai vasto e complesso e non è stato per noi possibile in questa circostanza andare oltre un approccio estremamente superficiale ed incompleto; l'unica speranza da noi nutrita nell'elaborare l'elementare lavoro che mostreremo di seguito è quella di fornire un primo spunto per la riflessione in vista di un futuro approfondimento dell'argomento.
A vantaggio di possibili lettori con problemi di ipovisione o daltonismo abbiamo approntato un foglio di stile ed una piccola applicazione, con cui consentire all'utente di scegliere sulla base delle proprie esigenze o più semplicemente dei propri gusti personali alcune caratteristiche di visualizzazione, come la dimensione dei caratteri oppure il colore dello sfondo, dell'output HTML di Baltico; come di consueto in appendice viene riportato il foglio di stile utilizzato. Si sarà notato che il codice è pressoché identico a quello del foglio per l'output HTML del romanzo; le principali differenze si trovano all'inizio del documento per la presenza di un nuovo comando, <xsl:param>, e dentro il foglio di stile CSS incorporato nel file HTML. Obiettivo di questo XSLT è quello di consentire la personalizzazione dell'output HTML; per il raggiungimento del nostro scopo ci siamo giovati della possibilità offerta da XSLT di influenzare dinamicamente l'output mediante parametri definiti all'esterno del foglio di stile. Come si può constatare esaminando il codice riportato in appendice, subito dopo la dichiarazione del tipo di output e prima delle varie dichiarazioni di modello, incontriamo tre tag <xsl:param>, i quali hanno la funzione di definire tre differenti parametri globali dal nome[189], rispettivamente, di color, font e size. La funzione dei parametri è quella di ricevere dati, dall'esterno del foglio di stile e del sorgente XML, grazie ai quali manipolare l'output. Nello specifico il compito dei tre parametri dichiarati nel nostro foglio di stile è di ricevere dall'esterno; vedremo in seguito come alcuni valori definiti dall'utente ed utilizzarli nella produzione dell'output, in particolare mediante il parametro color si stabilisce il colore di sfondo del documento, mentre con i parametri font e size si possono specificare il tipo e le dimensioni dei caratteri del testo. Proseguendo nell'analisi del codice XSLT notiamo che mediante espressioni <xsl:value-of> il valore dei parametri viene inserito all'interno dei modelli[190]; in realtà, esclusivamente nel template del nodo radice nella parte relativa alla creazione del foglio CSS incorporato per la definizione delle norme di visualizzazione del documento HTML.
Ad esempio, come vediamo nella porzione di codice che riportiamo di seguito relativa al marcatore HTML per i paragrafi del documento, <p>:
p {
font-family:<xsl:value-of select="$font"/>;
font-size: <xsl:value-of select="$size"/>pt;
text-align: justify;
text-indent: 25pt;
line-height: 2em;
margin: 0pt 0pt;}
sia il tipo di carattere, sia le dimensioni dello stesso vengono definite grazie ai parametri stabiliti dall'utente; in tal modo, un lettore con difficoltà visive potrà, volendo, godere di una versione "personale" dell'output HTML di Baltico riprodotta con un carattere ad alta leggibilità e dalle dimensioni adeguate a sopperire al proprio deficit visivo. Analogamente a quanto appena visto anche in altri punti del template in questione si adottano i parametri per la definizione del valore delle dichiarazioni CSS. Ad esempio, si adopera un parametro (color) per determinare il colore dello sfondo, in modo tale da consentire all'utente di impostare una buona combinazione di colori fortemente contrastata, adeguata al tipo di disturbo visivo, per il testo e lo sfondo, opzione questa particolarmente utile per i soggetti affetti da daltonismo[191].
Esistono vari metodi per passare dei parametri al processore XSLT, il più semplice e rudimentale è utilizzando la riga dei comandi, nella maggior parte dei casi tuttavia questa operazione viene eseguita in qualche genere di applicazione che utilizza XSLT per operare sui documenti XML ed elaborarli. Nel nostro lavoro abbiamo optato per seguire la via più semplice e servirci della riga dei comandi per la trasmissione dei parametri al processore; tuttavia, per cercare di agevolare gli utenti abbiamo realizzato una piccola applicazione sotto forma di clip per il freeware NoteTab, grazie alla quale creare rapidamente un file .bat con cui trasmettere i parametri al processore XSLT dalla riga dei comandi, di seguito ne riportiamo una schermata dell'interfaccia.
Il primo campo della finestra è utilizzato per specificare il nome del processore XSLT da adottare per la trasformazione; nella schermata riportata, ad esempio, si è optato per l'adozione di Saxon[192]. I tre riquadri successivi servono ad indicare rispettivamente il nome del file HTML di output ed i nomi del sorgente XML e del foglio XSLT da utilizzare per l'elaborazione. I parametri da passare al processore possono venir specificati grazie agli ultimi tre campi della finestra dell'applicazione, nel nostro caso la scelta è caduta su un colore di sfondo bianco[193] e su di un carattere di tipo Arial oppure senza grazie (sans-serif) di dimensioni 19pt[194].
Di seguito riportiamo la sintassi di invocazione del processore prodotta dalla clip appena illustrata:
saxon -o Baltico_caratteri_grandi.html Baltico.xml index-parametri.xsl color=white font=Arial,Helvetica,sans-serif size=19[195]
usata per attivare il processore mediante un file .bat ovvero direttamente attraverso la linea di comando, questa sintassi produce un output html con testo Arial 19 su sfondo bianco; di seguito riportiamo una porzione dell'output così come viene visualizzata nel browser Internet Explorer 6.0:
La codifica dichiarativa XML offre, grazie alla scissione dei dati dalla loro rappresentazione ed al forte grado di metainformatività di cui è portatrice, ampie risorse e prospettive per la realizzazione di soluzioni per l'accessibilità dei testi ai disabili. Ad esempio, ritornando al caso concreto di Baltico sarebbe ipotizzabile che un software di Text to Speech[196] rendesse più gradevole ed "umana" la lettura dei testi servendosi dell'attributo who dei tag <q> con cui abbiamo marcato il discorso diretto nel testo, per esempio cambiando "voce" ogni qual volta muti il parlante, o ancora adottando una voce da uomo per i personaggi di sesso maschile e viceversa una voce da donna per i personaggi di sesso femminile. A tal proposito merita di essere menzionata una tecnologia basata su XML per la produzione di output audio dai testi e l'interazione attraverso comandi vocali o sonori con applicazioni software, il VoiceXML[197].
Dovrebbe ormai, a questo punto della trattazione, risultare abbastanza chiara la semplicità con cui è possibile trasformare, "tradurre", una struttura XML in un'altra grazie ad XSLT e quindi, ad esempio, convertire, essendo il VoiceXML basato su XML, i dati XML/TEI in una nuova sintassi VXML; tutto ciò ad ulteriore riprova dell'utilità ed, oserei dire, necessità della codifica dichiarativa dei testi, letterari e non.
Quello da noi tracciato in queste poche pagine, ben lungi dall'essere un quadro esaustivo e completo delle problematiche connesse con l'accessibilità dei testi a beneficio delle persone diversamente abili, vuol semplicemente fornire uno sguardo superficiale su queste tematiche al fine di far intravedere alcune delle importanti prospettive, che in questo campo si aprono grazie alle nuove tecnologie di codifica e trattamento informatico dei testi, e che riteniamo dovrebbero rappresentare nella loro concretizzazione una delle sfide prioritarie per le nascenti biblioteche digitali.