Skip to Content.
Sympa Menu

xom-interest - [XOM-interest] setInternalDTDSubset bug

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: Wolfgang Hoschek <whoschek AT lbl.gov>
  • To: xom-interest AT lists.ibiblio.org
  • Subject: [XOM-interest] setInternalDTDSubset bug
  • Date: Wed, 6 Apr 2005 20:14:32 -0700

xom-1.1-CVS with Crimson JDK 1.4 (but not xerces-2.6.2) has a bug when using doc.setInternalDTDSubset(doc. getInternalDTDSubset()) with the document below. Interestingly, the document parses fine when using crimson with new Builder().build(...). I'm wondering if anything could be done about it?

<?xml version="1.0"?>
<!DOCTYPE doc [
<!ELEMENT doc (#PCDATA|a|b|c)*>
<!ATTLIST doc id ID #REQUIRED>
<!ELEMENT a (#PCDATA|a|b|c)*>
<!ATTLIST a id ID #REQUIRED>
<!ELEMENT b (#PCDATA|a|b|c)*>
<!ATTLIST b id ID #REQUIRED>
<!ELEMENT c (#PCDATA|a|b|c)*>
<!ATTLIST c id ID #REQUIRED >
]>
<doc id="id0"></doc>




Exception in thread "main" nux.xom.binary.BinaryParsingException: Malformed internal DTD subset: Mixed content model for "doc" must end with ")*", not ")". at line -1, column -1.
at nux.xom.binary.BinaryXMLCodec.deserialize(BinaryXMLCodec.java:437)
at nux.xom.tests.BinaryXMLTest.main(BinaryXMLTest.java:157)
Caused by: nu.xom.IllegalDataException: Malformed internal DTD subset: Mixed content model for "doc" must end with ")*", not ")".
at nu.xom.Verifier.checkInternalDTDSubset(Verifier.java:1339)
at nu.xom.DocType.setInternalDTDSubset(DocType.java:237)
at nux.xom.binary.BinaryXMLCodec.readDocType(BinaryXMLCodec.java:1003)
at nux.xom.binary.BinaryXMLCodec.readNode(BinaryXMLCodec.java:847)
at nux.xom.binary.BinaryXMLCodec.readDocument(BinaryXMLCodec.java:798)
at nux.xom.binary.BinaryXMLCodec.deserialize(BinaryXMLCodec.java:435)
... 1 more
Caused by: org.xml.sax.SAXParseException: Mixed content model for "doc" must end with ")*", not ")".
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3370)
at org.apache.crimson.parser.Parser2.getMixed(Parser2.java:2257)
at org.apache.crimson.parser.Parser2.getMixedOrChildren(Parser2.java:2100)
at org.apache.crimson.parser.Parser2.maybeElementDecl(Parser2.java:2065)
at org.apache.crimson.parser.Parser2.maybeMarkupDecl(Parser2.java:1390)
at org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1324)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:656)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at nu.xom.Verifier.checkInternalDTDSubset(Verifier.java:1336)
... 6 more





Archive powered by MHonArc 2.6.24.

Top of Page