|
From: <tu...@us...> - 2002-11-25 20:50:31
|
Update of /cvsroot/hibernate/Hibernate/doc/reference
In directory sc8-pr-cvs1:/tmp/cvs-serv25884/doc/reference
Added Files:
README
Log Message:
Instructions for documentation generation
--- NEW FILE: README ---
############################################################################
# REQUIRED SOFTWARE #
############################################################################
Some packages are required to compile the HTML and PDF documentation.
On RedHat Linux 7.3, install RPMs:
rpm -i jadetex-3.12-2.noarch.rpm \
sgml-common-0.6.3-9.noarch.rpm \
tetex-1.0.7-47.i386.rpm \
tetex-latex-1.0.7-47.i386.rpm \
tetex-dvips-1.0.7-47.i386.rpm \
openjade-1.3.1-4.i386.rpm \
ed-0.2-25.i386.rpm \
tetex-fonts-1.0.7-47.i386.rpm \
docbook-dtds-1.0-8.noarch.rpm \
docbook-style-xsl-1.49-1.noarch.rpm \
docbook-style-dsssl-1.76-1.noarch.rpm
Link the current DTD to the real version name:
ln -s /usr/share/sgml/docbook/xml-dtd-4.1.2-1.0-8 \
/usr/share/sgml/docbook/xml-dtd-4.1.2
Converting the DocBook XML source to HTML requires an XSL Transformer.
Don't use Xalan, it is broken with the current DocBook XSL stylesheets!
We recommend using Saxon from http://saxon.sourceforge.net/ - the
version in use is 6.5.2. Just move saxon.jar to your libs directory
somewhere and change the path in the scripts.
The PDF output uses TeX and then converts from TeX to PDF. This stuff is
somewhat broken, as the DSSSL stylesheets change regulary and the whole
DocBook toolchain is just a big mess. The configuration files are only
tested with the package versions of the RPMs above!
############################################################################
# HTML DOCUMENTATION #
############################################################################
The following bash script can be used to generate the HTML documentation
(set the path to saxon.jar):
-------------------------- dbtrans2html ------------------------------------
#!/bin/bash
SAXON=~/dev/lib/saxon.jar;
XSL_PARAMS="html.stylesheet='../style.css' \
chunk.section.depth='5' \
use.id.as.filename='1'";
USAGE="usage: dbtrans2html INFILE.xml STYLE.XSL OUTFILE.html|OUTDIR"
if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
echo $USAGE
echo
exit
fi
if [ ! -r $1 ]; then
echo $USAGE
echo File $1 not found or not readable.
echo
exit
fi
echo "Generating HTML with Saxon from XML source: $1"
CLASSPATH=$JAVA_HOME/lib/tools.jar:$SAXON;
CURRDIR=$PWD;
if [ -d $3 ]; then
cd $3;
java -cp $CLASSPATH com.icl.saxon.StyleSheet $1 $2 $XSL_PARAMS
cd $CURRDIR;
else
java -cp $CLASSPATH com.icl.saxon.StyleSheet -o $3 $1 $2 $XSL_PARAMS
fi
echo "Finished."
----------------------------------------------------------------------------
Calling the script (use absolute path names!):
dbtrans2html ~/Hibernate/doc/reference/src/index.xml \
/usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \
~/Hibernate/doc/reference/html_single/index.html
To generate the chunked online HTML documentation, change the XSL file and
use an existing directory as the OUTFILE parameter:
dbtrans2html ~/Hibernate/doc/reference/src/index.xml \
/usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl \
~/Hibernate/doc/reference/html/
############################################################################
# PDF DOCUMENTATION #
############################################################################
The following bash script can be used to generate the PDF documentation
(set the path to xml.dcl):
-------------------------- dbtrans2pdf -------------------------------------
#!/bin/bash
XMLDCL="/usr/share/doc/openjade-1.3.1/pubtext/xml.dcl";
USAGE="usage: dbtrans2pdf INFILE.xml OUTFILE.pdf /path/to/hibernate.dsl"
if [[ -z "$1" || -z "$2" ]]; then
echo $USAGE
echo
exit
fi
if [ ! -r $1 ]; then
echo $USAGE
echo File \"$1\" not found or not readable.
echo
exit
fi
# Generate LaTeX from XML source
echo "Generating TeX from XML source: $1"
TEMPFILE=`date +%s`;
jade -d $3 -t tex -o $TEMPFILE.tex $XMLDCL $1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
echo "Generating PDF..."
# This is really broken, but required for references and TOC...
# min. 3 times:
pdfjadetex $TEMPFILE.tex 2&>/dev/null
pdfjadetex $TEMPFILE.tex 2&>/dev/null
pdfjadetex $TEMPFILE.tex 2&>/dev/null
# Final Move
mv $TEMPFILE.pdf $2
echo "Cleanup..."
# Cleanup
rm $TEMPFILE.*
echo "Finished."
else
echo "ERROR: jadetex failed."
rm $TEMPFILE.tex 2&>/dev/null
fi
----------------------------------------------------------------------------
Calling the script (use absolute path names!):
dbtrans2pdf ~/Hibernate/doc/reference/src/index.xml \
~/Hibernate/doc/reference/pdf/hibernate_reference.pdf \
~/Hibernate/doc/reference/hibernate.dsl
The script hides the STDERR of pdfjadetex (lots of debugging output) by
default. If something goes wrong in this step, you won't see it. If
something is broken in the XML, the jade step will spit out errors earlier,
though.
|