Just to follow up on a detail of
my exchanges with Wendell, I made
a small customization which simply
killed numbered divs.
The resulting DTD has these entities:
<!ENTITY % macro.bodyPart.div '(div,(div | divGen | (%model.global;))*)' >
<!ENTITY % macro.bodyPart.div0 '(divGen | (%model.global;))*' >
<!ENTITY % macro.bodyPart.div1 '(divGen | (%model.global;))*' >
<!ENTITY % macro.bodyPart.pre '(divGen,(%model.global;)*)*' >
<!ENTITY % macro.bodyPart.main
(%macro.bodyPart.div0;) | (%macro.bodyPart.div1;)))' >
as you can see, the *div0 and *div1 ones are identical, and so
produce an error when |'ed together.
THIS is what I mean when I say that it's simply a bug in the
XSLT code which generated the above from the TEI sources.
Plainly, the situation is unambiguously detectable - any occurrence
of "A | B" where "A = B" must be reduced to "A".
Naturally, that isn't the end of the story, as this fix
alone would not fix the problem, but I hope it demonstrates
that the issue on the table is solvable relatively
 for the 'satiably curious, yes, those parameter entities
are not actually used for defining "body" and are redundant....
 compared to understanding Windows Vista DRM, for example.
 I am tempted to hardwire a fix into the XSLT implementation
of ODD to make this example work....