Spec-Zone.ru › OpenJDK 17

Интерфейс текста

Все суперинтерфейсы:
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 не выполняется проверка лексики, и в зависимости от его положения в документе некоторые символы необходимо экранировать при сериализации с помощью символьных ссылок; например, символы "<&" если текстовое содержимое является частью элемента или атрибута, последовательность символов "]]>" когда она является частью элемента, символ кавычки " или апострофа ' когда они являются частью атрибута.

См. также Спецификацию Объектной модели документа (DOM) уровня 3 Core.

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

Поля, объявленные в интерфейсе 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(String content)
Заменяет текст текущего узла и всех логически смежных узлов текста указанным текстом.
Text splitText(int offset)
Разбивает этот узел на два узла в указанной 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, 2021, 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/17/docs/api/java.xml/org/w3c/dom/Text.html

Spec-Zone.ru

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