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

  • From: Roger L Costello <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Wed, 23 Mar 2022 11:39:48 +0000

Hi Folks,

I did some testing to see what characters can go into a CDATA section and a comment. Here's what I found:

Recall the CDATA syntax: <![CDATA[ ... ]]>

Question: Can the content of a CDATA section contain the ] character?

<![CDATA[foo]bar]]>

Answer: Yes

Question: Can the content of a CDATA section contain ]]?

<test><![CDATA[foo]]bar]]></test>

Answer: Yes.

Question: Can the content of a CDATA section contain more than two ] characters at the end?

<![CDATA[foo]]]]]>

Answer: Yes.

Question: Can the content of a CDATA section contain more than one [ character at the start?

<![CDATA[[[foo]]>

Answer: Yes.

Recall the comment syntax: <!-- ... -->

Question: Can the content of a comment contain a dash character?

<!-- foo - bar -->

Answer: Yes.

Question: Can the content of a comment contain two dashes?

<!-- foo -- bar -->

Answer: No.

Question: Can the content of a comment end with more than two dashes?

<!-- foo----->

Answer: No.

Notice the inconsistency: A CDATA section can end with more than two ] characters but a comment cannot end with more than two dashes:

<![CDATA[foo]]]]]>   	Okay
<!-- foo----->		Error

Also, a CDATA section can contain ]] but a comment cannot contain --

<![CDATA[foo]]bar]]>
<!-- foo -- bar -->

Why is there this inconsistency? 

Isn't inconsistency in a data format language bad?

/Roger



[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