SAX Conformance Testing

This is the official site for Elliotte Rusty Harold's SAX conformance test suite. To learn more about the test suite consult the paper presented at XML Europe 2004.

Results for Different Parsers

Running the Tests Yourself

You'll need Java and Ant installed. Any recent version should do.

  1. Download the test framework and unzip it. This creates a directory named SAXTest.
  2. Download the W3C XML Conformance Test Suite and unzip it in the SAXTest directory. This creates a directory named xmlconf.
  3. Place the jar archives for the parsers you wish to test in the SAXTest/lib directory.
  4. Generate the expected output:

    % ant expected

    This creates the directory SAXTest/results/preexpected
  5. Copy SAXTest/results/preexpected to SAXTest/expected. (This step really shouldn't be necessary. I need tom fix this.)
  6. Generate the actual output. There are targets in the build file for the major parsers. For example,

    % ant generate-oracle

    To try out a new parser, copy one of the ant tasks, and change the argument to the fully package-qualified class name of your parser.

  7. Compare the results. For example,

    % ant compare-oracle

    This creates XML output such as oracle.xml.parser.v2.SAXParser.xml. The file is named after the fully package qualified parser name.
  8. Use the XSLT stylesheet results.xsl to convert the XML into HTMl for viewing. For example,

    % xsltproc results.xsl oracle.xml.parser.v2.SAXParser.xml>oracle.xml.parser.v2.SAXParser.html

These instructions are pretty rough at this point, and have not been heavily tested except on my system. The whole process needs to be more automated. If you have any trouble getting this to run, please send me e-mail, and I'll see what I can do.

Copyright 2004 Elliotte Rusty Harold