I'm running XML4J_3.0.0EA3 under OS/2 Warp 4 with the 19991026 1.1.8 JDK.  If I 
enter the following:

cd d:\xml4j\data
java org.apache.xerces.domx.XGrammarWriter -d personal.xml

I get the following exception:

java.lang.NullPointerException
 at 
org.apache.xerces.parsers.DOMParser.getFirstChildElement(DOMParser.java:2438)
 at org.apache.xerces.parsers.DOMParser.elementDecl(DOMParser.java:1434)
 at 
org.apache.xerces.validators.dtd.DTDValidator.addElementDecl(DTDValidator.java:1679)
 at 
org.apache.xerces.framework.XMLDTDScanner.scanElementDecl(XMLDTDScanner.java:1711)
 at org.apache.xerces.framework.XMLDTDScanner.scanDecls(XMLDTDScanner.java:1382)
 at 
org.apache.xerces.validators.dtd.DTDValidator.scanDoctypeDecl(DTDValidator.java:444)
 at org.apache.xerces.framework.XMLParser.scanDoctypeDecl(XMLParser.java:2002)
 at 
org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispatch(Compiled
 Code)
 at 
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1129)
 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1168)
 at org.apache.xerces.domx.XGrammarWriter.main(XGrammarWriter.java:149)
error: Error parsing document (personal.xml).
java.lang.NullPointerException
 at java.io.Writer.write(Writer.java:108)
 at java.io.PrintStream.write(PrintStream.java:248)
 at java.io.PrintStream.print(PrintStream.java:388)
 at java.io.PrintStream.println(PrintStream.java:507)
 at java.lang.Throwable.printStackTrace(Throwable.java:134)
 at org.apache.xerces.domx.XGrammarWriter.main(XGrammarWriter.java:155)


As shipped, you only get the last exception since a "catch" clause in 
XGrammarWriter is being passed a null exception as a parameter.  The full 
stacktrace requires recompiling org.apache.xerces.framework.XMLParser with 
PRINT_EXCEPTION_STACK_TRACE set to
true.

If I use PERSONAL-SCHEMA.XML, I get the following exception:

<?xml encoding="UTF-8"?>
<!-- Grammar referenced in document: "personal-schema.xml" -->
<!ELEMENT personnel (person+)>
<!ATTLIST personnel xmlns CDATA #IMPLIED>
<!ELEMENT family (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT name family,given?>
error: Error parsing document (personal-schema.xml).
java.lang.NullPointerException
 at 
org.apache.xerces.domx.XGrammarWriter.printElementDeclContentModel(XGrammarWriter.java:485)
 at 
org.apache.xerces.domx.XGrammarWriter.printElementDecl(XGrammarWriter.java:466)
 at org.apache.xerces.domx.XGrammarWriter.printGrammar(XGrammarWriter.java:317)
 at org.apache.xerces.domx.XGrammarWriter.main(XGrammarWriter.java:151)

Doing the same thing with the -x switch (for SCHEMA output) works fine...

Reply via email to