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