Another solution that came to my mind is pointing to a web URL like http://cocoon.apache.org/dtd/document-v10.dtd. This would also make validating possible in editors that don't understand catalogues.
this seems to be a good approach for me.
Would it be acceptable to infrastructure@ apache? It is not just one simple DTD you are downloading, there are many included bits.
I do not agree with the approach. Cocoon has encouraged people to use the entity resolver. We should not join their bad practice.
What's exactly the problem with it? In most (?) cases the entity resolver would jump in. Only when a parser does not understand the concept of the resolvers, the live access would jump in.
Ok, you suggest using an entity resolver. Of course this is a good solution, but you can't change/force tools to use it. And a usable DTD needs a defined URI and at least a defined place where to find this DTD (which could be the defined URI). But only defining a URI and then saying, "get the DTD from whereever you find, maybe CVS in directory bla/blub/xyz/..." seems not very user friendly for me.
So, I think we should a) define a URI, b) place the dtd at that URI and c) encourage to use the entity resolver; but without steps a) and b), the whole thing doesn't make sense for me.
Then why have Cocoon and Forrest blundered for this long with the way things are. There must be a good reason.
There is no reason for going this step back. But a reason for providing useful fallbacks.
Also if people are working with Cocoon documentation, then they already have the DTDs with the distribution.
Here is an alternative. We could go back to having the hard-coded ../../dtd/document-v10.dtd type of System Identifiers and set up the entity resolver to have a catalog at the top-level of xdocs.
But this would again not work for the CVS - which was the reason for this thread :-) At the point "../../dtd/document-v10.dtd" you won't find
a DTD, but a HTML file about the CVS data of this file.
That is preferable to retrieving a mass of DTD stuff across the network every time that someone looks at a document.
The question is - and I can't answer it - are this really masses?
Joerg