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

David Brownell (db@Eng.Sun.COM)
Sat, 31 Oct 1998 19:51:13 -0800


As another data point -- Sun's validating parser accepts Henry's
original example, no problems. (And it does so very quickly,
but you knew that! ;-)

A pragmatic answer "why": it uses the data model implied by
SAX, which treats characters "quoted" by "<![CDATA[" ... "]]>"
like any other characters (but without using '&' and '<' as
markup delimiters).

I think that's the right model. It's clear from 2.7 that the
text inside a CDATA section is character data, not markup; the
example is clear, if the text could be misunderstood.

Since 2.4 makes clear (sentence 1!) that the _only_ two sorts
of stuff in XML are "character data" and "markup", so there's
no way I could justify treating space inside a CDATA section
differently from other characters (in terms of data model).
Hence it's not possible to distinguish whitespace characters
that are the content of a CDATA section from the same text
that's outside of a CDATA section.

- Dave

p.s. Yes, if there's confusion, the spec probably needs to
be clarified. Not a crime in any 1.0 spec.