> I thought this document was well formed, I read "PEs in Internal
> Subset" to mean that you can't have stuff like:
>
> <!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*>
>
> but you can have:
>
> <!DOCTYPE test [
> <!ENTITY % xx '<!--example-->'>
> %xx;
> ]>
>
> but looking at the EntityValue production:
>
> [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"'
> | "'" ([^%&'] | PEReference | Reference)* "'"
>
> It allows a PEReference in an entity value, and thus I thought it was well
> formed.
Good point. I think there is a genuine conflict here. But I read
clause 4.5 (allowing PE references in entity values) in conjunction
with the WF constraint "PEs in Internal Subset", and I believe
that internal entity declarations within the internal subset may
not contain PEs in the entity value.
Can we get a more authoritative or more knowledgeable commentator?
> [T]he supplied grammer was for the internal subset, and knew I didn't have
> to worry about the external in the first round because I didn't want to
> validate.
The supplied DTD grammar is actually for either subset *after* PE
references have been expanded and conditional sections removed
appropriately.
-- John Cowan http://www.ccil.org/~cowan cowan@ccil.org You tollerday donsk? N. You tolkatiff scowegian? Nn. You spigotty anglease? Nnn. You phonio saxo? Nnnn. Clear all so! 'Tis a Jute.... (Finnegans Wake 16.5)