Spec-Zone.ru › OpenJDK 25

Интерфейс Text

Все суперинтерфейсы:
CharacterData, Node
Все известные подинтерфейсы:
CDATASection
public interface Text extends CharacterData
Интерфейс Text наследует CharacterData и представляет текстовое содержимое (называемое символьными данными в XML) элемента Element или Attr. Если внутри содержимого элемента нет разметки, текст содержится в одном объекте, реализующем интерфейс Text, который является единственным дочерним узлом элемента. Если разметка есть, она разбирается на информационные элементы (элементы, комментарии и т. д.) и узлы Text, образующие список дочерних узлов элемента.

Когда документ впервые становится доступен через DOM, для каждого блока текста имеется только один узел Text. Пользователи могут создавать смежные узлы Text, представляющие содержимое заданного элемента без промежуточной разметки, однако следует учитывать, что в XML или HTML невозможно представить разделение между этими узлами, поэтому (как правило) оно не сохраняется между сеансами редактирования DOM. Метод Node.normalize() объединяет любые такие смежные объекты Text в один узел для каждого блока текста.

Для содержимого узла Text не выполняется лексическая проверка, и в зависимости от его положения в документе некоторые символы при сериализации необходимо экранировать с помощью символьных ссылок; например, символы "<&" в случае, если текстовое содержимое является частью элемента или атрибута, последовательность символов "]]>" в случае, если она является частью элемента, а также символ кавычки " или символ апострофа ' в случае, если он является частью атрибута.

См. также спецификацию Document Object Model (DOM) Level 3 Core.

Начиная с:
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

Краткое описание методов

Модификатор и тип Метод Описание
String getWholeText()
Возвращает весь текст узлов Text, логически смежных с этим узлом, объединённый в порядке следования в документе.
boolean isElementContentWhitespace()
Возвращает значение, указывающее, содержит ли этот текстовый узел пробельные символы в содержимом элемента, которые часто ошибочно называют «игнорируемыми пробельными символами».
Text replaceWholeText(String content)
Заменяет текст текущего узла и всех логически смежных текстовых узлов указанным текстом.
Text splitText(int offset)
Разделяет этот узел на два узла в указанной позиции offset, оставляя оба узла в дереве в качестве соседних.

Методы, объявленные в интерфейсе CharacterData

appendData, deleteData, getData, getLength, insertData, replaceData, setData, 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

Подробное описание методов

splitText

Text splitText(int offset) throws DOMException
Разделяет этот узел на два узла в указанной позиции offset, оставляя оба узла в дереве в качестве соседних. После разделения этот узел будет содержать всё содержимое до позиции offset. Возвращается новый узел того же типа, содержащий всё содержимое начиная с позиции offset. Если исходный узел имел родительский узел, новый узел вставляется как следующий соседний узел после исходного. Если значение offset равно длине этого узла, новый узел не содержит данных.
Параметры:
offset — смещение в 16-разрядных единицах, в котором выполняется разделение, начиная с 0.
Возвращает:
Новый узел того же типа, что и этот узел.
Вызывает исключение:
DOMException — INDEX_SIZE_ERR: возникает, если указанное смещение отрицательно или превышает количество 16-разрядных единиц в data.
NO_MODIFICATION_ALLOWED_ERR: возникает, если этот узел доступен только для чтения.

isElementContentWhitespace

boolean isElementContentWhitespace()
Возвращает значение, указывающее, содержит ли этот текстовый узел пробельные символы в содержимом элемента, которые часто ошибочно называют «игнорируемыми пробельными символами». Считается, что текстовый узел содержит пробельные символы в содержимом элемента, если это было определено при загрузке документа или в ходе проверки с использованием Document.normalizeDocument().
Начиная с:
1.5, DOM Level 3

getWholeText

String getWholeText()
Возвращает весь текст узлов Text, логически смежных с этим узлом, объединённый в порядке следования в документе.
Например, в приведённом ниже примере вызов wholeText для узла Text, содержащего "bar", возвращает "barfoo", а для узла Text, содержащего "foo", возвращает "barfoo".
                    +-----+
                    | <p> |
                    +-----+
                      /\
                     /  \
              /-----\    +-------+
              | bar |    | &ent; |
              \-----/    +-------+
                             |
                             |
                          /-----\
                          | foo |
                          \-----/
Рисунок: значение barTextNode.wholeText равно "barfoo"
Начиная с:
1.5, DOM Level 3

replaceWholeText

Text replaceWholeText(String content) throws DOMException
Заменяет текст текущего узла и всех логически смежных текстовых узлов указанным текстом. Все логически смежные текстовые узлы удаляются, включая текущий узел, если только он не является узлом, в который помещается заменяющий текст.

Этот метод возвращает узел, в который был помещён заменяющий текст. Возвращаемым узлом является:

  • null, если заменяющий текст представляет собой пустую строку;
  • текущий узел, если только текущий узел не доступен только для чтения;
  • новый узел Text того же типа ( Text или CDATASection), что и текущий узел, вставленный в место замены.

Например, в приведённом выше примере вызов replaceWholeText для узла Text, содержащего "bar", с аргументом "yo" приводит к следующему результату:

                    +-----+
                    | <p> |
                    +-----+
                       |
                       |
                    /-----\
                    | yo  |
                    \-----/
Рисунок: barTextNode.replaceWholeText("yo") изменяет текстовое содержимое barTextNode на "yo"

Если узлы, подлежащие удалению, являются доступными только для чтения потомками EntityReference, вместо узлов, доступных только для чтения, необходимо удалить EntityReference. Если у какого-либо EntityReference, подлежащего удалению, есть потомки, не являющиеся узлами EntityReference, Text или CDATASection, метод replaceWholeText должен завершиться с ошибкой до внесения каких-либо изменений в документ, вызвав DOMException с кодом NO_MODIFICATION_ALLOWED_ERR.

Например, в приведённом ниже примере вызов replaceWholeText для узла Text, содержащего "bar", завершается ошибкой, поскольку узел EntityReference "ent" содержит узел Element, который нельзя удалить.

Параметры:
content — содержимое заменяющего узла Text.
Возвращает:
Узел Text, созданный с указанным содержимым.
Вызывает исключение:
DOMException — NO_MODIFICATION_ALLOWED_ERR: возникает, если один из заменяемых узлов Text доступен только для чтения.
Начиная с:
1.5, DOM Level 3

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/org/w3c/dom/Text.html

Spec-Zone.ru

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