commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: [digester] forcing a specific DTD
Date Tue, 13 Nov 2001 17:30:05 GMT
On Tue, 13 Nov 2001, Tal Dayan wrote:

> Date: Tue, 13 Nov 2001 09:04:43 -0800
> From: Tal Dayan <>
> Reply-To: Jakarta Commons Developers List <>
> To:
> Subject: [digester] forcing a specific DTD
> We plan to use Digester for parsing XML based configuration files and would
> like
> to use a DTD to save some validation code. From the Digester documentation
> it seems that the DTD based validation works as follows, the user specifies
> an arbitrary DTD, and digester.parse() makes sure the XML document matches
> the user's specified DTD.
> We have two problems with this approach:
> 1. When we parse a file, we know what DTD it should conform to so there is
> not need require the user to type it (e.g. when Tomcat reads server.xml, the
> user does not care about the DTD, it should be up to Tomcat to do the magic
> of validating it).
> 2. The user can specify arbitrary DTD but we want to validate against a
> *specific* DTD. It does not help us much if we know that the XML conforms to
> some arbitrary DTD the user specified (this reminds me an old joke, a man is
> asked by the bank manager to identify himself, he pull a picture of from his
> pocket and says 'that's me').
> Any idea how to address these issues ?
> A good solution would be example a digester.forceSpecificDTD(...) method
> that forces a specific DTD for that instance of the parser. This makes sense
> since the digester is configured anyway (via the set of rules) to parse a
> specific type of XML document.
> Thanks,
> Tal

This sounds like it might be an interesting idea, but I don't know how to
implement it :-(.  Digester uses a SAX parser via the JAXP/1.1 APIs
underneath the covers.  How do you tell the parser to use an arbitrary DTD
instead of whatever is specified in the document being parsed?


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message