[Home] [By Thread] [By Date] [Recent Entries]

  • From: Chin Chee-Kai <cheekai@s...>
  • To: "Karr, David" <david.karr@w...>
  • Date: Mon, 29 Sep 2008 23:39:29 +0800

Title: Tradeoffs of XML encoding by enclosing all content in CDATA blocks
Other than what Michael & Manos had mentioned, you'd also lose the ability of arbitrarily inserting other XML paired tokens.  Examples:

Given:   <element> <![CDATA[ some text here and there ]]> </element>
If one wants to insert  some comments  after "text" or "and", it'll cause problems such as :

<element> <![CDATA[ some text <!-- I need debugging here!--> here and there ]]> </element>
causing downstream problems which pull out text wholesale from CDATA sections for processing, and

<element> <![CDATA[ some text here and <!-- This last part is having some problems...  there ]]> --> </element>
causing invalid XML parsing.

Of course, it should be mentioned  that CDATA sections don't nest.  So by using CDATA to escape ampersands "&", one loses future expandability at all parts of text where CDATA is used.

regards,
Chin Chee-Kai

<foo> text 1 <![CDATA[ text 2]]> text 3</foo>

Karr, David wrote:
0C260F619E428642BFA6380177C3ADF306F8426D@e..." type="cite">

I pointed out to a client that they're seeing failures parsing XML because some of the element content that they're producing contains characters illegal in XML content, like "&" (unencoded).  They acknowledged that should be fixed, but they also said they could instead enclose all content with CDATA blocks.  That seems bizarre to me, but I'm not sure I can immediately come up with all the cogent arguments against that.  Can someone summarize specifically why you should NOT do that?




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member