Java Library Subproject

About this Java Library
Javadoc
Downloads
Browse CVS

XMLconf project

Valid XHTML SourceForge Logo

About this Java Library

There are three sets of functionality in the Java library here. The core code is all Free Software (GPL) and the rest is at least Open Source.

Testing Support
These include test harnesses. Unless otherwise stated, all testing code is GPL'd.
  • SAX2/XML Conformance Test Harness (javadoc) was the original nucleus of this site, with the goal of evolving evolving a more general testing framework. This is part of the java/lib CVS module in this project (which includes all the test software needed).
  • SAX2 JUNIT Tests (file distribution only) These test cases use the www.junit.org testing framework (Java soures at junit.sourceforge.net, not GPL'd). They test aspects of the SAX2 API that the other test harness doesn't, since it's oriented towards finding bugs in how XML 1.0 support is provided.
  • DOMunit tests also use the JUNIT testing framework. They test DOM conformance, and to a certain degree JAXP 1.1 conformance. (Note that the W3C has now started up a DOM test suite effort of its own, which is developing non-GPL'd test software.)
Java APIs for the XML technologies being tested
These can involve change control processes which preclude distribution under GPL. Examples include SAX2, DOM Level 2, and Sun's JAXP 1.1
Reference implementations of those APIs
This is mostly an issue for XML conformance testing. This library includes older versions of the code which is now available through the JAXP subproject of the GNU Classpath Extensions project. (The code includes SAX2/Ælfred2 XML Utilities, including the SAX2 XML Pipeline package, and DOM2, which was the first generally available implementation of DOM Level 2, as well as JAXP 1.1 glue for those packages.) The local copy should only be used in the context of this test suite.

Javadoc for the latest version of the reference code is online here, and a apidoc.zip file is available for download.

That current version is available under a more lenient license than the version provided through this project. That uses the GPL with library exception to permit using that distribution as a library in proprietary applications without any risk of so-called "viral contamination". (It's the same license used for the GNU C library.) Those are roughly the same terms that proprietary applications get for proprietary third party libraries, except that they have more freedom to resolve infrastructure bugs. (And are not subject to the viral characteristics of NonDisclosure Agreements affecting those libraries.)

GPL'd contributions of related testing software would be welcomed.

Building

There's a Makefile that should basically work most UNIX-like systems. (Maybe with some tweaks.) Run "make" with no arguments to get suggestions for interesting targets. This gets built mostly with JDK 1.3, or other JDK ports; javadoc requires at least JDK 1.2 to build.

GCJ 3.0 compiles most everything except DOM2, and the core parser support (including validation) works. Running the sanity tests turns up some bugs in the GCJ runtime; subsequent GCJ release should have fixes for all of these.

On Win32 systems, cygwin is recommended. (Some users have reported that GNU find must precede the Win32 one in $PATH.) Or, you may prefer to use the "antbuild.bat" file rather than the Makefile.

Getting XML Test Cases

Neither of the sets of testcases from the OASIS/NIST XML Conformance Working Group work right "out of the box". You are encouraged to use the more current version of these test cases that resides in this projects xml/suite CVS module. In fact, get the whole xml module and use it to generate reports for whichever parser you're testing.