- 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]
|