Scripting and XML

Rick Jelliffe ricko at
Sun Oct 19 19:40:34 BST 1997

> From: Simon St.Laurent <SimonStL at>
> >Well, it would if the SGML CDATA element idea actually worked.  But it
> >doesn't, because the contents of a CDATA element are terminated by
> >any <, or is it </, I forget at the moment, but anyhow, you can't,
> >in practical terms, use CDATA elements for anything useful.  If you
> >could, they'd be in XML.  (Tim)
> What were they thinking?  

The CDATA idea does work for what it is intended to be used for.
Text with no subelements, entity references or other markup. 

In default SGML, a CDATA element's data is terminated by "</" 
followed by any valid name start character (or the end of the
entity). In XML, there is no name-start checking and every 
start-tag must have a corresponding end-tag.

In SGML, if you wanted to, you could redefine "</" to some longer 
delimiter you were sure did not appear in your data, but then 
you would have to use it everywhere.   In XML, there is no
delimiter remapping.

In SGML, you can use the Markup Suppression Open character, 
which turns off all recognition until the
Markup Suppression Close character is found. These characters
are typically in the control character range.  It does not let
you markup binary (if that binary uses the markup suppression close
character), but it works fine for text.  In XML, there is no
mechanism for suppressing the recognition of markup. 

If you really want to have a file with raw binary and text together,
then why not use MIME multipart and XLL pointers to the parts?  

> >XML piggybacks everything on top of element structure. (Rick)
> So did HTML, creating this problem.  

SGML piggybacks PIs on top of element structure because

1) It is not a programming language but a markup language.

2) Previous systems that did embed data inside programming
constructs failed to scale or to be readily adaptable to
different uses and media.  

Rick Jelliffe

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list