Spec-Zone.ru › OpenJDK 8

Интерфейс DocumentHandler

Все известные реализующие классы:
HandlerBase, ParserAdapter

Устаревшее.

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

public interface DocumentHandler

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

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

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

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

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

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

Методы

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

Устаревшее.

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

void endDocument()

Устаревшее.

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

void endElement(String name)

Устаревшее.

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

void ignorableWhitespace(char[] ch, int start, int length)

Устаревшее.

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

void processingInstruction(String target, String data)

Устаревшее.

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

void setDocumentLocator(Locator locator)

Устаревшее.

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

void startDocument()

Устаревшее.

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

void startElement(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 парсеры могут вернуть все смежные символьные данные в одном блоке, или они могут разделить их на несколько блоков; однако, все символы в любом отдельном событии должны поступать из одной внешней сущности, так что Locator предоставляет полезную информацию.

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

Обратите внимание, что некоторые парсеры будут сообщать о пробелах с помощью метода 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 парсеры могут вернуть все смежные пробелы в одном блоке, или они могут разделить их на несколько блоков; однако, все символы в любом отдельном событии должны поступать из одной внешней сущности, так что Locator предоставляет полезную информацию.

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

Параметры:
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API