#!/bin/bash

# convert votable to delimited file (tsv,csv)
# vo2dlm [-d DFS] {-h} infile.vot 
# -d DFS ... delimiter for output ("|,";",","), ["\t"] 
#-----------------------------------------------------------------------
DFS="\t"; HELP=; SHOW=;
#-----------------------------------------------------------------------

while getopts d:sh OPTVAL
do
    case $OPTVAL in
	d) DFS=$OPTARG;;
	h) HELP=1;;
	*) echo "vot2dlm -h for help"; exit -1
    esac
done
shift $((OPTIND-1))

if [ $HELP ]; then
    echo "vo2dlm [-d DFS] {-s} {-h} infile.vot"
    echo " -d .. field separator for output file, "[\t]" ("," etc)"
    exit
fi
#-----------------------------------------------------------------------

IFILE=$1

grep "<FIELD " $IFILE | sed 's/\(^.*<FIELD name="\)\([^"]*\)\(".*$\)/\2/' | gsed -n '${x;G;s/\n//gp};s/$/'"$DFS"'/;H'

gsed -n '/<TABLEDATA>/,/<\/TABLEDATA>/{/TABLEDATA>/d;/<TR>/d;s/<TD>//;s/^[ \t]*//;s/<.TD>//;p;}' $IFILE | awk '{$1=$1;if (length>0){print}}' RS="</TR>" OFS="$DFS"
