public interface CDATASection extends 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」も参照してください。
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_NODEgetWholeText, isElementContentWhitespace, replaceWholeText, splitTextappendData, deleteData, getData, getLength, insertData, replaceData, setData, substringDataappendChild, 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 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.