ColdFrame: XML Schemas

There are currently (12.vi.04) two XML file formats (schemas) used:

Validation

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.

Python

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).

PyLTXML

Get this from here. You fill in a form to tell the developers something about who you are and sign up for their mailing list (or not): the site sends you the download URL by return (well, on the second try for me!)

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.

XSV

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

Using XSV

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.


Simon Wright