Интерфейс 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getWholeText() |
Возвращает весь текст узлов Text, логически смежных с этим узлом, объединенный в порядке следования в документе. |
boolean |
isElementContentWhitespace() |
Возвращает значение, указывающее, содержит ли этот текстовый узел пробельные символы в содержимом элемента, которые часто ошибочно называют «игнорируемыми пробелами». |
Text |
replaceWholeText |
Заменяет текст текущего узла и всех логически смежных текстовых узлов указанным текстом. |
Text |
splitText |
Разбивает этот узел на два узла в указанной позиции offset, оставляя оба узла в дереве как соседние. |
Методы, объявленные в интерфейсе 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 |
Связывает объект с ключом в этом узле. |
Подробное описание методов
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.