Er zijn 3 manieren om DocBOok 4.1.2 XML vanuit een webserver te bekijken:
Voorverwerkt met OpenJade, XSLT
Via scripts - PHP, Perl, Python
Applicatieserver - Cocoon
Het gebruik van een applicatieserver, zoals Cocoon is de beste optie. In deze sectie zullen we zien hoe we DocBook 4.1.2 XML bestanden met Cocoon+Tomcat kunnen tonen.
Tomcat is de Java Servlet Container. Kijk voor meer informatie op http://jakarta.apache.org/tomcat/index.html
Apache Cocoon is een XML publishing framework. Kijk voor meer informatie op http://xml.apache.org/cocoon/index.html
In deze HOWTO zal niet worden ingegaan op details nodig voor het instellen van Cocoon+Tomcat, aangezien dit reeds wordt uitgelegd op @ http://xml.apache.org/cocoon/installing/index.html. In instellen van Tomcat+Cocoon is niet moeilijk en het zou in minder dan 5 minuten moeten kunnen.
Zodra je Cocoon + Tomcat werkend hebt, volg je de volgende secties om de inhoud van DocBook 4.1.2 XML in een browser te kunnen bekijken.
In deze stap zullen we XSL van Norman Walsh installeren onder /usr/local/dbtools/.
Ga naar de directory /tmp/downloadsen pak het archiefbestand docbook-xsl uit.
# cd /tmp/downloads/ |
# gzip -d docbook-xsl-1.53.0.tar.gz |
# tar -xvf docbook-xsl-1.53.0.tar |
Verplaats voor de installatie van docbook-xsl de bestanden naar de directory /usr/local/dbtools
# mv docbook-xsl-1.53.0 /usr/local/dbtool/docbook-xsl |
Installeer dan de LDP XSL
Decomprimeer het bestand ldp-xs.zip en kopieer alle bestanden naar de directory /usr/local/dbtools/docbook-xsl/html.
# cd /tmp/downloads |
# unzip ldp-xs.zip |
# mv ldp-html*.xsl /usr/local/dbtools/docbook-xsl/html |
Bewerk vervolgens het bestand /usr/local/dbtools/docbook-xsl/html/ldp-html.xsl om het pad voor het importbestand in te stellen.
# vi /usr/local/dbtools/docbook-xsl/html/ldp-html.xsl |
wijzig:
import href="/usr/share/sgml/docbook/docbook-xsl-1.44/html/docbook.xsl" |
in:
import href="/usr/local/dbtools/docbook-xsl/html/docbook.xsl" |
$COCOON_HOME verwijst naar de Cocoon Web Application Directory. Dit is de directory /usr/local/jakarta-tomcat-4.1.9/webapps/cocoon/
Maak een directory met de naam docbook aan onder $COCOON_HOME/mount. Hier zullen we alle DocBook XML 4.1.2 inhoud gaan plaatsen.
# mkdir $COCOON_HOME/mount/docbook |
Maak een bestand sitemap.xmap aan in de directory $COCOON_HOME/mount/docbook met de volgende inhoud:
# cd $COCOON_HOME/mount/docbook |
# vi sitemap.xmap |
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- gebruik de standaardcomponenten --> <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> <!-- reageer op *.html verzoeken met onze docs verwerkt door .xsl --> <map:match pattern="*.html"> <map:generate src="{1}.xml"/> <map:transform src="/usr/local/dbtools/docbook-xsl/html/ldp-html.xsl"/> <map:serialize type="html"/> </map:match> <!-- later, reageer op *.pdf verzoeken met onze docs verwerkt door 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> |
Plaats een DocBook 4.1.2 XML-bestand in $COCOON_HOME/mount/docbook/
Een voorbeeldbestand is beschikbaar vanaf http://docbook.sc-icc.org/sample.xml
Nu kun je het document benaderen vanuit een browser @ http://localhost:8080/cocoon/mount/sample.html (HTML) of http://localhost:8080/cocoon/mount/sample.pdf (PDF)