Ci sono tre modi per utilizzare l'XML DocBook 4.1.2 su un server web:
Pre-processando i documenti da riga di comando - Open Jade, XSLT
Utilizzando degli script - PHP, Perl, Python
Con un server per applicazioni - Tomcat + Cocoon
Usare un server per applicazioni come Cocoon è la scelta migliore.
Cocoon in azione | |
---|---|
Per vedere un esempio di web server su cui girano Tomcat + Cocoon che agiscono da server di contenuti per XML DocBook 4.1.2, si può visitare il sito http://www.xml-dev.com:8080/cocoon/mount/docbook/. |
In questa sezione vedremo l'utilizzo di Tomcat + Cocoon come server di contenuti per documenti XML DocBook 4.1.2.
Tomcat è il Java Servlet Container. Per ulteriori informazioni si visiti il sito http://jakarta.apache.org/tomcat/index.html.
Apache Cocoon è un ambiente per la pubblicazione di documenti XML. Per ulteriori informazioni si visiti il sito http://xml.apache.org/cocoon/index.html.
Questo HOWTO non entrerà nei dettagli sulla configurazione di Tomcat + Cocoon, poiché questa problematica è illustrata in http://xml.apache.org/cocoon/installing/index.html. Configurare Tomcat + Cocoon è una facile procedura, che dovrebbe richiedere meno di cinque minuti.
Una volta che si abbiano Cocoon + Tomcat configurati ed operativi, si passi alla sezione seguente, relativa al server di documenti XML DocBook 4.1.2.
Un importante avviso: gli utenti del settore hanno riscontrato problemi di compatibilità utilizzando i fogli di stile DocBook con alcune versioni del parser XML Xalan. Xalan è il parser fornito col JRE (Java Runtime Environment) di Sun, ed è quindi quello utilizzato in maniera predefinita. |
Ci si assicuri, come minimo, di utilizzare l'ultima versione di JRE di Sun (al momento della stesura di questo documento è la 1.4.2).
Si consideri anche l'opportunità di aggiornare il parser Xalan all'ultima versione. Al momento, con l'ultima JRE di Sun, la 1.4.2, è fornito Xalan 2.4.1, mentre lo stesso Xalan è giunto alla versione 2.5.1.
Per controllare la versione di Xalan installata, si esegua:
# java org.apache.xalan.xslt.EnvironmentCheck |
Per ulteriori informazioni, si visiti il sito http://xml.apache.org/xalan-j/faq.html.
In questa fase verranno installati i fogli di stile XSL di Norman Walsh nella directory /usr/local/dbtools/.
Cambiare la directory corrente in /tmp/downloads e decomprimere il file docbook-xsl.
# cd /tmp/downloads/ |
# gzip -d docbook-xsl-1.53.0.tar.gz |
# tar -xvf docbook-xsl-1.53.0.tar |
Per installare docbook-xsl, occorre spostare i file in /usr/local/dbtools.
# mv docbook-xsl-1.53.0 /usr/local/dbtool/docbook-xsl |
Quindi si installino gli XSL di LDP.
Decomprimere il file tldp-xsl-xxxxx.tar.gz e copiare tutti i file nella directory /usr/local/dbtools/docbook-xsl/html.
# cd /tmp/downloads |
# gzip tldp-xsl-xxxxx.tar.gz |
# tar -xvf tldp-xsl-xxxxx.tar |
# mv tldp-html*.xsl /usr/local/dbtools/docbook-xsl/html |
$COCOON_HOME punta alla directory delle applicazioni web di Cocoon (Cocoon Web Application Directory). Questa directory è solitamente /usr/local/jakarta-tomcat-4.1.9/webapps/cocoon/.
Si crei una directory dal nome docbook all'interno di $COCOON_HOME/mount. Qui è dove si collocheranno tutti i propri documenti XML DocBook 4.1.2.
# mkdir $COCOON_HOME/mount/docbook |
Creare un file dal nome sitemap.xmap nella directory $COCOON_HOME/mount/docbook con il seguente contenuto:
# cd $COCOON_HOME/mount/docbook |
# vi sitemap.xmap |
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- usare i componenti convenzionali --> <map:components> <map:generators default="file"/> <map:transformers default="xslt"/> <map:readers default="resource"/> <map:serializers default="html"/> <map:selectors default="browser"/> <map:matchers default="wildcard"/> <map:transformers default="xslt"/> </map:components> <map:pipelines> <map:pipeline> <map:match pattern=""> <map:generate src="samples.xml"/> <map:transform src="/usr/local/jakarta-tomcat-4.1.9/webapps/cocoon/mount/editor/stylesheets/simple-page2html.xsl"/> <map:serialize/> </map:match> <!-- rispondere alle richeste *.html con i propri documenti processati da .xsl --> <map:match pattern="*.html"> <map:generate src="{1}.xml"/> <map:transform src="/usr/local/dbtools/docbook-xsl/html/tldp-html.xsl"/> <map:serialize type="html"/> </map:match> <!-- successivamente, rispondere a richieste *.pdf con i propri documenti processati da doc2pdf.xsl --> <map:match pattern="*.pdf"> <map:generate src="{1}.xml"/> <map:transform src="/usr/local/dbtools/docbook-xsl/fo/docbook.xsl"/> <map:serialize type="fo2pdf"/> </map:match> <map:match pattern="*.xml"> <map:generate src="{1}.xml"/> <map:serialize type="xml"/> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> |
Collocare un file XML DocBook 4.1.2 nella directory $COCOON_HOME/mount/docbook/.
Un file di esempio è disponibile sul sito http://www.xml-dev.com:8080/cocoon/mount/docbook/openjade.xml.
Ora è possibile accedere al documento, utilizzando un browser, all'indirizzo http://localhost:8080/cocoon/mount/sample.html (HTML) o http://localhost:8080/cocoon/mount/sample.pdf (PDF).