Spec-Zone.ru › OpenJDK 8

Интерфейс Text

Все суперинтерфейсы:
CharacterData, Node
Все известные подинтерфейсы:
CDATASection, Text

public interface Text
extends CharacterData

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

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

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

См. также Спецификацию уровня 3 ядра Document Object Model (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

Методы

Модификатор и тип Метод и описание
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().

С:
DOM Level 3

getWholeText

String getWholeText()

Возвращает весь текст узлов Text, логически смежных с этим узлом, конкатенированных в порядке документа.
Например, в примере ниже wholeText на узле Text, содержащем "bar", возвращает "barfoo", а на узле Text, содержащем "foo", возвращает "barfoo".

+-----+
                     | <p> |
                     +-----+
                       /\
                      /  \
               /-----\    +-------+
               | bar |    | &ent; |
               \-----/    +-------+
                              |
                              |
                           /-----\
                           | foo |
                           \-----/
Рисунок: значение barTextNode.wholeText равно "barfoo"

С:
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 замены является только для чтения.
С:
DOM Level 3

© 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.

Spec-Zone.ru

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