Интерфейс NodeFilter
- Все известные подинтерфейсы:
LSSerializerFilter
public interface NodeFilter
Фильтры — это объекты, которые знают, как «фильтровать» узлы. Если NodeIterator или TreeWalker получает NodeFilter, он применяет фильтр, прежде чем вернуть следующий узел. Если фильтр разрешает принять узел, логика обхода возвращает его; в противном случае обход ищет следующий узел и делает вид, что отвергнутый узел отсутствует.
DOM не предоставляет фильтры. NodeFilter — это просто интерфейс, который пользователи могут реализовать, чтобы предоставить свои собственные фильтры.
NodeFilters не нужно знать, как перемещаться от узла к узлу, ни какие-либо сведения о структуре данных, по которой происходит перемещение. Это сильно упрощает написание фильтров, поскольку единственное, что они должны уметь делать, — это оценивать отдельный узел. Один фильтр может использоваться с множеством различных типов обходов, что способствует повторному использованию кода.
См. также Спецификацию уровнем 2 DOM (Document Object Model) обхода и диапазона.
- С момента:
- 9, DOM Level 2
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static short | FILTER_ACCEPT | Принять узел. |
static short | FILTER_REJECT | Отклонить узел. |
static short | FILTER_SKIP | Пропустить этот единственный узел. |
static int | SHOW_ALL | Показать все |
static int | SHOW_ATTRIBUTE | Показать |
static int | SHOW_CDATA_SECTION | Показать |
static int | SHOW_COMMENT | Показать |
static int | SHOW_DOCUMENT | Показать |
static int | SHOW_DOCUMENT_FRAGMENT | Показать |
static int | SHOW_DOCUMENT_TYPE | Показать |
static int | SHOW_ELEMENT | Показать |
static int | SHOW_ENTITY | Показать |
static int | SHOW_ENTITY_REFERENCE | Показать |
static int | SHOW_NOTATION | Показать |
static int | SHOW_PROCESSING_INSTRUCTION | Показать |
static int | SHOW_TEXT | Показать |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
short | acceptNode(Node n) | Проверить, виден ли указанный узел в логическом представлении |
Поля
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— узел, для которого нужно проверить соответствие фильтру. - Возвращает:
- Константу, определяющую, принят ли узел, отклонен или пропущен, как описано выше.