summaryrefslogtreecommitdiff
path: root/SW/sitemake/document.it.rest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'SW/sitemake/document.it.rest.txt')
-rw-r--r--SW/sitemake/document.it.rest.txt57
1 files changed, 57 insertions, 0 deletions
diff --git a/SW/sitemake/document.it.rest.txt b/SW/sitemake/document.it.rest.txt
new file mode 100644
index 0000000..dd842b3
--- /dev/null
+++ b/SW/sitemake/document.it.rest.txt
@@ -0,0 +1,57 @@
+Generatore Web
+==============
+
+Le motivazioni
+--------------
+
+Da quando ho scoperto `XML`_ e `XSLT`_, ho cercato un modo semplice e comodo
+per gestire in maniera del tutto separata contenuto e presentazione. All'inizio
+usavo `XWeb`_, ottimo programma, ma con alcuni difetti:
+
+* è scritto in Java (OK, OK, questa è una questione personale...)
+
+* "trucca" i file per aggiungervi informazioni (di navigazione), e io pensavo
+ non fosse necessario
+
+* non ha (aveva?) funzionalità di controllo dipendenze (tipo make)
+
+Poco dopo la versione 0.3 ho perso la sincronizzazione con la codebase
+ufficiale a causa di qualche mia modifica al codice, e non ne ho più seguiti
+gli sviluppi.
+
+Dato l'ottimo livello di correttezza raggiunto dalla `libreria Gnome XSLT`_, ho
+deciso di vedere se fosse possibile usare soltanto xsltproc e make per ottenere
+gli stessi effetti.
+
+Ho quindi sviluppato un DTD per descrivere la struttura del sito, uno
+stylesheet per convertire questa struttura in un makefile, e ho ritoccato gli
+stylesheet per adeguarli alle modifiche.
+
+Funzionamento
+-------------
+
+Data una descrizione della struttura del sito, nel file sitemap.xml, lo
+stylesheet compile.xsl genera un Makefile contenente le istruzioni per la
+trasformazione di tutte le pagine, e i loro prerequisiti.
+
+In questo modo, chiamando make vengono rigenerati soltanto i file i cui
+sorgenti sono stati effettivamente modificati. Inoltre, ad ogni stylesheet
+vengono passati implicitamente due parametri: sitemapuri che indica la URI
+della sitemap relativa allo stylesheet, e active che è un'espressione XPath che
+identifica, dentro la sitemap, il nodo corrispondente alla pagina che si sta
+trasformando. In questo modo gli stylesheet possono accedere a tutte le
+informazioni di navigazione utili.
+
+Potete consultare i sorgenti del sito.
+
+.. _`xml`:
+ http://www.w3.org/TR/REC-xml
+
+.. _`libreria gnome xslt`:
+ http://xmlsoft.org/XSLT
+
+.. _`xweb`:
+ http://xweb.sourceforge.net
+
+.. _`xslt`:
+ http://www.w3.org/TR/xslt