CDATA by any other name... (was The raw and the cooked)

Chris Lovett clovett at
Sat Oct 31 03:05:24 GMT 1998

For what it's worth, the MS-XML parser also fails to validate the CDATA
example because it takes the view that '<![CDATA[  ]]>' is not a
replacement-text-entity and therefore the characters '<![' do NOT match the
whitespace production.  If this is replaced with the entity &ws; defined as
<!ENTITY ws "  "> MSXML will will validate.  The reason is that we figured
that we have to expand entities anyway for validation purposes because you
can also do the following:

    <!ELEMENT a (b, c)>
    <!ENTITY ent "<b/><c/>">

It doesn't make any sense to think of the contents of a CDATA section in
terms of "replacement-text" because then you'd have to wonder about
validating <![CDATA[<b/><c/>]]> which was NOT the point of CDATA sections.
The point of CDATA was to treat <b/><c/> as UNPARSED text.

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