RE: ]]> within a CDATA marked section ?

Jarle Stabell (jarle.stabell@dokpro.uio.no)
Thu, 27 Nov 1997 13:16:13 +0100


Pat wrote:=20
<<<<=20
Is it possible to put the sequence ]]> within a CDATA marked section ?

Exemple:

<P> Here is the beginning of the CDATA marked section:
<![CDATA[<p><![CDATA[
blah blah ...
]]></p>
Here is the true end.
]]>
</P>
>>>>=20

[JS] I don't think so. A "workaround" is to close the first CDATA =
section, write the ]]> (or for compatibility it seems you have to use =
]]&gt; and then open up a new CDATA section to continue.

Example:

<P> Here is the beginning of the CDATA marked section:
<![CDATA[<p><![CDATA[
blah blah ...
]]>
]]&gt;
<![CDATA[</p>
Here is the true end.
]]>
</P>
=20
BTW: Do people think XML parsers generally will/should complain about a =
]]> when it for *compatibility* should be ]]&gt; ?
(Or do I misinterpret the draft text:

'and must for compatibility, be escaped using "&gt;" or a character =
reference when it appears in the string "]]>", when that string is not =
marking the end of a CDATA section'

Does it mean that the user should better use "&gt;" to be compatible =
with SGML, or that the XML parser should report this as an error if not =
escaped using "&gt;"?)

<OffTopic>
I have some concerns related to & and < when not followed by a char =
which can start a name (or "<!", <?").
I assume the reasons for *not* allowing "if x<>nil then doSomething" as =
legal content is because it is better for users that & and < are =
consistently not allowed for anything than markup, but I'm not convinced =
about this.
(At least it seems trivial for parsers to check this situation)
</OffTopic>

Cheers,
Jarle