Il best seller come libro di introduzione all'argomento è sicuramente "Computer Network and Internet" di Douglas Comer della Prentice Hall (quarta edizione). Questo libro ha il pregio di essere molto sintetico e molto chiaro tanto che quando lo si legge può sembrare di sentire delle banalità. Spero che qualcuno di voi abbia la possibilità di leggerlo.
In internet sono pubblicate delle slide che riassumono in modo molto sintetico il contenuto dei capitoli e quindi le possiamo usare come guida. Iniziamo dalla parte XVI associata a "Web technologies". Ho messo anche a disposizione l'esperienza virtuale Web per la sperimentazione dei semplici esempi illustrati nel libro.
Come documenti guida saranno usati i corsi di laurea di informatica
in Tecnologie Web
dell'Università di Bologna
e quello di
dell'Università di Udine
dove possiamo trovare anche degli
esercizi
con le relative
soluzioni.
Una lettura interessante è
il linguaggio XML che riguarda un
progetto XML per la documentazione giuridica del CNR di Firenze
per conto del Ministero della Giustizia. Per chi vuole approfondire
nel sito
NormeInRete (NIR) ho trovato una utile
introduzione ai DTD di NIR e
Note al DTD dei documenti NIR.
Come applicazione per questo modulo ho preso in considerazione la documentazione di una distribuzione linux che si chiama Gentoo Linux. In questa distribuzione ci sono dei documenti chiari e precisi, anche in lingua italiana, che illustrano installazioni e configurazione dei vari software. In particolare hanno curato la tipologia della documentazione mista a spezzoni di codice o file di configurazione. Questo è anche lo stile che sarebbe necessario alla documentazione delle pagine che stai leggendo e quindi visto che l'effetto complessivo mi piace, ho deciso di provarlo assieme ai corsisti. È interessante la lettura di una serie di quattro articoli in cui Daniel Robbins spiega il percorso che lo ha portato a realizzare il portale con XML/XLTS.
La prima cosa utile da leggere è sicuramente la
Gentoo Linux XML Guide. Ricorda che
per tutti i documenti di questa distribuzione esiste
la possibilità di inserire in coda all'URL specificato
nel browser la stringa ?style=printable che permette
di avere la stampa depurata dalla barra informativa laterale.
L'obiettivo degli ideatori di questo strumento è stato quello di definire una sintassi semplice ma espressiva in modo che fosse semplice da imparare ma sufficiente per esprimere la tipica documentazione associata ad una distribuzione GNU/Linux. Inoltre è stata considerata importante la possibilità a partire dai file XML di generare documenti in altri formati quali DocBook, SGML e ovviamente HTML.
La conversione di un file XML in HTML viene fatto da:
xsltproc (apt-get install xsltproc).
È un
tool a riga di comando per applicare fogli di stile XSLT
a documenti XML. È parte della libreria
libxml2
sviluppata per il progetto
GNOME.guide.xsl che
nel nostro caso sarà guide-print.xsl
poichè siamo più orientati alla modalità stampa.
Tutti i sorgenti XML che generano il sito web di Gentoo Linux sono
contenuti in un unico file ricercabile come
English documentation e
visto che ci interessa la documentazione in italiano cerchiamo
Italian documentation.
Se si desidera accedere al repository CVS che contiene questi
file basta puntare su
Online CVS Repository.
Sia $DOC_ROOT la variabile che contiene il nome della directory
di lavoro dove ci sono i file XML da trasformare.
In questa directory estraiamo il file xml-guide-latest.tar.gz:
$ export DOC_ROOT=~/g
$ cd ${DOC_ROOT}
$ wget http://www.gentoo.org/dyn/doc-snapshots/docs-latest-en.tar.bz2
$ tar jxf docs-latest-en.tar.bz2
$ export LANG=it
$ mkdir ${LANG}
$ cd ${LANG}
$ wget http://www.gentoo.org/dyn/doc-snapshots/docs-latest-${LANG}.tar.bz2
$ tar jxf docs-latest-${LANG}.tar.bz2
$ mkdir test
$ cd test
$ mkdir css images
$ wget -P css/ http://www.gentoo.org/css/main.css
$ wget -P images/ http://www.gentoo.org/images/gbot-s.gif \
http://www.gentoo.org/images/gridtest.gif \
http://www.gentoo.org/images/gtop-s.jpg \
http://www.gentoo.org/images/line.gif \
http://www.gentoo.org/images/netraverse-gentoo.gif
$ cd ..
$ wget http://dev.gentoo.org/~swift/gentoo/downloads/guide.xsl
$ wget http://bfs.itlab.musc.edu/pubcvs/viewcvs.cgi/~checkout~/sluice/ \
xsl/guide-print.xsl?rev=1.1.1.1&content-type=text/plain
$ mv guide-print.xsl?rev=1.1.1.1 guide-print.xsl
Modifichiamo il file /etc/xml/catalog aggiungendo
all'interno dell'elemento catalog la seguente riga:
Occorrono delle piccole aggiustature per adeguarci allo standard
usato in Gentoo.
Nel file in output va poi aggiustato il path da dove si carica
il file main.css che abbiamo spostato nella directory corrente.
Inoltre nel file guide.dtd occorre impostare gli accenti italiani
aggiungendo in coda al file guide.dtd l'include
dei file
ISOlat1.dtd e
ISOlat2.dtd contenenti
le entità ISO Latin:
$ wget http://www.tic.fdns.net/tic/html/ISOlat1.dtd \
http://www.tic.fdns.net/tic/html/ISOlat2.dtd
$ echo "
<!ENTITY % ISOlat1 SYSTEM "./ISOlat1.dtd"> %ISOlat1;
<!ENTITY % ISOlat2 SYSTEM "./ISOlat2.dtd"> %ISOlat2;" >> \
dtd/guide.dtd
Il comando per trasformare, in stile stampa, un documento quale Knoppix.xml (scaricalo e poi aprilo con un editor a tua scelta) è:
$ xsltproc guide-print.xsl test/Knoppix.xml > test/Kno.html
Prova a vedere il risultato Kno.html e confrontalo con il "solito" Knoppix.html.
Sandro Doro (email me)