]]>
xmlドキュメントのCDATAセクション内でCDATAエンドトークン()をエスケープする方法があるかどうか疑問に思っていました。または、より一般的には、CDATA内で使用するエスケープシーケンスが存在する場合(ただし、存在する場合は、とにかく、開始トークンまたは終了トークンをエスケープすることだけが意味があると思います)。
基本的に、CDATAに開始トークンまたは終了トークンを埋め込んで、パーサーに解釈せずに、別の文字シーケンスとして扱うように指示できますか。
おそらく、XML構造またはコードをリファクタリングする必要がある場合は、おそらくリファクタリングする必要がありますが、私は過去3年間ほど毎日XMLを使用しており、この問題を経験したことはありませんが、可能かと思っていました。単なる好奇心から。
編集:
HTMLエンコーディング以外の方法...
CDATA
許可するように設計されたものを:彼らは、そうでない場合はマークアップとして認識される文字を含むテキストのブロックをエスケープするために使用されている意味CDATA
、それはマークアップもあるので、あまりを。しかし、実際には、私が暗示する二重エンコーディングは必要ありません。]]>
は、CDEnd
内でをエンコードするための許容可能な手段ですCDATA
。
>
よう>
に埋め込ま確保するためのCData内]]>
CDEndとして解析されることはありません。それは単にそれが予期しないものであることを意味し、データを適切にデコードできるように&
最初にエンコードする必要&
があります。ドキュメントのユーザーは、このCDataもデコードすることを知っている必要があります。CDataの目的の一部は、特定のコンシューマーが処理方法を理解するコンテンツを含めることであるため、これは前例のないことではありません。このようなCDataは、一般的なコンシューマーによって適切に解釈されることは期待できません。