#!/bin/sh # pdf generation from xml and xsl # $1: .xsl file # $2: .xml file if [ $# -ne 2 ] then echo "usage: ${0##*/} " exit 1 fi test -z "$JAVA" && \ JAVA=`which java` test -z "$JAVA" && \ JAVA="$JAVA_HOME/bin/java" if [ ! -x "$JAVA" ] then echo 'error: java not found in your $PATH or in $JAVA_HOME/bin' exit 1 fi test -z "$SAXON" && \ SAXON=`which saxon` if [ -z "$SAXON" ] then test -z "$SAXONJAR" && \ 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