[jdom-interest] Jdom DTD validation error state

Weiss, Arthur arthur.weiss at gs.com
Thu Feb 28 16:51:15 PST 2002

I am using Jdom Beta 7 and am validating an XML file against a DTD. If I
process an invalid file and Jdom reports an exception due to non-conformance
with the DTD, then I can't process a valid file afterwards without
restarting my process. It seems that Jdom remembers the error state and does
not clear it even though I am instantiating a new SaxBuilder with a
different valid XML file. For the valid file, Jdom reports some spurious
exception that an "Attribute value must be unique within a document". Has
anybody encountered this problem before? I get the same behavior even if I
substitute a later version of the Xerces parser than the one shipped with
Jdom. Following is a short program exhibiting this behavior. I can post the
valid and invalid XML files (together with the DTD) if needed. 
import java.io.*;

import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;

 * <b><code>XMLparse</code></b> will parse an XML document for
 *  configuration information
public class XMLparse {
    private Document doc = null;
    private SAXBuilder builder1 = null;
    private SAXBuilder builder2 = null;

    public XMLparse ()
        for (int i=0; i < 2; ++i)
            try {
                // Create the document (with validation)
                if (i == 1)
	        // Jdom complains about the document even though it is valid
                    builder1 = new SAXBuilder(true);
                    doc = builder1.build(new File("XMLvalid.xml"));
                    builder2 = new SAXBuilder(true);
                    doc = builder2.build(new File("XMLinvalid.xml"));

                // Output the document, use standard formatter
                XMLOutputter fmt = new XMLOutputter();
                fmt.output(doc, System.out);

            } catch (Exception e) {
                if (e instanceof JDOMException )


    public static void main(String[] args)
        new XMLparse();

More information about the jdom-interest mailing list