Интерфейс Текст
- Все суперинтерфейсы:
-
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 не выполняется лексическая проверка, и в зависимости от его положения в документе некоторые символы должны быть экранированы при сериализации с помощью символьных ссылок; например, символы "<&" если текстовое содержимое является частью элемента или атрибута, последовательность символов "]]>" при вхождении в элемент, символ кавычек " или символ апострофа ' при вхождении в атрибут.
См. также Спецификацию уровня 3 Core языка Document Object Model (DOM).
- С:
- 1.4, DOM Level 2
Краткое описание полей
Поля, объявленные в интерфейсе 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
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getWholeText() |
Возвращает весь текст узлов Text логически-смежных с этим узлом, соединенных в порядке документа. |
boolean |
isElementContentWhitespace() |
Возвращает, содержит ли этот текстовый узел пробелы содержимого элемента, часто неудачно называемые "игнорируемыми пробелами". |
Text |
replaceWholeText |
Заменяет текст текущего узла и всех логически-смежных текстовых узлов указанным текстом. |
Text |
splitText |
Разбивает этот узел на два узла в указанной offset точке, сохраняя оба в дереве как родственные. |
Методы, объявленные в интерфейсе 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
Подробное описание методов
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
© 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/w3c/dom/Text.html