]> granicus.if.org Git - docbook-dsssl/commitdiff
more flexible runjade, falls back to openjade, do not hardcode non-existant catalogs
authorAdam Di Carlo <adicarlo@users.sourceforge.net>
Wed, 7 Aug 2002 06:26:41 +0000 (06:26 +0000)
committerAdam Di Carlo <adicarlo@users.sourceforge.net>
Wed, 7 Aug 2002 06:26:41 +0000 (06:26 +0000)
cvstools/dslxref
cvstools/runjade
cvstools/saxon
cvstools/xjparse

index bab30fc703b55dc80bb45b8dd29bb9676c3d3375..287c9ff72e05ac739b86c4eaf5b7552a0eebc7d2 100755 (executable)
@@ -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";
 
index e101c9227c6726ef9f38acfd12567cb5dd0bad75..7f45859c54f9308dd7f65672d0441a290142dc7d 100755 (executable)
@@ -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
index 94955e3b68e49c10342e56fc9bb7735c732fb77a..9c5a633bbdf0de020ddcd0859e3957e18acd11f8 100755 (executable)
@@ -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 \
index f89dd825ff72578591b7e8b7fdfd284e106eb4aa..d22b1682e88d7a6bfdc6c108af64cd8d2e36440f 100755 (executable)
@@ -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