There are currently (12.vi.04) two XML file formats (schemas) used:
The tool I used was XSV, an XML Schema Validator.
Installing it on this Mandrake 8.2 machine (dual-processor Celeron) involved several stages, as described here.
Mandrake comes with a Python 2.2 that can't install PyLTXML. I downloaded and installed Python 2.2.3 from python.org (to avoid possible grief, I used --prefix=/opt/local; /opt/local/bin is early on my path).
You need to download both PyLTXML (I got version 1.3) and LT XML (I got version 1.2.6).
First install LT XML; follow the instructions in ltxml-1.2.6/00INSTALL, I used the default install point (/usr/local).
Then install PyLTXML, following the instructions in PyLTXML-1.3/00INSTALL; it installs inside your Python installation.
I downloaded the sources from the W3C public CVS repository, following the instructions; I checked out the whole xmlschema by
$ cd $ CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs login anonymous $ CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs checkout xmlschema
The tool didn't run properly from the command line, even by making commandLine.py executable; so to validate say States.norm say
$ PYTHONPATH=~/xmlschema python ~/xmlschema/XSV/commandLine.py States.norm ColdFrame-norm.xsd
The rather inscrutable output of a successful validation is like this.
Well, actually I think this is wrong, because you get the same
sort of output no matter what sort of actual document you supply!
To convert the output to HTML, you need to process the above output (which is to standard error):
$ PYTHONPATH=~/xmlschema python ~/xmlschema/XSV/commandLine.py States.norm ColdFrame-norm.xsd \
2>work.xsv
$ java -cp /usr/local/lib/saxon/saxon.jar com.icl.saxon.StyleSheet \
work.xsv ~/xmlschema/xsv.xsl >States-check.html
which resulted in this.