インタフェースCDATASection
- すべてのスーパー・インタフェース:
CharacterData, Node, Text
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」も参照してください。
- 導入されたバージョン:
- 1.4、DOMレベル2
-
フィールドのサマリー
インタフェース Nodeで宣言されたフィールド
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE修飾子と型フィールド説明static final shortノードはAttrです。static final shortノードはCDATASectionです。static final shortノードはCommentです。static final shortノードはDocumentFragmentです。static final shortノードはDocumentです。static final shortノードは参照ノードに含まれています。static final shortノードは参照ノードを含みます。static final short2つのノードは切断されます。static final shortノードは参照ノードのあとに続きます。static final short先行するかあとにくるかは実装に固有です。static final short2番目のノードは参照ノードの前にあります。static final shortノードはDocumentTypeです。static final shortノードはElementです。static final shortノードはEntityです。static final shortノードはEntityReferenceです。static final shortノードはNotationです。static final shortノードはProcessingInstructionです。static final shortノードはTextノードです。 -
メソッドのサマリー
インタフェースで宣言されたメソッド CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData修飾子と型メソッド説明voidappendData(String arg) ノードの文字データの末尾に文字列を追加します。voiddeleteData(int offset, int count) ノードから指定範囲の16ビット単位を削除します。getData()このインタフェースを実装するノードの文字データです。int次のdataメソッドおよびsubstringDataメソッドを介して利用可能な16ビット単位の数。voidinsertData(int offset, String arg) 指定された16ビット単位のオフセットに文字列を挿入します。voidreplaceData(int offset, int count, String arg) 指定された文字列で、指定された16ビット単位のオフセット以降の文字を置き換えます。voidこのインタフェースを実装するノードの文字データです。substringData(int offset, int count) ノードから所定のデータ範囲を抽出します。インタフェースNodeで宣言されたメソッド
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData修飾子と型メソッド説明appendChild(Node newChild) ノードnewChildをこのノードの子のリストの末尾に追加します。cloneNode(boolean deep) ノードのジェネリック・コピー・コンストラクタとして、このノードの複製を返します。shortcompareDocumentPosition(Node other) このメソッドが呼び出されている参照ノードを、パラメータとして渡されるノードと、文書内の位置に関して文書順に比較します。このノードがElementの場合、このノードの属性を含むNamedNodeMap。それ以外の場合はnull。このノードの絶対ベースURI。実装が絶対URIを取得できなかった場合はnull。このノードの子をすべて含むNodeList。getFeature(String feature, String version) このメソッドは、指定した機能とバージョンを持つ特殊な形式のAPIを指定されたとおりに実装する特殊な形式のオブジェクトを返します。このノードの最初の子ノードです。このノードの最後の子ノードです。このノードの修飾名のローカル部分を返します。このノードの名前空間URI。未指定の場合はnull。このノードの直後のノードです。このノードの名前です。この名前は型によって異なります。上記の表を参照してください。shortオブジェクトの型を表すコードです。上記の定義を参照してください。このノードの値です。この値は型によって異なります。前述の表を参照してください。このノードに関連付けられたDocumentオブジェクト。このノードの親ノードです。このノードの名前空間接頭辞です。未指定の場合はnullになります。このノードの直前のノードです。この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。getUserData(String key) このノードのキーに関連付けられたオブジェクトを取得します。booleanこのノードが要素である場合、属性を持っているかどうかを判断します。booleanこのノードが子ノードを持っているかどうかを判断します。insertBefore(Node newChild, Node refChild) 既存のrefChild子ノードの前にnewChildノードを挿入します。booleanisDefaultNamespace(String namespaceURI) このメソッドは、指定されたnamespaceURIがデフォルトの名前空間であるかどうかをチェックします。booleanisEqualNode(Node arg) 2つのノードが等しいかどうかをテストします。booleanisSameNode(Node other) このノードが指定されたノードと同じノードであるかどうかを返します。booleanisSupported(String feature, String version) DOM実装が特定の機能を実装しており、このノードがその機能を指定されたとおりにサポートしているかどうかを判定します。lookupNamespaceURI(String prefix) 指定したノードから開始して、所定の接頭辞に関連する名前空間URIを検索します。lookupPrefix(String namespaceURI) 指定されたノードから開始して、所定の名前空間URIに関連する接頭辞を検索します。voidこのNodeのサブツリーの最深部までに存在するすべてのTextノード(属性ノードを含む)を、Textノードが構造(要素、コメント、処理命令、CDATAセクション、エンティティ参照など)のみによって分離される、「正規」形式にします。その結果、隣接するTextノードも空のTextノードも存在しない状態になります。removeChild(Node oldChild) 子リストからoldChildで示される子ノードを削除し、この子ノードを返します。replaceChild(Node newChild, Node oldChild) 子リストの中の子ノードoldChildをnewChildで置き換え、oldChildノードを返します。voidsetNodeValue(String nodeValue) このノードの値です。この値は型によって異なります。前述の表を参照してください。voidこのノードの名前空間接頭辞です。未指定の場合はnullになります。voidsetTextContent(String textContent) この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。setUserData(String key, Object data, UserDataHandler handler) このノードのキーにオブジェクトを関連付けます。インタフェースTextで宣言されたメソッド
getWholeText, isElementContentWhitespace, replaceWholeText, splitText修飾子と型メソッド説明このノードに論理的に隣接するテキスト・ノードであるTextノードのすべてのテキストを文書の順に連結して返します。booleanこのテキスト・ノードが要素コンテンツ空白文字 (多くの場合、「無視できる空白文字」と呼ばれる)を含むかどうかを返します。replaceWholeText(String content) 現在のノードと論理的に隣接するすべてのテキスト・ノードのテキストを、指定されたテキストに置き換えます。splitText(int offset) このノードを、指定されたoffset位置で2つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。