Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface LSParserFilter
LSParserFilter
s обеспечивают приложения возможность исследовать узлы, поскольку они создаются, анализируя. Поскольку каждый узел исследуется, он может быть изменен или удален, или весь синтаксический анализ может быть завершен рано. В то время, когда любой из методов фильтра вызывает синтаксический анализатор, Документ владельца и объекты DOMImplementation существуют и доступны. Элемент документа никогда не передают к LSParserFilter
методы, то есть не возможно отфильтровать элемент документа. Document
, DocumentType
, Notation
, Entity
, и Attr
узлы никогда не передают к acceptNode
метод на фильтре. Дочерние узлы EntityReference
узел передают к фильтру, если параметрыfalse
. Отметьте, что, как описано параметром
Вся законность, проверяющая, анализируя документ, происходит на исходном документе, как это появляется на входном потоке, не на документе ДОМА, поскольку это создается в памяти. С фильтрами документ в памяти может быть подмножеством документа о потоке, и на его законность, возможно, влияла фильтрация.
Все атрибуты по умолчанию должны присутствовать на элементах, когда элементы передают к методам фильтра. Весь другой контент по умолчанию нужно передать к методам фильтра.
Приложения ДОМА не должны повысить исключения в фильтре. Эффектом выдачи исключений от фильтра является зависящий от реализации ДОМ.
См. также
Модификатор и Тип | Поле и Описание |
---|---|
static short |
FILTER_ACCEPT
Примите узел.
|
static short |
FILTER_INTERRUPT
Прервите нормальную обработку документа.
|
static short |
FILTER_REJECT
Отклоните узел и его дочерние элементы.
|
static short |
FILTER_SKIP
Пропустите этот единственный узел.
|
Модификатор и Тип | Метод и Описание |
---|---|
short |
acceptNode(Node nodeArg)
Этот метод вызовет синтаксический анализатор при завершении парсинга каждого узла.
|
int |
getWhatToShow()
Говорит
LSParser какие типы узлов показать методу LSParserFilter.acceptNode . |
short |
startElement(Element elementArg)
Синтаксический анализатор вызовет этот метод после каждого
Element запустите тег был отсканирован, но перед остатком от Element обрабатывается. |
static final short FILTER_ACCEPT
static final short FILTER_REJECT
static final short FILTER_SKIP
static final short FILTER_INTERRUPT
short startElement(Element elementArg)
Element
запустите тег был отсканирован, но перед остатком от Element
обрабатывается. Намерение состоит в том, чтобы позволить элементу, включая любые дочерние элементы, быть эффективно пропущенным. Отметьте, что только узлы элемента передают к startElement
функция. startElement
для того, чтобы фильтровать будет включать все атрибуты Элемента, но ни один из узлов дочерних элементов. Элемент еще, возможно, не находится на месте в создаваемом документе (у этого, возможно, нет родительского узла.) startElement
функция фильтра может получить доступ или изменить атрибуты для Элемента. Изменение Объявлений пространства имен не будет иметь никакого эффекта на разрешение пространства имен синтаксическим анализатором. elementArg
- Элемент, с которым недавно встречаются. В то время, когда этот метод вызывают, элемент является неполным - у этого будут свои атрибуты, но никакие дочерние элементы.FILTER_ACCEPT
если Element
должен быть включен в создаваемый документ ДОМА. FILTER_REJECT
если Element
и все его дочерние элементы должны быть отклонены. FILTER_SKIP
если Element
должен быть пропущен. Все его дочерние элементы вставляются вместо пропущенного Element
узел. FILTER_INTERRUPT
если фильтр хочет остановить обработку документа. Прерывание обработки документа больше не гарантирует, что получающееся дерево ДОМА является правильно построенным XML. Element
отклоняется. short acceptNode(Node nodeArg)
nodeArg
- Недавно созданный элемент. В то время, когда этот метод вызывают, элемент полон - это имеет все свои дочерние элементы (и их дочерние элементы, рекурсивно) и атрибуты, и присоединяется как дочерний элемент к его родителю.FILTER_ACCEPT
если это Node
должен быть включен в создаваемый документ ДОМА. FILTER_REJECT
если Node
и все его дочерние элементы должны быть отклонены. FILTER_SKIP
если Node
должен быть пропущен и Node
должен быть заменен всеми дочерними элементами Node
. FILTER_INTERRUPT
если фильтр хочет остановить обработку документа. Прерывание обработки документа больше не гарантирует, что получающееся дерево ДОМА является правильно построенным XML. Node
принимается и будет последний полностью проанализированный узел. int getWhatToShow()
LSParser
какие типы узлов показать методу LSParserFilter.acceptNode
. Если узел не показывают фильтру, используя этот атрибут, это автоматически включается в создаваемый документ ДОМА. См. NodeFilter
для определения констант. Константы SHOW_ATTRIBUTE
, SHOW_DOCUMENT
, SHOW_DOCUMENT_TYPE
, SHOW_NOTATION
, SHOW_ENTITY
, и SHOW_DOCUMENT_FRAGMENT
бессмысленны здесь. К тем узлам никогда не будут передавать LSParserFilter.acceptNode
.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.