As strange as it is, it is logically pleasing...:-)
There is still the issue of someone wanting to embedded this
as part of CDATA block. Without additional escaping, this
would produce illegal text or, at best (say if there is only one ]]>), mixed contents.
Thanks
-----Original Message-----
From: Phil Shafer [mailto:phil@juniper.net]
Sent: Friday, February 20, 2004 10:11 AM
To: Gagnon, Gilbert [CAR:NM10:EXCH]
Cc: 'ed.roskos@utstar.com'; Wes Hardaker; tstoddar@utstar.com; 'Juergen Schoenwaelder'; netconf@ops.ietf.org
Subject: Re: Issue 5.1) SSH End of message directive
"Gilbert Gagnon" writes:
>It may be just a bit overkill but it might be a good idea to suggest a
>common escaping for cases within the CDATA block (e.g. user the </%gt;
>entities even though they are within an escaped block)
Non-standard escaping mechanisms will cost more than they win.
So the only string that can't appear inside a CDATA section is the end marker for a CDATA section (CDEnd ::= ']]>'). While not as ascetically appealing as "<?eom?>", we could make a string that was illegal XML using ']]>'. Hold your stomach:
]]>]]><?eom?><[[<[[
The double ']]>' insures that we're not in a CDATA section,
the '<?eom?>' is the marker, and the '<[[<[[' helps recover some dignity by making the string symmetric, if making it look a bit more like line noise.
The other option is to use a real framing scheme.
Thanks,
Phil