2010-12-13 8 views

答えて

5

A CDATAセクションは、次の順序で始まる

ウィキペディア

から:これら二つの配列の間で囲まれたすべての文字を

]]> 

<![CDATA[ 

とシーケンスの最初の出現で終了マークアップやエンティティ参照ではなく文字として解釈されます。たとえば、次のような行では:

<sender>John Smith</sender> 

「送信者」タグは、マークアップとして解釈されます。しかし、このように書かれている場合:

&lt;sender&gt;John Smith&lt;/sender&gt; 

は詳細についてはWikiページをチェックしてください:それはこのように書かれていたかのように

<![CDATA[<sender>John Smith</sender>]]> 

、コードが同じに解釈されます

3

CDATA at Wikipedia参照:XML文書や外部解析対象実体で

を、CDATAセクションは、マークアップ、などの文字データのみではなく解釈するパーサのためにマークされた要素の内容の部分です。

つまり、パーサーは<![CDATA[ ]]>に含まれるデータを解釈しません。

HTMLをテキストとしてXML文書に保存するとします。これは間違っている:

<root> 
    <myhtml> 
     <div><b>Foo bar</b></div> 
    </myhtml> 
</root> 

パーサが<div><b>Foo bar</b></div>を解析してDOM要素を作成しようとするだろう。この例では動作しますが、DTDに準拠したドキュメントでは機能しません。

は代わりに、我々はこれをしたい:

<root> 
    <myhtml> 
     <![CDATA[ <div><b>Foo bar</b></div> ]]> 
    </myhtml> 
</root> 

<div><b>Foo bar</b></div>がテキストノードの内容となります。

0

ほとんどのxmlの "特殊文字"を含むリテラルテキストを許可します。それは「外側の」xmlデータの一部ではなくテキストだけです。

0

CDATAセクション内のものは、パーサによって無視されます。

たとえばxmlドキュメント内でjavascriptを送信する画像は、特殊文字(<、>、&など)が含まれている可能性が最も高いため、xmlパーサーでエラーが発生します。

このタグを使用すると、パーサーは解析せず、エラーも発生しません。

関連する問題