SCRIPT recommendation (was:...Do not use CDATA declared content..)

Joe English (
Tue, 30 Jul 1996 11:05:05 PDT

Message-Id: <>
Subject: SCRIPT recommendation  (was:...Do not use CDATA declared content..) 
In-Reply-To: <> 
Date: Tue, 30 Jul 1996 11:05:05 PDT
From: Joe English <>

"Daniel W. Connolly" <> wrote:
> I'm afraid I'm lost in this thread. It started with a pretty
> clear suggestion by Joe to please don't use the evil CDATA.
> Unfortunately, the responses were a mixture of argument-by-assertion
> and misinformation about SGML.
> I haven't found anything that I want to forward to the editors of the
> draft. I'm not likely to follow this thread any more, so folks might
> want to start new, more focused threads.

May I suggest:

(1) In the Cougar DTD, change the declaration of the SCRIPT element
from CDATA declared content to:


and remind authors that, as is the case with other HTML
elements, care must be taken to protect any characters in the
content of a SCRIPT element that would otherwise be misinterpreted
as SGML markup, namely < and & when immediately followed by a letter. 

(2) Advise authors that where possible, this should be done 
by surrounding the characters in question with whitespace or
by using the facilities _of the native scripting language_ 
instead of using entity references, marked sections, or other 
SGML mechanisms.

For example:

    <SCRIPT language="Tcl">
    set lt "<"; set gt ">"; set amp "&";
    puts stdout "Here's an end-tag: ${lt}/H1${gt}"

    <SCRIPT language=whatever>
    <!-- Don't do this: -->
    if (a<b&&c<d) { ... }
    <!-- Do this instead: -->
    if (a < b && c< d) { ... }

* * *

Or, hell, just stick with CDATA declared content for SCRIPT.
The number of authors who use both <SCRIPT> *and* a validator
is probably negligible to begin with, and relying on one of
SGML's most ill-designed, unworkable, and hard-to-understand
features will help make sure that it stays that way, so the
ill effects will be mostly invisible. 

> I can already see folks launching into appeals, making the same
> arguments with the same evidence, but with stronger rhetoric. That
> won't help. 

Oops, sorry :-)

--Joe English