XML.com: XML From the Inside Out
oreilly.comSafari Bookshelf.Conferences.


Conformance Testing for XML Processors

September 15, 1999



Part 1: Conformance Testing for XML Processors
Part 2: Background on Conformance Testing
Part 3: Non-Validating XML Processors
Part 4: Validating XML Processors
Part 5: Summary

One indication of XML's success is that a dozen or so implementations of an XML processor exist.  These processors, spanning a variety of programming environments, are at the core of a new generation of web tools that are revolutionizing the dynamic generation of HTML and enabling new types of web applications, including business-to-business data messaging. But are all XML processors doing what they are supposed to do? Will the tools built with those processors create rivers of interoperable messages and documents? Will they create islands of data that can only be used with a single set of tools?

This article looks at most of the XML processors available today for use in Java-based XML systems and evaluates how closely they follow the XML 1.0 specification. We will provide you with the hard data from our tests, so you can independently evaluate every claim made in this article and reproduce the results yourself. The results leverage the freely available OASIS XML Conformance Test Suite. While that suite has only been published relatively recently, many of its key components have been well known to the XML community for over a year and a half; they shouldn't come as a big surprise for any implementor. Many of these tests have been used for basic quality testing in a variety of XML processors.

If you want a quick overview of the testing results of each type of parser, use the quick reference table at the beginning of the pages of test results. From those tables you can link to a discussion of each processor, and from from there you can access the complete test reports for each parser (typically 150 KBytes of HTML). Or, read in logical order:

  • Learn about the testing that was done, starting with the OASIS suite and adding Java software.
  • Test results for the non-validating XML processors are presented after a quick reference table.
    • Ælfred
    • DataChannel XML Parser for Java
    • IBM's XML4j
    • Lark
    • Oracle's V2 parser
    • Silfide XML Parse (SXP)
    • Sun's "Java Project X''
    • XP
  • Results for the validating processors are presented after their own quick reference table. Most of them are built on top of a non-validating processor, and inherit the strengths and weaknesses of that core processor.
    • IBM's XML4j
    • Microsoft's MSXML
    • Oracle's V2 parser
    • Sun's "Java Project X''
  • The conclusion summarizes some basic lessons for both developers of XML software, and users of XML based systems.

Pages: 1, 2, 3, 4, 5

Next Pagearrow