Интерфейс DocumentHandler

Все известные реализующие классы:
HandlerBase, ParserAdapter
@Deprecated(since="1.5")
public interface DocumentHandler
Устаревшее.
Этот интерфейс был заменён интерфейсом SAX2 ContentHandler, который включает поддержку Namespaces.

Получение уведомлений о событиях документа в общем случае.

Этот модуль, как исходный код, так и документация, находится в общественном достоянии и не несёт НИКАКОЙ ГАРАНТИИ. Смотрите http://www.saxproject.org для получения дополнительной информации.

Это был основной интерфейс обработки событий для SAX1; в SAX2 он был заменён на ContentHandler, который обеспечивает поддержку Namespaces и отчёт о пропущенных сущностях. Этот интерфейс включён в SAX2 только для поддержки устаревших приложений SAX1.

Порядок событий в этом интерфейсе очень важен и отражает порядок информации в самом документе. Например, всё содержимое элемента (символьные данные, инструкции обработки и/или подэлементы) будет появляться в порядке следования между событием startElement и соответствующим событием endElement.

Авторы приложений, которые не хотят реализовывать весь интерфейс, могут вывести класс из HandlerBase, который реализует базовую функциональность; авторы парсеров могут создать экземпляр HandlerBase для получения обработчика по умолчанию. Приложение может найти местоположение любого события документа, используя интерфейс Locator, предоставленный парсером через метод setDocumentLocator.

С момента:
1.4, SAX 1.0
См. также:
Parser.setDocumentHandler(org.xml.sax.DocumentHandler), Locator, HandlerBase

Методы

Модификатор и типМетодОписание
voidcharacters​(char[] ch, int start, int length)

Устаревшее.

Получение уведомления о символьных данных.

voidendDocument()

Устаревшее.

Получение уведомления об окончании документа.

voidendElement​(String name)

Устаревшее.

Получение уведомления об окончании элемента.

voidignorableWhitespace​(char[] ch, int start, int length)

Устаревшее.

Получение уведомления о пробелах игнорируемых в содержании элемента.

voidprocessingInstruction​(String target, String data)

Устаревшее.

Получение уведомления об инструкции обработки.

voidsetDocumentLocator​(Locator locator)

Устаревшее.

Получение объекта для определения источника событий SAX документа.

voidstartDocument()

Устаревшее.

Получение уведомления о начале документа.

voidstartElement​(String name, AttributeList atts)

Устаревшее.

Получение уведомления о начале элемента.

Методы

setDocumentLocator

void setDocumentLocator(Locator locator)
Устаревшее.

Получение объекта для определения источника событий SAX документа.

SAX парсеры настоятельно рекомендуются (хотя и не являются абсолютно необходимыми) предоставлять локатор: если это сделано, то он должен быть предоставлен приложению путём вызова этого метода перед вызовом любых других методов в интерфейсе DocumentHandler.

Локатор позволяет приложению определить конечную позицию любого события, связанного с документом, даже если парсер не сообщает об ошибке. Обычно приложение будет использовать эту информацию для отчётности о своих собственных ошибках (таких как символьное содержимое, которое не соответствует бизнес-правилам приложения). Информация, возвращаемая локатором, вероятно, не достаточна для использования с поисковой системой.

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

Параметры:
locator - Объект, который может возвращать местоположение любого события SAX документа.
См. также:
Locator

startDocument

void startDocument()
            throws SAXException
Устаревшее.

Получение уведомления о начале документа.

SAX парсер вызовет этот метод только один раз, прежде чем вызвать любые другие методы в этом интерфейсе или в DTDHandler (кроме setDocumentLocator).

Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.

endDocument

void endDocument()
          throws SAXException
Устаревшее.

Получение уведомления об окончании документа.

SAX парсер вызовет этот метод только один раз, и это будет последний метод, вызванный во время разбора. Парсер не должен вызывать этот метод, пока не будет прекращён разбор (из-за неисправимой ошибки) или не достигнет конца входных данных.

Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.

startElement

void startElement(String name,
                  AttributeList atts)
           throws SAXException
Устаревшее.

Получение уведомления о начале элемента.

Парсер вызовет этот метод в начале каждого элемента в XML-документе; будет соответствующее событие endElement() для каждого события startElement() (даже когда элемент пустой). Всё содержимое элемента будет сообщаться в порядке следования перед соответствующим событием endElement().

Если имя элемента имеет префикс пространства имён, префикс всё ещё будет прикреплён. Обратите внимание, что список атрибутов будет содержать только атрибуты с явными значениями (указанными или заданными по умолчанию): атрибуты #IMPLIED будут опущены.

Параметры:
name - Имя типа элемента.
atts - Атрибуты, прикреплённые к элементу, если есть.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
endElement(java.lang.String), AttributeList

endElement

void endElement(String name)
         throws SAXException
Устаревшее.

Получение уведомления об окончании элемента.

SAX парсер вызовет этот метод в конце каждого элемента в XML-документе; будет соответствующее событие startElement() для каждого события endElement() (даже когда элемент пустой).

Если имя элемента имеет префикс пространства имён, префикс всё ещё будет прикреплён к имени.

Параметры:
name - Имя типа элемента
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.

characters

void characters(char[] ch,
                int start,
                int length)
         throws SAXException
Устаревшее.

Получение уведомления о символьных данных.

Парсер вызовет этот метод, чтобы сообщить о каждом фрагменте символьных данных. SAX парсеры могут возвращать все смежные символьные данные в одном фрагменте или разбивать их на несколько фрагментов; однако все символы в любом отдельном событии должны происходить из одной и той же внешней сущности, чтобы локатор предоставлял полезную информацию.

Приложение не должно пытаться читать из массива за пределами указанного диапазона.

Обратите внимание, что некоторые парсеры будут сообщать о пробелах, используя метод ignorableWhitespace(), а не этот (валидирующие парсеры должны это делать).

Параметры:
ch - Символы из XML-документа.
start - Начальная позиция в массиве.
length - Количество символов для чтения из массива.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ignorableWhitespace(char[], int, int), Locator

ignorableWhitespace

void ignorableWhitespace(char[] ch,
                         int start,
                         int length)
                  throws SAXException
Устаревшее.

Получение уведомления о пробелах, игнорируемых в содержании элемента.

Валидирующие парсеры должны использовать этот метод для отчёта о каждом фрагменте пробелов, игнорируемых (см. рекомендацию W3C XML 1.0, раздел 2.10): невалидирующие парсеры также могут использовать этот метод, если они способны парсить и использовать модели содержимого.

SAX парсеры могут возвращать все смежные пробелы в одном фрагменте или разбивать их на несколько фрагментов; однако все символы в любом отдельном событии должны происходить из одной и той же внешней сущности, чтобы локатор предоставлял полезную информацию.

Приложение не должно пытаться читать из массива за пределами указанного диапазона.

Параметры:
ch - Символы из XML-документа.
start - Начальная позиция в массиве.
length - Количество символов для чтения из массива.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
characters(char[], int, int)

processingInstruction

void processingInstruction(String target,
                           String data)
                    throws SAXException
Устаревшее.

Получение уведомления об инструкции обработки.

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

SAX парсер никогда не должен сообщать об XML-декларации (XML 1.0, раздел 2.8) или декларации текста (XML 1.0, раздел 4.3.1) с помощью этого метода.

Параметры:
target - Цель инструкции обработки.
data - Данные инструкции обработки или null, если они не были предоставлены.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/org/xml/sax/DocumentHandler.html

Spec-Zone .ru
спецификации, руководства, описания, API