JavaTM Platform
Standard Ed. 6

org.w3c.dom
接口 CDATASection

所有超级接口:
CharacterData, Node, Text

public interface CDATASection
extends Text

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。

注: 序列化过程中一个可能的解决方法是在该字符使用字符引用或实体引用输出字符之前结束 CDATA 节,并为文本节点中的所有更多字符打开一个新 CDATA 节。不过要注意的是,在写入时有些代码转换库在编码中丢失字符时不返回错误或异常,加大了确保序列化时不破坏数据的难度。

另请参见 Document Object Model (DOM) Level 3 Core Specification


字段摘要
 
从接口 org.w3c.dom.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
 
方法摘要
 
从接口 org.w3c.dom.Text 继承的方法
getWholeText, isElementContentWhitespace, replaceWholeText, splitText
 
从接口 org.w3c.dom.CharacterData 继承的方法
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
 
从接口 org.w3c.dom.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
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策