|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface CDATASection
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 |
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。