On 30/08/15 19:12, Martin Holmes wrote:
Cunning as a sackful of ferrets, indeed. Of course, if you have an ODD which mentions <classRefs> and it doesn't know about the necessary bastardization procedure, it won't generate valid DTDs any more, but presumably we don't care about that?
Actually, since the ODD doesn't generate DTDs on its own (it needs an ODD processor), and the bug we're dealing with here is actually in our own ODD processor--at least, that's how I see it--then we're just providing a hack for our ODD processor which avoids the horrible prospect of any of us going into the bowels of the XSLT and figuring out how on earth it could be made sensitive to these specific contexts and process them in a special manner without screwing up other stuff. An entirely separate ODD processor, should there ever be one, would presumably be able to handle this without resorting to a trick.
I have spent the last few weeks inspecting said bowels, poking bits of gristle here and there, Some of it is actually quite clear, but there is a lot that really isn't. But my point is that other people besides us write ODDs and maybe use our (broken) ODD processor to generate DTDs. We will have to decide whether to come clean on its limitations and the steps we've taken to circumvent then. But let's see if it actually works first.