[PLUTO-devel] Ingenium, step 1

Marco Marongiu bronto a tiscali.com
Gio 14 Lug 2005 01:25:49 CEST


Ciao a tutti

Approfittando delle tanto sospirate ferie, ho cercato di portare avanti
la mia piccola parte del progetto Ingenium[*].

Ho convertito l'articolo di Francisco Yepes Barrera "Software libero per
il trattamento di problemi scientifici (Parte I. Introduzione)" da HTML
in XPJ. Ho dovuto inca**armi il tanto che basta per dovere ammettere che
una conversione automatica degli articoli da HTML a XPJ e` difficile o
impossibile -non ho ancora deciso per uno solo dei due aggettivi-.
Probabilmente si puo` riuscire ad ottenere un buon risultato con
procedure automatizzate, ma poi ci sarebbe anche necessita` di un
controllo manuale accurato. Insomma, lasciamo stare che e` meglio...

Convertendo e validando poi l'articolo ho scoperto che c'erano alcuni
bachi nel DTD, che ho prontamente corretto, ora dovrebbe essere a posto.

L'ultimo problema mi e` venuto da XPathScript; qualcosa e` cambiato dal
tempo in cui ho prodotto quei fogli di stile, per cui sono stato
costretto a rimettere mano al codice. Ora dovrebbe essere a posto, forse
sarebbe il caso di fargli una revisioncina ma visto che non saranno
quelli definitivi non ho ritenuto di doverci perdere piu` tempo di tanto.

Inoltre, il comando xpathscript non gestisce i DTD e si inca**ava per la
presenza di entita`; quindi anziche' fargli parsare direttamente il file
xpj, gli ho dato in pasto l'output del comando rxp, che supporta i dtd e
si era gia` digerito le entita` per conto suo.

Nel documento finale in XML, ci sono degli errori che il parser ha
prontamente rilevato ma che non ho corretto:

* liste nidificate: ci sono degli <item> che contengono <list>: in XPJ,
al contrario di HTML, <list> non puo` essere figlio di list ma, al
limite, di un altro <list> (e degli elementi di capitolo, ovviamente)

* tag <link> dentro <bibitem>: <bibitem> puo` contenere solo i "suoi"
sotto-tag, o PCDATA, quindi niente altri tag. Li ho lasciati perche'
c'erano dei riferimenti incrociati che altrimenti non avrebbero
funzionato, ma...

La sequenza dei comandi e` stata quindi:

bronto at marmotta:~/B-Lab/pluto/converted$ rxp -V swlibero-scie1.xpj >
swlibero-scie1.rxp
Warning: Content model for item does not allow element list here
 in unnamed entity at line 288 char 12 of
file:///home/bronto/B-Lab/pluto/converted/swlibero-scie1.xpj
Warning: Content model for bibitem does not allow element link here
 in unnamed entity at line 493 char 12 of
file:///home/bronto/B-Lab/pluto/converted/swlibero-scie1.xpj
Warning: Content model for bibitem does not allow element link here
 in unnamed entity at line 501 char 12 of
file:///home/bronto/B-Lab/pluto/converted/swlibero-scie1.xpj
bronto at marmotta:~/B-Lab/pluto/converted$ xpathscript swlibero-scie1.rxp
style/xpj.xps > swlibero-scie1.html
Use of uninitialized value in print at
/usr/local/share/perl/5.8.7/XML/XPathScript.pm line 978.
bronto at marmotta:~/B-Lab/pluto/converted$ ls
style  swlibero-scie1.html  swlibero-scie1.rxp  swlibero-scie1.xpj  xpj.dtd

Il primo comando parsa il file, rilevando i problemi di cui ho
accennato, e manda l'output sul file swlibero-scie1.rxp

Il secondo comando converte il file da XPJ in HTML

Vi allego una tarball che sto per mettere anche su OGo. Spero possa
essere un buon punto di partenza per cominciare a lavorare su uno
stylesheet in XSL (oppure, se preferite, potremmo passare a XPathScript
e tanti saluti, ma questo preferisco che lo vediate voi).

Ciao
--Marco
_______
[*] Si, lo so, stiamo andando a passo di lumaca. Abbiate pazienza. Dopo
la nascita del mio bambino mi e` stata accollata al lavoro una lunga
serie di compiti che mi hanno raddoppiato il carico e prosciugato le
energie che mi sarebbero altrimenti rimaste per il (pochissimo) tempo
libero lasciatomi dal bambino e dalle incombenze familiari. Posso almeno
dire di aver fatto il possibile :-\
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ingenium-step01.tar.gz
Type: application/x-gzip
Size: 22256 bytes
Desc: not available
Url : http://lists.pluto.it/pipermail/pluto-devel/attachments/20050714/e2234717/ingenium-step01.tar-0001.bin


Maggiori informazioni sulla lista pluto-devel