Интерфейс 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 ядра документа 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, 2020, 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/11/docs/api/java.xml/org/w3c/dom/CDATASection.html