Title: XMLGrammarBuilder sample

I'm having trouble with one of the sample programs that comes with he xerces-j 2.6.2 distribution.  It is:
~xerces/samples/xni/XMLGrammarBuilder.java

As distributed, it will preparse multiple XSD files (grammars).  I have an XSD file with an intentional bug.  If I specify that XSD file as the first one to preparse, the error will be reported.  However, if I specify a valid XSD file first and then the one with the bug, the error will not be reported.  Is there a method to "reset" things?

Here's the block of code that preparses the specified grammars (XSD files):

    ...
    // parse the grammar...
    try {
            if (isDTD) {
                    for (i = 0; i < externalDTDs.size(); i++) {
                            Grammar g = preparser.preparseGrammar(
                                    XMLGrammarDescription.XML_DTD,
                                    stringToXIS((String)externalDTDs.elementAt(i)));
                            // we don't really care about g; grammarPool will take care of everything.
                    }
            } else { // must be schemas!
                    for (i = 0; i < schemas.size(); i++) {
                            Grammar g = preparser.preparseGrammar(
                                    XMLGrammarDescription.XML_SCHEMA,
                                    stringToXIS((String)schemas.elementAt(i)));
                            // we don't really care about g; grammarPool will take care of everything.
                    }
            }
    } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
    }
    ...

Regards,
Ed

Reply via email to