|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface CDATASection
CDATA セクションは、別の方法でマークアップと見なされる文字を含むテキストのブロックをエスケープするために使用されます。CDATA セクションで認識される唯一の区切り文字は、CDATA セクションを終了させる 「]]>」 文字列です。CDATA セクションは入れ子にできません。このセクションの主な目的は、すべての区切り文字をエスケープすることなく XML フラグメントなどのデータを含めることです。
CharacterData.data 属性は、CDATA セクションで包含したテキストを保持します。この属性には、CDATA セクション以外でエスケープする必要のある文字が含まれ、直列化のために選択された文字のエンコーディング (「charset」) によっては、一部の文字を CDATA セクションの一環として書き出すことができません。
CDATASection インタフェースは、Text インタフェースを介して CharacterData インタフェースから継承します。隣接する CDATASection ノードは、Node インタフェースの normalize メソッドを使用することによってマージされません。
CDATA セクションの内容が字句チェックされることはありません。したがって、内容に "]]>" 文字シーケンス が含まれる可能性があります。これは、[XML 1.0] の 2.7 項で説明するように CDATA セクションでは不正です。この文字シーケンスの存在により、直列化中に致命的エラーが発生します。または、直列化の前に CDATA セクションを分割する必要があります。DOMConfiguration インタフェースの「split-cdata-sections」も参照してください。
注: CDATASection 内でマークアップが認識されることはないので、直列化時にエスケープの機構として文字の数値参照を使用することはできません。したがって、一部の文字が表示されない文字のエンコーディングを使って CDATASection を直列化する場合は、何らかのアクションを実行する必要があります。これが失敗すると整形式の XML は作成されません。
注: 直列化プロセスで考えられる 1 つの解決法は、この文字の前で CDATA セクションを終了させ、文字参照または実体参照を使って文字を出力し、テキストノードの任意の追加文字に対して新しい CDATA セクションを開くことです。ただし、書き出し時に一部のコード変換ライブラリは、エンコーディングする文字型を紛失した場合にエラーあるいは例外を返さないことに注意してください。そのようなデータが直列化で破壊されないようにすることは非常に難しいタスクです。
詳細は、「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
| フィールドの概要 |
|---|
| メソッドの概要 |
|---|
| インタフェース org.w3c.dom.Text から継承されたメソッド |
|---|
getWholeText, isElementContentWhitespace, replaceWholeText, splitText |
| インタフェース org.w3c.dom.CharacterData から継承されたメソッド |
|---|
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData |
|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||