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";
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
;;
esac
+
DOTTEDVERSION=`echo $VERSION | sed -e 's/\([0-9]\)\([0-9]\)/\1.\2/g;' | sed -e 's/\([0-9]\)\([0-9]\)/\1.\2/g;'`
##
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"
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 \
# 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