#!/bin/bash

RAW=0
KEEP=0
XSVOUT=${XSVOUTPUT:=/tmp/xsv.$$}
STYLE=${XSVSTYLESHEET:-/share/xsl/xsv/textmsgs.xsl}
APPLY=${XSVAPPLYSCHEMA:-/projects/w3c/xmlschema/applyschema.py}

# peel off the arguments that we recognize
DONE=1

if [ "$1" != "" ]; then
	DONE=0
fi

while [ "$DONE" = "0" ]; do
    case $1 in
	-raw)	RAW=1;
		shift;
		;;
	-out)	shift;
		XSVOUT=$1;
		KEEP=1;
		shift;
		;;
	-style)	shift;
		STYLE=$1;
		shift;
		;;
	-apply) shift;
		APPLY=$1;
		shift;
		;;
	-*)	DONE=1;
		echo "Unexpected arguments, passing to $APPLY:";
		echo "  $*"
		;;
	*)	DONE=1
    esac
done

python $APPLY $* 2> $XSVOUT

if [ "$RAW" != "1" ]; then
  XT="/usr/local/java/xt/xt.jar";
  XP="/usr/local/java/xp/xp.jar";
  SUN="/projects/sun/resolver/.classes";

  CLASSPATH=$XT:$XP:$SUN:$CLASSPATH

  java \
   -Dxml.catalog.debug=1 \
   -Dxml.catalog.files=/share/doctypes/catalog \
   com.sun.xt.xsl.sax.Driver $XSVOUT $STYLE /tmp/xsv-styled.$$
  mv /tmp/xsv-styled.$$ $XSVOUT

  if [ $? != 0 ]; then
    echo ""
    echo FAILED
    echo ""
  fi
fi

if [ "$KEEP" != "1" ]; then
  cat $XSVOUT
  rm -f $XSVOUT
fi

