From: Adam Di Carlo Date: Wed, 7 Aug 2002 06:26:41 +0000 (+0000) Subject: more flexible runjade, falls back to openjade, do not hardcode non-existant catalogs X-Git-Tag: release/1.79.1~6^2~5355 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c74a0e52065645a94c180dcefc7c11f247a900dd;p=docbook-dsssl more flexible runjade, falls back to openjade, do not hardcode non-existant catalogs --- diff --git a/cvstools/dslxref b/cvstools/dslxref index bab30fc70..287c9ff72 100755 --- a/cvstools/dslxref +++ b/cvstools/dslxref @@ -3,8 +3,8 @@ use Getopt::Std; use Cwd; -$root = '/sourceforge/docbook/dsssl'; -$bindir = '/sourceforge/docbook/cvstools'; +$root = '/usr/local/src/docbook/sourceforge/docbook'; +$bindir = "$root/cvstools"; $usage = "Usage: $0 [ -p prefix ] file\n"; diff --git a/cvstools/runjade b/cvstools/runjade index e101c9227..7f45859c5 100755 --- a/cvstools/runjade +++ b/cvstools/runjade @@ -4,7 +4,29 @@ FORMAT=$1; shift DSSSL=$1; shift SOURCE=$1; shift -JADE=/usr/bin/jade -CATALOGS="-c /share/doctypes/catalog -c /sourceforge/docbook/dsssl/catalog" +# find jade in the path +JADE=`command -v jade` +if [ ! -x "$JADE" ]; then + # fallback to openjade + JADE=`command -v openjade` + if [ ! -x "$JADE" ]; then + echo "cannot find jade or openjade" 1>&2 + exit 1 + fi +fi -$JADE $CATALOGS -t $FORMAT -d $DSSSL $* $SOURCE +# include dsssl/catalog +MYDIR=`dirname $0` +DOCBKCVSDIR=`cd ${MYDIR}/.. && pwd` +if [ -f ${DOCBKCVSDIR}/dsssl/catalog ]; then + CATALOGS="$CATALOGS -c ${DOCBKCVSDIR}/dsssl/catalog" +elif [ -f /sourceforge/docbook/dsssl/catalog ]; then + CATALOGS="$CATALOGS -c /sourceforge/docbook/dsssl/catalog" +fi + +# optional extra catalogs +if [ -f /share/doctypes/catalog ]; then + CATALOGS="$CATALOGS -c /share/doctypes/catalog" +fi + +exec $JADE $CATALOGS -t $FORMAT -d $DSSSL $* $SOURCE diff --git a/cvstools/saxon b/cvstools/saxon index 94955e3b6..9c5a633bb 100755 --- a/cvstools/saxon +++ b/cvstools/saxon @@ -109,6 +109,7 @@ case $VERSION in ;; esac + DOTTEDVERSION=`echo $VERSION | sed -e 's/\([0-9]\)\([0-9]\)/\1.\2/g;' | sed -e 's/\([0-9]\)\([0-9]\)/\1.\2/g;'` ## @@ -220,9 +221,70 @@ if [ ! "$JAXP" ]; then echo "warning: cannot locate JAXP (jaxp.jar)" 1>&2 fi -RESOLVER="${RESOLVER:-/projects/apache/xml-commons/java/build/classes}:" +## +## optionally replace the URI resolver with the Sun +## resolver classes +## +for path in "/projects/sun/resolver/.classes" \ + "/projects/apache/xml-commons/java/build/classes" \ + "/usr/local/share/java/sun-resolver.jar" \ + "/usr/local/java/sun-resolver.jar" \ + "/usr/share/java/sun-resolver.jar"; do + if [ -f "$path" -o -d "$path" ]; then + RESOLVER="$path" + break + fi +done +if [ -f "$RESOLVER" -o -d "$RESOLVER" ]; then + # use the sun resolver + if [ ! "$XARG" ]; then + XARG="-x com.sun.resolver.tools.ResolvingXMLReader" + fi + if [ ! "$YARG" ]; then + YARG="-y com.sun.resolver.tools.ResolvingXMLReader" + fi + if [ ! "$RARG" ]; then + RARG="-r com.sun.resolver.tools.CatalogResolver" + fi +fi + +## +## locate Xerces classpath +## +if [ ! "$XERCES" ]; then + for path in "/projects/apache/xml-xerces/java/build/classes" \ + "/usr/local/share/java/xerces.jar" \ + "/usr/local/java/xerces.jar" \ + "/usr/share/java/xerces.jar"; do + if [ -f "$path" -o -d "$path" ]; then + XERCES="$path" + fi + done +fi +if [ ! "$XERCES" ]; then + echo "warning: cannot locate Xerces (xerces.jar)" 1>&2 +fi + +## +## locate JAXP classpath +## +if [ ! "$JAXP" ]; then + for path in "/usr/local/share/java/jaxp.jar" \ + "/usr/local/java/jaxp.jar" \ + "/usr/local/jaxp-1.1/jaxp.jar" \ + "/usr/local/share/java/jaxp-1.1/jaxp.jar" \ + "/usr/share/java/jaxp.jar"; do + if [ -f "$path" -o -d "$path" ]; then + JAXP="$path" + fi + done +fi +if [ ! "$JAXP" ]; then + echo "warning: cannot locate JAXP (jaxp.jar), using /projects/sun/resolver/.classes" 1>&2 + JAXP="/projects/sun/resolver/.classes" +fi -CLASSPATH=$SAXON:$NDWEXT:$JAXP:$RESOLVER$XERCES:$CLASSPATH +CLASSPATH=$SAXON:$NDWEXT:$JAXP:$RESOLVER:$XERCES:$CLASSPATH # echo "classpath is $CLASSPATH" @@ -240,7 +302,7 @@ TRANSFACTORY=com.icl.saxon.TransformerFactoryImpl DBFACTORY=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl SPFACTORY=org.apache.xerces.jaxp.SAXParserFactoryImpl -java $MEMORY $FOO \ +exec java $MEMORY $FOO \ -cp $CLASSPATH \ -Djavax.xml.parsers.DocumentBuilderFactory=$DBFACTORY \ -Djavax.xml.parsers.SAXParserFactory=$SPFACTORY \ diff --git a/cvstools/xjparse b/cvstools/xjparse index f89dd825f..d22b1682e 100755 --- a/cvstools/xjparse +++ b/cvstools/xjparse @@ -3,16 +3,48 @@ # This shell script will definitely need to be hacked to run on your system! # # Usage: xjparse [opts] src.xml +# + +for path in $RESOLVER \ + "/projects/apache/xml-commons/java/build/classes" \ + "/projects/sun/resolver/.classes" ; do + if [ -f "$path" -o -d "$path" ]; then + RESOLVER="$path" + break + fi +done +if [ ! "$RESOLVER" ]; then + echo "cannot find sun/resolver classes" 1>&2 + exit 1 +fi + +for path in "/usr/local/jaxp-1.1/crimson.jar" \ + "/usr/local/java/jaxp-1.1/crimson.jar" \ + "/usr/local/share/java/jaxp-1.1/crimson.jar" \ + "/usr/share/java/crimson.jar"; do + if [ -f "$path" -o -d "$path" ]; then + CRIMSON="$path" + break + fi +done + +for path in "/usr/local/jaxp-1.1/jaxp.jar" \ + "/usr/local/java/jaxp-1.1/jaxp.jar" \ + "/usr/local/share/java/jaxp-1.1/jaxp.jar" \ + "/usr/share/java/jaxp.jar"; do + if [ -f "$path" -o -d "$path" ]; then + JAXP="$path" + break + fi +done -JAXP="${JAXP:-/usr/local/jaxp-1.1/jaxp.jar}:" -RESOLVER="${RESOLVER:-/projects/apache/xml-commons/java/build/classes}:" XERCES="${XERCES:-/projects/apache/xml-xerces/java/build/classes}:" -CLASSPATH=$JAXP$RESOLVER$XERCES$CLASSPATH +CLASSPATH=$JAXP:$CRIMSON:$RESOLVER:$XERCES:$CLASSPATH #echo $CLASSPATH -java \ +java -cp $CLASSPATH \ org.apache.xml.resolver.apps.xread $* if [ $? != 0 ]; then