これは有効な(整形式の)XMLドキュメントですか?
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
問題は、HTML / XHTMLの「©」エンティティエンコーディングが、それを定義するDTDまたはスキーマがないXMLドキュメントで有効かどうかです。上記を表現する別の方法は、これを言うことです:
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
これは、UTF-8エンコーディングを使用した有効なXMLのようです。
しかし、これは有効ですか?
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner><![CDATA[©]]></inner>
</outer>
上記の作成者は、XMLパーサーに、上記の著作権記号を文字列「&copy;」として渡す必要があることを示す予定です。適切なUnicode文字としてではなく。
その点で、この引用は少し紛らわしいと思います。'XMLドキュメントの新しい作成者は、CDATAセクションの目的を誤解し、その目的が処理中に通常の文字データとして扱われないようにデータを「保護」することであると誤って信じています。[ただし]文字データは、CDATAセクションで表現されているか、通常のマークアップで表現されているかに関係なく、文字データです。」(ウィキペディアより)
たとえば、タグに数字しか含めることができない場合でも、CDATAセクションですべてのタグをラップした2番目の作成者から提案されたXML形式を個別に調べています。
XMLの第一人者が、CDATAの目的に関する混乱を解消するのに役立つことを願っています。
ありがとう!