Интерфейс NodeFilter

Все известные подинтерфейсы:
LSSerializerFilter
public interface NodeFilter

Фильтры — это объекты, которые знают, как «фильтровать» узлы. Если NodeIterator или TreeWalker получает NodeFilter, он применяет фильтр, прежде чем вернуть следующий узел. Если фильтр разрешает принять узел, логика обхода возвращает его; в противном случае обход ищет следующий узел и делает вид, что отвергнутый узел отсутствует.

DOM не предоставляет фильтры. NodeFilter — это просто интерфейс, который пользователи могут реализовать, чтобы предоставить свои собственные фильтры.

NodeFilters не нужно знать, как перемещаться от узла к узлу, ни какие-либо сведения о структуре данных, по которой происходит перемещение. Это сильно упрощает написание фильтров, поскольку единственное, что они должны уметь делать, — это оценивать отдельный узел. Один фильтр может использоваться с множеством различных типов обходов, что способствует повторному использованию кода.

См. также Спецификацию уровнем 2 DOM (Document Object Model) обхода и диапазона.

С момента:
9, DOM Level 2

Поля

Модификатор и типПолеОписание
static shortFILTER_ACCEPT

Принять узел.

static shortFILTER_REJECT

Отклонить узел.

static shortFILTER_SKIP

Пропустить этот единственный узел.

static intSHOW_ALL

Показать все Nodes.

static intSHOW_ATTRIBUTE

Показать Attr узлы.

static intSHOW_CDATA_SECTION

Показать CDATASection узлы.

static intSHOW_COMMENT

Показать Comment узлы.

static intSHOW_DOCUMENT

Показать Document узлы.

static intSHOW_DOCUMENT_FRAGMENT

Показать DocumentFragment узлы.

static intSHOW_DOCUMENT_TYPE

Показать DocumentType узлы.

static intSHOW_ELEMENT

Показать Element узлы.

static intSHOW_ENTITY

Показать Entity узлы.

static intSHOW_ENTITY_REFERENCE

Показать EntityReference узлы.

static intSHOW_NOTATION

Показать Notation узлы.

static intSHOW_PROCESSING_INSTRUCTION

Показать ProcessingInstruction узлы.

static intSHOW_TEXT

Показать Text узлы.

Методы

Модификатор и типМетодОписание
shortacceptNode​(Node n)

Проверить, виден ли указанный узел в логическом представлении TreeWalker или NodeIterator.

Поля

FILTER_ACCEPT

static final short FILTER_ACCEPT

Принять узел. Методы навигации, определенные для NodeIterator или TreeWalker, вернут этот узел.

См. также:
Значения константных полей

FILTER_REJECT

static final short FILTER_REJECT

Отклонить узел. Методы навигации, определенные для NodeIterator или TreeWalker, не вернут этот узел. Для TreeWalker, дочерние узлы этого узла также будут отклонены. NodeIterators рассматривают это как синоним FILTER_SKIP.

См. также:
Значения константных полей

FILTER_SKIP

static final short FILTER_SKIP

Пропустить этот единственный узел. Методы навигации, определенные для NodeIterator или TreeWalker, не вернут этот узел. Для обоих NodeIterator и TreeWalker, дочерние узлы этого узла все же будут рассмотрены.

См. также:
Значения константных полей

SHOW_ALL

static final int SHOW_ALL

Показать все Nodes.

См. также:
Значения константных полей

SHOW_ELEMENT

static final int SHOW_ELEMENT

Показать Element узлы.

См. также:
Значения константных полей

SHOW_ATTRIBUTE

static final int SHOW_ATTRIBUTE

Показать Attr узлы. Это имеет смысл только при создании NodeIterator или TreeWalker с узлом атрибута в качестве root; в этом случае это означает, что узел атрибута будет отображаться на первом месте итерации или обхода. Поскольку атрибуты никогда не являются дочерними узлами других узлов, они не отображаются при обходе дерева документа.

См. также:
Значения константных полей

SHOW_TEXT

static final int SHOW_TEXT

Показать Text узлы.

См. также:
Значения константных полей

SHOW_CDATA_SECTION

static final int SHOW_CDATA_SECTION

Показать CDATASection узлы.

См. также:
Значения константных полей

SHOW_ENTITY_REFERENCE

static final int SHOW_ENTITY_REFERENCE

Показать EntityReference узлы.

См. также:
Значения константных полей

SHOW_ENTITY

static final int SHOW_ENTITY

Показать Entity узлы. Это имеет смысл только при создании NodeIterator или TreeWalker с узлом Entity в качестве root; в этом случае это означает, что узел Entity будет отображаться на первом месте обхода. Поскольку сущности не являются частью дерева документа, они не отображаются при обходе дерева документа.

См. также:
Значения константных полей

SHOW_PROCESSING_INSTRUCTION

static final int SHOW_PROCESSING_INSTRUCTION

Показать ProcessingInstruction узлы.

См. также:
Значения константных полей

SHOW_COMMENT

static final int SHOW_COMMENT

Показать Comment узлы.

См. также:
Значения константных полей

SHOW_DOCUMENT

static final int SHOW_DOCUMENT

Показать Document узлы.

См. также:
Значения константных полей

SHOW_DOCUMENT_TYPE

static final int SHOW_DOCUMENT_TYPE

Показать DocumentType узлы.

См. также:
Значения константных полей

SHOW_DOCUMENT_FRAGMENT

static final int SHOW_DOCUMENT_FRAGMENT

Показать DocumentFragment узлы.

См. также:
Значения константных полей

SHOW_NOTATION

static final int SHOW_NOTATION

Показать Notation узлы. Это имеет смысл только при создании NodeIterator или TreeWalker с узлом Notation в качестве root; в этом случае это означает, что узел Notation будет отображаться на первом месте обхода. Поскольку обозначения не являются частью дерева документа, они не отображаются при обходе дерева документа.

См. также:
Значения константных полей

Методы

acceptNode

short acceptNode(Node n)

Проверить, виден ли указанный узел в логическом представлении TreeWalker или NodeIterator. Эта функция будет вызвана реализацией TreeWalker и NodeIterator; обычно она не вызывается напрямую из пользовательского кода. (Хотя вы можете сделать это, если хотите использовать тот же фильтр для управления своей собственной логикой приложения.)

Параметры:
n — узел, для которого нужно проверить соответствие фильтру.
Возвращает:
Константу, определяющую, принят ли узел, отклонен или пропущен, как описано выше.
Spec-Zone .ru
спецификации, руководства, описания, API