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

Chris Lovett clovett at microsoft.com
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:

<!DOCTYPE a [
    <!ELEMENT a (b, c)>
    <!ELEMENT b EMPTY>
    <!ELEMENT c EMPTY>
    <!ENTITY ent "<b/><c/>">
  ]>
<a>&ent;</a>

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 ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list