XML Validator Built Using Stock Programmer's Tools

Subject:  XML Validator Built Using Stock Programmer's Tools 
Author:   Richard L. Goerwitz III
Email:    richard@goon.stg.brown.edu
Date:     1998/12/07
Forum:    comp.text.xml 

We (Brown University, Scholarly Technology Group = STG) have just gotten the XML validator that we use in-house into shape for a beta release. We've only had a chance to test it under Linux and Solaris, but it should be usable on many other platforms as well. (A student is currently using it to convert a rather complex SGML-based DTD, and some associated documents, to XML on a Solaris machine. We are also using it as the back end for our web- based validator, on which see below.)

The closest thing we have to a homepage for Xmlparse is a brief blurb about the underutilization of validation in the XML world:


For the impatient, Xmlparse RPM binaries are available for RedHat Linux 4.2 and 5.2 (glibc-2.0.7). These may be had at:



A lightly tested Sun SPARC Solaris 2.4+ .pkg file is also available:


The source for Xmlparse lives in a gzipped tar archive at:


In order to compile Xmlparse, some version of GNU Flex augmented with James Lauth's Unicode patches (jlauth@lauth.com) is needed. This is all fully documented in the above archive's INSTALL file.

Last year there was a lot of discussion about how to use standard tools like Lex and YACC to deal with XML. One of the reasons I wrote Xmlparse was to show that it really is possible to write a reasonable Unicode-aware validator using some recent, patched versions of these tools. (My thanks go to James Lauth for making Flex Unicode-aware, and for doing a nice, clean job of it.)

For an example of how Xmlparse can be used as a back end for a web-based validation system, see the validator maintained by Brown University's Scholarly Technology Group:


Those with decent net connections may prefer using this validator to using Xmlparse locally.

Xmlparse is copyright 1998 Brown University and Richard Goerwitz. It may be redistributed in whole or in part in source or in binary format according to the terms outlined in the COPYRIGHT file that comes with both the binary and source distributions.

Please send bug reports to me at Richard_Goerwitz@Brown.EDU. Xmlparse is admittely a bit of a hack. We don't get paid for this work ;-). So if you feel inclined to complain about the code, be a pal and send in patches to fix it, too.

Richard Goerwitz

PGP key fingerprint:    C1 3E F4 23 7C 33 51 8D  3B 88 53 57 56 0D 38 A0
For more info (mail, phone, fax no.):  finger richard@goon.stg.brown.edu