Vai al file pdf

 

 

Foglio di stile

 

Scopo principale di un saggio storiografico digitale dovrebbe essere quindi, ovviamente, la possibilità di far accedere l’utente al piano documentale della ricerca, usualmente posto in appendice quando non escluso dalla comunicazione dei risultati scientifici.

Per conseguire un simile risultato il progetto di edizione elettronica del Liber Privilegiorum di Monreale è stato supportato da una decisa separazione tra forme e contenuti, realizzata attraverso l’immissione di documenti codificati in formato XML e basata sul principio della trasformazione dinamica: un unico contenuto, altamente strutturato dal punto di vista semantico, ha potuto così assumere forme potenzialmente infinite sia riguardo alla selezione e all’ordinamento del materiale, che al suo formato elettronico.

Il progetto di ricerca

L'eXtensible Markup Language

 

 

 

L’ottica proposta è stata dunque quella di realizzare un sistema documentario e informativo che risultasse il più possibile autonomo da qualsiasi veste specifica, allo scopo di non condizionarne gli impieghi o limitarne l’espandibilità: in questo senso, la trasformazione come dote intrinseca della rappresentazione editoriale avanzata, è stata parte dell’indispensabile attenzione alla longevità della documentazione trascritta nel cartulario.

La scelta dell’eXtensible Markup Language nella fase di codifica delle strutture e dei contenuti di ciascun documento si è rivelata la soluzione più appropriata.

 

 

Le stesse specifiche XML permettono infatti di delegare ad altri linguaggi il compito di definire quale debba essere il layout, la formattazione grafica del documento: come cioè il testo codificato debba apparire sullo schermo.

Questa funzione è legata all’utilizzo dei fogli di stile, e in particolare dei Cascading StyleSheet (CSS) e dell’eXtensible Stylesheet Language Transformation (XSLT), un vocabolario di elementi per la visualizzazione sul browser dei documenti marcati in XML in grado di assegnare caratteristiche fisiche a ciascun tag utilizzato e di definire come ogni porzione di testo debba apparire nell’output finale.

XSL Transformations (XSLT)

Extensible Stylesheet Language (XSL)

XML Bible 2nd Edition, Capitolo 17: XSL Transformations

M. Colan, XSL by Example

P. Grosso, N. Walsh, XSL Concepts and Practical Usage

G.K. Holman, Practical Trasformations with XSL-T and Xpath

Un file XSLT ha una struttura molto semplice:

  • <?xml  version= “1.0” ?>               
    <xsl:stylesheet  version= “1.0”
    Xmlns:xsl= http://www.w3.org/1999/XSL/Transform>

    è l’istruzione iniziale per applicare tutta la formattazione all’intero documento

  • <xsl:template  match= “/”>

    è una regola da applicare se l’elemento in esame corrisponde al valore dell’attributo match.

  • <xsl:apply-templates  select= “nomedelroot”/>

    spinge a cercare, all’interno dell’elemento che si considera, se esistono altri templates applicabili; è il modo di fare ripartire la ricerca, ricorsivamente.

In sostanza, nel foglio di stile vengono inserite le istruzioni necessarie per intervenire sugli elementi utilizzati nel file XML che si basano sul concetto di template rules, cioè di modelli di trasformazione; il template viene applicato all’elemento XML ogni volta che questo, richiamato dall’attributo match, viene rintracciato nel documento.

Le regole di formattazione, inserite in uno specifico file con estensione .xsl, vengono processate da un parser che procede alla scansione ordinata del documento sorgente, seguendone la gerarchia di elementi codificati: quando il parser incontra un elemento XML che soddisfi le condizioni delle regole di formattazione implementate, il programma è in grado di produrre in output il contenuto specificato al suo interno.

XSLT è un linguaggio polivalente, che permette numerose varianti di presentazione: è infatti possibile visualizzare lo stesso contenuto in forme diverse, ottenere un altro documento XML, un file .pdf o .doc oppure, come nel caso qui proposto, un documento HTML.

Oltre a convertire la struttura semantica nodale imposta dalla codifica XML in testo continuo, l’applicazione del foglio di stile consente inoltre di sperimentare la possibilità di associare al documento originale ulteriori informazioni e oggetti, quali ad esempio immagini, note, link, indici, ma anche di eseguire operazioni significative, effettuando ricerche avanzate sul contenuto marcato o estraendo parti della struttura di un documento e nascondendone altre.

La successione dei passaggi nella codifica e nella rappresentazione proposte per i documenti del cartulario

Durante la fase di immissione della marcatura nel documento, effettuata mediante un comune editor di testo, è possibile evidenziare la struttura della codifica XML inserita all’interno dei singoli diplomi trascritti.

Immissione della marcatura XML: il giallo visualizza gli Elementi, l’azzurro gli Attributi

Visualizzando in formato .html il documento così marcato, si otterrebbe una schermata priva di formattazione:

La creazione del file .xsl per la visualizzazione finale dei documenti si è quindi limitata all’immissione di poche, e semplici, regole di formattazione:

<?xml  version="1.0" encoding="utf-8"?>
<xsl:stylesheet  version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output  method="html"/><xsl:template match="/">
<html><link href="testo.css"  rel="stylesheet" type="text/css" />
<body><table width="100%"  border="1" cellspacing="5"  bordercolor="#fff5e0">
                    <tr>    
<td  width="5%" rowspan="2"></td>   
<td width="20%"  bgcolor="#fff5e0"><div align="center"><a>
                        
<xsl:attribute  name="href">../pdf/<xsl:apply-templates select=  "//NUMDOC"/>
<xsl:apply-templates select=  "//DOC"/>.pdf</xsl:attribute>
                       
<img  src="../image/pdficon.jpg" width="25" height="25"  border ="0"/></a><br /> 
                        
<span class="Stile1">Versione stampabile in PDF  </span></div></td>
                     
<td  width="70%" bgcolor="#fff5e0"></td>    <td width="5%"  rowspan="2"></td>
                    
</tr>  <tr>
                    
 <td  colspan="2" bgcolor="#fff5e0">
                                
   <div align="right"><span  class="testo"><b>
                 <xsl:apply-templates  select="//DOCPREC"/> 
<xsl:apply-templates  select="//DOCSUCC"/></b></span></div>
                                 <div  align="center"><b><br/>
                      </b><span class="testo">
                                 <div  align="center"><b>
<xsl:apply-templates  select="//NUMDOC"/></b></div>
                     <xsl:apply-templates  select="//DATA"/><br/>
                     <xsl:apply-templates  select="//NUMCARTE"/></span><br/>
                      <br/></div>
                     <div  align="justify">
                     
<span  class="intestazione"><xsl:apply-templates  select="//ORIGIN"/><br/>
                     <xsl:apply-templates  select="//COP"/><br/>
                     <xsl:apply-templates select="//ED"/>
                     <xsl:apply-templates  select="//REG"/>
<xsl:apply-templates  select="//BIBLIOGRAFIA"/></span> 
 <span  class="testo"><xsl:apply-templates  select="//REGESTO"/><br/>
                     <p  class="indentato"><b><xsl:apply-templates  select="//TENOR"/></b></p>
                     <p  class="indentato"><xsl:apply-templates  select="//PROTOCOLLO"/>
                     <xsl:apply-templates  select="//TESTO"/>
                     <xsl:apply-templates  select="//ESCATOCOLLO"/></p></span>
                                
 <span  class="testo"><xsl:apply-templates  select="//NOTE"/></span></div><br/>        </td>
                   </tr></table></body></html></xsl:template>

La formattazione implementata trasforma il documento .xml in un file .html che nasconde la marcatura inserita, pur mantenendone le funzionalità e i principi. 

Ma il fatto che il documento, visualizzato in formato .html, sia in realtà solamente la proiezione virtuale di un semplice file di testo, leggibile da qualunque macchina e portabile da ogni sistema, rende possibile ottenerne immediatamente il codice sorgente, nel quale è inserita la marcatura XML, con l’enorme vantaggio di un testo che nel corso della lettura è in grado di mostrare immediatamente al lettore la propria profondità, senza obbligare a faticosi andirivieni con l’apparato.