Spec-Zone.ru › OpenJDK 21

Интерфейс CDATASection

Все суперинтерфейсы:
CharacterData, Node, Text
public interface CDATASection extends Text
Секции CDATA используются для экранирования блоков текста, содержащих символы, которые в противном случае рассматривались бы как разметка. Единственным разделителем, распознаваемым в секции CDATA, является строка "]]>", которая завершает секцию CDATA. Секции CDATA не могут быть вложены. Их основное назначение — включение материалов, таких как фрагменты XML, без необходимости экранирования всех разделителей.

Атрибут CharacterData.data содержит текст, содержащийся в секции CDATA. Обратите внимание, что этот текст может содержать символы, которые необходимо экранировать за пределами секций CDATA, и что в зависимости от выбранного кодирования символов ("charset") для сериализации, некоторые символы могут быть невозможно записать как часть секции CDATA.

Интерфейс CDATASection наследует от интерфейса CharacterData через интерфейс Text. Соседние узлы CDATASection не объединяются с помощью метода normalize интерфейса Node.

Никакая лексическая проверка не выполняется для содержимого секции CDATA, и поэтому возможно наличие последовательности символов "]]>" в содержимом, что является незаконным в секции CDATA согласно разделу 2.7 [XML 1.0]. Наличие этой последовательности символов должно генерировать ошибку во время сериализации или секция CDATA должна быть разделена перед сериализацией (см. также параметр "split-cdata-sections" в интерфейсе DOMConfiguration).

Примечание: Поскольку внутри секции CDATASection не распознается никакая разметка, числовые ссылки на символы не могут использоваться в качестве механизма экранирования при сериализации. Следовательно, при сериализации секции CDATASection с кодировкой символов, где некоторые символы не могут быть представлены, необходимо принять соответствующие меры. Отсутствие таких мер приведет к тому, что XML не будет правильно сформирован.

Примечание: Одним из возможных решений в процессе сериализации является завершение секции CDATA перед символом, вывод символа с помощью ссылки на символ или ссылки на сущность, и открытие новой секции CDATA для любых последующих символов в текстовом узле. Однако следует отметить, что некоторые библиотеки преобразования кода на момент написания не возвращают ошибку или исключение, когда символ отсутствует в кодировке, что затрудняет задачу по обеспечению того, чтобы данные не были повреждены при сериализации.

См. также Спецификацию уровня 3 Core для Document Object Model (DOM).

Краткое описание полей

Поля, объявленные в интерфейсе 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.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

Методы, объявленные в интерфейсе org.w3c.dom.Text

getWholeText, isElementContentWhitespace, replaceWholeText, splitText

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/org/w3c/dom/CDATASection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API