There is a more elegant solution if you're using Xerces 2.7.x. SAX 2.0.2 
added an extension interface called EntityResolver2 [1] which allows 
applications to provide an external subset to documents which do not have 
one. This includes documents which have no DOCTYPE declaration. If an 
instance of EntityResolver2 is registered with the SAX parser 
getExternalSubset() will be called in such cases. The same applies to 
DocumentBuilders.

[1] 
http://xerces.apache.org/xerces2-j/javadocs/api/org/xml/sax/ext/EntityResolver2.html

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

Joseph Kesselman <[EMAIL PROTECTED]> wrote on 01/18/2006 04:03:37 PM:

> The usual/simplest solution is to set up a filtering stream wrapper 
which
> prepends the appropriate doctype declaration if one isn't provided in 
the
> file, and parse from that. This may not be elegant, but it's simple and 
it
> works.
> 
> ______________________________________
> Joe Kesselman, IBM Next-Generation Web Technologies: XML, XSL and more.
> "The world changed profoundly and unpredictably the day Tim Berners Lee
> got bitten by a radioactive spider." -- Rafe Culpin, in r.m.filk
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to