[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Processing external DTD subset as part of DTD validation


xerces dtd
Mikko Saesmaa wrote:

> As far as we know, JAXP does not support the validation of DTDs
> directly. Our original idea was to wrap the DTD inside the
> prolog of a dummy document instance. The problem with this approach
> is that this way we would pass the declarations to the parser as an
> /internal/ DTD subset, which has different restrictions on the use of
> parameter entities than an external subset.

This came up recently on another list. It is possible to distinguish the 
internal from external DTD subset using a pure SAX parser, particularly 
Xerces. (Crimson has some bugs in this area.) The trick is to follow the 
entities and look for one named "[dtd]". That's the internal susbet. 
Here's how XOM does it:

     protected boolean inExternalSubset = false;

     // We have a problem here. Xerces gets this right,
     // but Crimson and possibly other parsers don't properly
     // report these entities, or perhaps just not tag them
     // with [dtd] like they're supposed to.
     public void startEntity(String name) {
       if (name.equals("[dtd]")) inExternalSubset = true;
     }


     public void endEntity(String name) {
       if (name.equals("[dtd]")) inExternalSubset = false;
     }

That said, it might still be better to look at the native Xerces APIs if 
they suit your needs.


-- 
Elliotte Rusty Harold  elharo@m...
XML in a Nutshell 3rd Edition Just Published!
http://www.cafeconleche.org/books/xian3/
http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.