Potential for ]]> inside element

The intent of the CharData production is clearly to exclude ]]> from
being parseable as CharData and therefore as content:

	[14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

However, the string "]]>" is still parseable as content because
content can contain two adjacent CharData productions:

	[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

So "]]>" could be parsed as content by parsing, say, "]" as one
CharData production, "]>" as a second, and then the two of those
productions together become a content production.

This breaks SGML compatibility, of course.  I don't have a fix.

Received on Monday, 15 November 1999 19:45:07 UTC