#!/bin/sh # pdf generation from xml and xsl # $1: .xsl file # $2: .xml file if [ $# -ne 2 ] then echo "usage: ${0##*/} " exit 1 fi JAVA=`which java` if [ "$JAVA" = "" ] then JAVA="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVA" ] then echo 'error: java not found in your $PATH or in $JAVA_HOME/bin' \ && exit 1 fi SAXON=`which saxon` if [ "$SAXON" = "" ] then SAXONJAR='/usr/share/java/saxon.jar' if [ ! -f $SAXONJAR ] then SAXONJAR='/usr/local/share/java/saxon.jar' if [ ! -f $SAXONJAR ] then echo "error: neither saxon nor saxon.jar were found" \ && exit 1 fi fi SAXON="$JAVA -jar $SAXONJAR" fi if [ -n "$XML_CATALOG_FILES" ] then CATALOG_FILES=$XML_CATALOG_FILES else echo "warning: XML_CATALOG_FILES is not set or empty" CATALOG_FILES="/usr/local/etc/xml/catalog /etc/xml/catalog $HOME/xml/catalog" fi KEY="http://docbook.sourceforge.net/release/xsl/current" # manual base name SCM=sylpheed-claws-manual for CATALOG in $CATALOG_FILES do if [ -s "$CATALOG" ] then DOCBOOKXSLPATH=$(xmlcatalog "$CATALOG" "$KEY/") # second chance if [ $? -ne 0 -o -z "$DOCBOOKXSLPATH" ] then DOCBOOKXSLPATH=$(xmlcatalog "$CATALOG" "$KEY") # still not found test $? -ne 0 -o -z "$DOCBOOKXSLPATH" && \ continue fi test "${DOCBOOKXSLPATH:0:7}" == "file://" && \ DOCBOOKXSLPATH=${DOCBOOKXSLPATH:7} if [ -n "$DOCBOOKXSLPATH" ] then echo "docbook-xsl path found: $DOCBOOKXSLPATH" sed "s|@DOCBOOK_XSL_PATH@|$DOCBOOKXSLPATH|g" "$1" \ > ${SCM}.xsl && \ $SAXON -o ${SCM}.fo "$2" ${SCM}.xsl && \ fop -fo ${SCM}.fo -pdf ${SCM}.pdf exit $? fi fi done echo "couldn't find docbook-xsl path from any of the following catalog files:" echo "$CATALOG_FILES" exit 1