OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] The subsetting has begun

[ Lists Home | Date Index | Thread Index ]

At 10:57 AM -0500 2/21/03, Mike Champion wrote:

>I'm not sure what "processing" a DTD means in a technical sense. 
>Accepting the entity declarations, setting the default attribute 
>values, etc.  but not enforcing any content model constraints?  Or 
>just parsing DTDs and ignoring everthing in there.  (IIRC either 
>would be "legal" for a non- validating parser).  What would you 
>suggest J2ME parsers do?

At a minimum J2ME parsers should read the DOCTYPE declaration (not 
necessarily the full DTD) and apply default attribute values and 
resolve internal entities up till the point where they encounter an 
external parameter entity they have not resolved. They should also 
throw a SAXParseException if there's a well-formedness error 
somewhere in the DOCTYPE declaration. "parsing DTDs and ignoring 
everthing in there" is not conformant with XML.

If a parser wants to read the rest of the DTD it can, in which case 
it must apply the default attribute values and entities it finds 

>Channeling my inner newbie, I'd rather get slapped down on line 2 
>when a DTD reference or subset is rejected than on line 666 when I 
>referenced an entity whose declaration was "processed" but not 
>actually defined by the parser.  Conformance to XML 1.0 by J2ME is 
>cold comfort to someone with a bug to fix and an incomprehensible 
>message from the XML library to work with.

Would you rather have every XHTML document rejected on line 2 whether 
you used entities or not? Whether the document was well-formed or 
not? An undefined entity is a genuine error when the parser reads the 
full DTD. A DOCTYPE declaration is not an error. I prefer to reserve 
SAXParseExceptions for real errors rather than having the parser 
throw the document away on line 2 because there might be an error a 
few hundred lines later. Then real fix here is better error messages.

| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
|           Processing XML with Java (Addison-Wesley, 2002)          |
|              http://www.cafeconleche.org/books/xmljava             |
| http://www.amazon.com/exec/obidos/ISBN%3D0201771861/cafeaulaitA  |
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS