[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-tc] DocBook Technical Committee Meeting Agenda: 15 December 2004
Bob Stayton <bobs@sagehill.net> writes: > b. Mike to write up the DTD test suite process. Intead of writing up the process, I just wrote a script. See attached. It's also at: http://docbook.sourceforge.net/outgoing/docbook-dtd-test You need to have cvs, wget, unzip, sed, and xmllint installed to make it work. Here is an example of how to run it, and output from it: msmith@sideshowbarker ~ $ /sandbox/cvstools/docbook-dtd-test -t /scratch http://www.docbook.org/xml/4.4CR2/docbook-xml-4.4CR2.zip Not valid: informalequation-mml.001.xml Not valid: mathml.001.xml Not valid: productionset.001.xml Not valid: productionset.002.xml Not valid: productionset.003.xml Not valid: productionset.004.xml Not valid: productionset.005.xml Not valid: productionset.006.xml Not valid: svg.001.xml Not valid: template.xml The template.xml file is not valid by design. And the other files are all invalid because the don't reference the correct DTD customizations (MathML, EBNF, SVG modules). --Mike
#!/bin/sh # $Id: docbook-dtd-test,v 1.1 2004/12/15 21:37:17 xmldoc Exp $ TEMPDIR=/tmp CVS=cvs CVS_OPTS='-Q' WGET=wget WGET_OPTS='-q' UNZIP=unzip UNZIP_OPTS='-q' SED=sed SED_OPTS= XMLLINT=xmllint XMLLINT_OPTS='--noout --nonet --postvalid --nowarning --xinclude' usage="Usage: `basename $0` [-t TEMPDIR] [-v] URI " opts_admon="Type '`basename $0` -h' for details about options. " help="Options: -t TEMPDIR Specifies temporary directory (default: /tmp) -v Specifies verbose output for validation phase URI Location of zip file containing DocBook DTD to validate against Example: `basename $0` -v -t /scratch http://www.docbook.org/xml/4.4CR2/docbook-xml-4.4CR2.zip " while getopts "ht:v" opt; do case $opt in h ) printf "$usage" printf "$help" exit 0 ;; t ) TEMPDIR=$OPTARG ;; v ) VERBOSE=Yes ;; \? ) printf "$usage" printf "$opts_admon" exit 1 ;; esac done shift $(($OPTIND - 1)) if [ "$1" = "" ]; then echo "`basename $0`: Error - no URI specified" printf "$usage" printf "$opts_admon" exit 1 fi cd $TEMPDIR $CVS $CVS_OPTS -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/docbook co testdocs zipfile=`basename $1` unzip_dir=`basename $1 .zip` url_base=`dirname $1` version=`basename $url_base` rm -rf $unzip_dir mkdir $unzip_dir cd $unzip_dir $WGET $WGET_OPTS $1 $UNZIP $UNZIP_OPTS `basename $1` XML_CATALOG_FILES=$TEMPDIR/$unzip_dir/catalog.xml export XML_CATALOG_FILES cd $TEMPDIR/testdocs/tests for file in `find . -name "*.xml" | cut -c3-`; do if [ "$VERBOSE" = "Yes" ]; then $SED $SED_OPTS "s#/[^/]\+/docbookx.dtd#/$version/docbookx.dtd#" $file \ | $XMLLINT $XMLLINT_OPTS - else $SED $SED_OPTS "s#/[^/]\+/docbookx.dtd#/$version/docbookx.dtd#" $file \ | $XMLLINT $XMLLINT_OPTS - 1>/dev/null 2>&1 fi if [ $? != "0" ] ; then echo "Not valid: $file" if [ "$VERBOSE" = "Yes" ]; then echo fi fi done cd $TEMPDIR rm -rf testdocs rm -rf $unzip_dir
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]