WHAT IS THIS
    GNUJAXP includes interfaces and implementations for basic XML
    processing in Java, and some general purpose SAX2 utilities.

    The standard distribution includes "gnujaxp.jar", javadoc, and full
    source code.  The current software is available at:

    	http://www.gnu.org/software/classpathx/jaxp

    This is intended only to require JDK 1.1 support to compile or run;
    that may change at some point, but for now portability to PJava and
    other widely used Java configurations/profiles is important.
    
    GCJ 3.0 has some bugs compiling this code, either to class files or
    to native code.  Newer snapshots (GCJ 3.1) are currently needed to
    compile this code.

JAVA PACKAGES
    
    javax.xml.*		... JAXP 1.1 interfaces
    org.xml.sax.*	... SAX2 (r2pre3, extensions 1.1beta) interfaces
    org.w3c.dom.*	... DOM Level 2 interfaces

    gnu.xml.aelfred2.*	... SAX2 parsers (+ optional validator, and JAXP glue)
    gnu.xml.dom.*	... DOM level 2 (XML) implementation (and JAXP glue)
    gnu.xml.pipeline.*	... SAX2 event pipeline support
    gnu.xml.util.*	... various XML utility classes

LICENSING
    Briefly, most software in this package is distributed under the
    GNU General Public License with the "library exception" that 
    permits its usage even in statically linked environments.  That
    licensing is more permissive than the "LGPL".

    See the LICENSE file for more information.

BUILDING
    The default build tools use autoconf and GNU make.

    	$ ./configure
	...
	$ make all
	...
	$
    
    You will need a java compiler on the PATH to build GNUJAXP. You
    can specify one at configuration time like this:

        $ JAVA_CC=javac ./configure
	$ make all

    See the file HACKING for how to build from CVS.

INSTALLATION AND CONFIGURATION
    The simplest way to use this software is to put the "gnujaxp.jar"
    file into $JAVA_HOME/jre/lib/ext so that it's automatically part
    of the classpath for every application.  That works for JDK 1.2
    and later.

    Otherwise, you'll need some other way to put it into $CLASSPATH,
    such as an environment variable.

    If you have multiple XML tools implementations in your environment,
    you may need to configure software to use the implementations in 
    the GNUJAXP distribution rather than some other one.  See the project
    website (http://www.gnu.org/software/classpathx/jaxp) for information.

CONFORMANCE TESTING
    The primary test resources are at http://xmlconf.sourceforge.net
    and include:

    SAX2/XML conformance tests
	That the "xml.testing.Driver" addresses the core XML 1.0
	specification requirements, which closely correspond to the
	functionality SAX1 provides.  The driver uses SAX2 APIs to
	test that functionality It is used with a bugfixed version of
	the NIST/OASIS XML conformance test cases.
	
	The AElfred2 parser is highly conformant, though it still takes
	a few implementation shortcuts.  See its package documentation
	for information about known XML conformance issues in AElfred2.

	The primary issue is using Unicode character tables, rather than
	those in the XML specification, for determining what names are
	valid.  Most applications won't notice the difference, and this
	solution is smaller and faster than the alternative.

	For validation, a secondary issue is that issues relating to
	entity modularity are not validated; they can't all be cleanly
	layered.  For example, validity constraints related to standalone
	declarations and PE nesting are not checked.

    SAX2
	SAX2 API conformance currently has a minimal JUNIT (0.2) test suite,
	which can be accessed at the xmlconf site listed above.  It does
	not cover namespaces or LexicalHandler and Declhandler extensions
	anywhere as exhaustively as the SAX1 level functionality is
	tested by the "xml.testing.Driver".  However:

	    - Applying the DOM unit tests to this implementation gives
	      the LexicalHandler (comments, and boundaries of DTDs,
	      CDATA sections, and general entities) a workout, and
	      does the same for DeclHandler entity declarations.
	    
	    - The pipeline package's layered validator demands that
	      element and attribute declarations are reported correctly.
	
	By those metrics, SAX2 conformance for AElfred2 is also strong. 
    
    DOM Level 1 (and Level 2 Events) Tests
	The "domunit 0.0.6" tests use the JAXP API to hook up a DOM
	implementation to a parser (out of scope for DOM Level 2).
	Those DOM unit tests are mostly related to Level 1, except
	for a few relating to the Level 2 events module.

	All of these tests pass.

	However, you may want to be aware that Entity nodes, and all
	EntityReference nodes not created by parsing a document, will
	have no children.  Since you should as a rule avoid both these
	node types, you probably won't run into related problems.

