Интерфейс CDATASection
- Все суперинтерфейсы:
CharacterData, Node, Text
public interface CDATASection extends Text
Атрибут CharacterData.data содержит текст, заключённый в раздел CDATA. Обратите внимание, что этот текст может содержать символы, которые необходимо экранировать вне разделов CDATA, и что в зависимости от выбранной для сериализации кодировки символов («набора символов») некоторые символы может быть невозможно записать в составе раздела CDATA.
Интерфейс CDATASection наследует интерфейс CharacterData через интерфейс Text. Соседние узлы CDATASection не объединяются при использовании метода normalize интерфейса Node.
Содержимое раздела CDATA не проверяется лексически, поэтому в нём может присутствовать последовательность символов "]]>", запрещённая в разделе CDATA согласно разделу 2.7 [XML 1.0]. Наличие этой последовательности символов должно приводить к фатальной ошибке при сериализации либо раздел CDATA должен быть разделён перед сериализацией (см. также параметр "split-cdata-sections" интерфейса DOMConfiguration).
Примечание: Поскольку внутри CDATASection не распознаётся разметка, числовые ссылки на символы нельзя использовать в качестве механизма экранирования при сериализации. Поэтому при сериализации CDATASection с кодировкой символов, в которой невозможно представить некоторые из содержащихся в нём символов, необходимо принять соответствующие меры. В противном случае корректный XML сформирован не будет.
Примечание: Одно из возможных решений при сериализации — завершить раздел CDATA перед таким символом, вывести символ с помощью ссылки на символ или сущность и открыть новый раздел CDATA для всех последующих символов текстового узла. Однако следует учитывать, что некоторые библиотеки преобразования кодировок на момент написания документа не возвращают ошибку и не генерируют исключение, если в кодировке отсутствует символ, что затрудняет проверку того, что данные не будут повреждены при сериализации.
См. также Спецификацию основной модели объектов документа (DOM) уровня 3.
- Начиная с:
- 1.4, DOM Level 2
Краткое описание полей
Поля, объявленные в интерфейсе 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
static final short |
ATTRIBUTE_NODE |
Узел является Attr. |
static final short |
CDATA_SECTION_NODE |
Узел является CDATASection. |
static final short |
COMMENT_NODE |
Узел является Comment. |
static final short |
DOCUMENT_FRAGMENT_NODE |
Узел является DocumentFragment. |
static final short |
DOCUMENT_NODE |
Узел является Document. |
static final short |
DOCUMENT_POSITION_CONTAINED_BY |
Узел содержится в узле-ссылке. |
static final short |
DOCUMENT_POSITION_CONTAINS |
Узел содержит узел-ссылку. |
static final short |
DOCUMENT_POSITION_DISCONNECTED |
Два узла не связаны. |
static final short |
DOCUMENT_POSITION_FOLLOWING |
Узел следует за узлом-ссылкой. |
static final short |
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
Определение того, какой узел предшествует другому, зависит от реализации. |
static final short |
DOCUMENT_POSITION_PRECEDING |
Второй узел предшествует узлу-ссылке. |
static final short |
DOCUMENT_TYPE_NODE |
Узел является DocumentType. |
static final short |
ELEMENT_NODE |
Узел является Element. |
static final short |
ENTITY_NODE |
Узел является Entity. |
static final short |
ENTITY_REFERENCE_NODE |
Узел является EntityReference. |
static final short |
NOTATION_NODE |
Узел является Notation. |
static final short |
PROCESSING_INSTRUCTION_NODE |
Узел является ProcessingInstruction. |
static final short |
TEXT_NODE |
Узел является узлом Text. |
Краткое описание методов
Методы, объявленные в интерфейсе CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
appendData |
Добавляет строку в конец символьных данных узла. |
void |
deleteData |
Удаляет из узла диапазон 16-разрядных единиц. |
String |
getData() |
Символьные данные узла, реализующего этот интерфейс. |
int |
getLength() |
Количество 16-разрядных единиц, доступных через data и описанный ниже метод substringData. |
void |
insertData |
Вставляет строку по указанному смещению в 16-разрядных единицах. |
void |
replaceData |
Заменяет символы, начиная с указанного смещения в 16-разрядных единицах, заданной строкой. |
void |
setData |
Символьные данные узла, реализующего этот интерфейс. |
String |
substringData |
Извлекает диапазон данных из узла. |
Методы, объявленные в интерфейсе 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
Node |
appendChild |
Добавляет узел newChild в конец списка дочерних узлов этого узла. |
Node |
cloneNode |
Возвращает дубликат этого узла, то есть служит универсальным конструктором копирования для узлов. |
short |
compareDocumentPosition |
Сравнивает узел-ссылку (то есть узел, для которого вызывается этот метод) с другим узлом (переданным в качестве параметра) по их положению в документе и в соответствии с порядком документа. |
NamedNodeMap |
getAttributes() |
Объект NamedNodeMap, содержащий атрибуты этого узла (если он является Element), или null в противном случае. |
String |
getBaseURI() |
Абсолютный базовый URI этого узла или null, если реализации не удалось получить абсолютный URI. |
NodeList |
getChildNodes() |
Объект NodeList, содержащий все дочерние узлы этого узла. |
Object |
getFeature |
Этот метод возвращает специализированный объект, реализующий специализированные API указанной функции и версии, как указано в . |
Node |
getFirstChild() |
Первый дочерний узел этого узла. |
Node |
getLastChild() |
Последний дочерний узел этого узла. |
String |
getLocalName() |
Возвращает локальную часть квалифицированного имени этого узла. |
String |
getNamespaceURI() |
URI пространства имён этого узла или null, если он не задан (см. ). |
Node |
getNextSibling() |
Узел, непосредственно следующий за этим узлом. |
String |
getNodeName() |
Имя этого узла в зависимости от его типа; см. таблицу выше. |
short |
getNodeType() |
Код, представляющий тип базового объекта, как определено выше. |
String |
getNodeValue() |
Значение этого узла в зависимости от его типа; см. таблицу выше. |
Document |
getOwnerDocument() |
Объект Document, связанный с этим узлом. |
Node |
getParentNode() |
Родительский узел этого узла. |
String |
getPrefix() |
Префикс пространства имён этого узла или null, если он не задан. |
Node |
getPreviousSibling() |
Узел, непосредственно предшествующий этому узлу. |
String |
getTextContent() |
Этот атрибут возвращает текстовое содержимое данного узла и его потомков. |
Object |
getUserData |
Получает объект, связанный с ключом в этом узле. |
boolean |
hasAttributes() |
Возвращает, имеются ли у этого узла какие-либо атрибуты (если он является элементом). |
boolean |
hasChildNodes() |
Возвращает, имеются ли у этого узла дочерние узлы. |
Node |
insertBefore |
Вставляет узел newChild перед существующим дочерним узлом refChild. |
boolean |
isDefaultNamespace |
Этот метод проверяет, является ли указанный namespaceURI пространством имён по умолчанию. |
boolean |
isEqualNode |
Проверяет, равны ли два узла. |
boolean |
isSameNode |
Возвращает, является ли этот узел тем же самым узлом, что и заданный. |
boolean |
isSupported |
Проверяет, реализует ли DOM-реализация определённую функцию и поддерживается ли эта функция данным узлом, как указано в . |
String |
lookupNamespaceURI |
Ищет URI пространства имён, связанный с заданным префиксом, начиная с этого узла. |
String |
lookupPrefix |
Ищет префикс, связанный с заданным URI пространства имён, начиная с этого узла. |
void |
normalize() |
Приводит все узлы Text на всей глубине поддерева под этим Node, включая узлы-атрибуты, к «нормальной» форме, в которой узлы Text разделяются только структурными элементами (например, элементами, комментариями, инструкциями обработки, разделами CDATA и ссылками на сущности), то есть соседних узлов Text и пустых узлов Text нет. |
Node |
removeChild |
Удаляет дочерний узел, указанный параметром oldChild, из списка дочерних узлов и возвращает его. |
Node |
replaceChild |
Заменяет дочерний узел oldChild узлом newChild в списке дочерних узлов и возвращает узел oldChild. |
void |
setNodeValue |
Значение этого узла в зависимости от его типа; см. таблицу выше. |
void |
setPrefix |
Префикс пространства имён этого узла или null, если он не задан. |
void |
setTextContent |
Этот атрибут возвращает текстовое содержимое данного узла и его потомков. |
Object |
setUserData |
Связывает объект с ключом в этом узле. |
Методы, объявленные в интерфейсе Text
getWholeText, isElementContentWhitespace, replaceWholeText, splitText | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getWholeText() |
Возвращает весь текст узлов Text — логически смежных текстовых узлов данного узла, объединённый в порядке документа. |
boolean |
isElementContentWhitespace() |
Возвращает, содержит ли этот текстовый узел пробельные символы в содержимом элемента, которые часто ошибочно называют «игнорируемыми пробелами». |
Text |
replaceWholeText |
Заменяет текст текущего узла и всех логически смежных текстовых узлов указанным текстом. |
Text |
splitText |
Разбивает этот узел на два узла в указанной позиции offset, оставляя оба узла в дереве в качестве соседних. |
© 1993, 2025, 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.