Класс DefaultHandler

Все реализованные интерфейсы:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler
Прямые известные подклассы:
DefaultHandler2
public class DefaultHandler
extends Object
implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler

Базовый класс по умолчанию для обработчиков событий SAX2.

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

Этот класс доступен в качестве удобного базового класса для приложений SAX2: он предоставляет реализацию по умолчанию для всех обратных вызовов в четырёх основных классах обработчиков SAX2:

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

Этот класс заменяет устаревший класс SAX1 HandlerBase.

С:
1.4, SAX 2.0
См. также:
EntityResolver, DTDHandler, ContentHandler, ErrorHandler

Конструкторы

Конструктор Описание
DefaultHandler()

Методы

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

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

void endDocument()

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

void endElement​(String uri, String localName, String qName)

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

void endPrefixMapping​(String prefix)

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

void error​(SAXParseException e)

Получение уведомления об ошибке парсера, подлежащей восстановлению.

void fatalError​(SAXParseException e)

Сообщить о фатальной ошибке парсинга XML.

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

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

void notationDecl​(String name, String publicId, String systemId)

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

void processingInstruction​(String target, String data)

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

InputSource resolveEntity​(String publicId, String systemId)

Разрешение внешней сущности.

void setDocumentLocator​(Locator locator)

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

void skippedEntity​(String name)

Получение уведомления о пропущенной сущности.

void startDocument()

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

void startElement​(String uri, String localName, String qName, Attributes attributes)

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

void startPrefixMapping​(String prefix, String uri)

Получение уведомления о начале сопоставления пространства имён.

void unparsedEntityDecl​(String name, String publicId, String systemId, String notationName)

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

void warning​(SAXParseException e)

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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

DefaultHandler

public DefaultHandler()

Методы

resolveEntity

public InputSource resolveEntity(String publicId,
                                 String systemId)
                          throws IOException,
                                 SAXException

Разрешить внешнюю сущность.

Всегда возвращает null, чтобы парсер использовал системный идентификатор, предоставленный в XML-документе. Этот метод реализует поведение по умолчанию SAX: разработчики приложений могут переопределить его в подклассе для выполнения специальных переводов, таких как поиск в каталоге или перенаправление URI.

Указано в:
resolveEntity в интерфейсе EntityResolver
Параметры:
publicId - Открытый идентификатор или null, если он недоступен.
systemId - Системный идентификатор, предоставленный в XML-документе.
Возвращает:
Новый источник ввода или null, чтобы потребовать поведение по умолчанию.
Исключения:
IOException - Если возникла ошибка при настройке нового источника ввода.
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
EntityResolver.resolveEntity(java.lang.String, java.lang.String)

notationDecl

public void notationDecl(String name,
                         String publicId,
                         String systemId)
                  throws SAXException

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

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

Указано в:
notationDecl в интерфейсе DTDHandler
Параметры:
name - Имя обозначения.
publicId - Открытый идентификатор обозначения или null, если он недоступен.
systemId - Системный идентификатор обозначения.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)

unparsedEntityDecl

public void unparsedEntityDecl(String name,
                               String publicId,
                               String systemId,
                               String notationName)
                        throws SAXException

Получить уведомление об объявлении необработанной сущности.

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

Указано в:
unparsedEntityDecl в интерфейсе DTDHandler
Параметры:
name - Имя сущности.
publicId - Открытый идентификатор сущности или null, если он недоступен.
systemId - Системный идентификатор сущности.
notationName - Имя связанного обозначения.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

setDocumentLocator

public void setDocumentLocator(Locator locator)

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

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

Указано в:
setDocumentLocator в интерфейсе ContentHandler
Параметры:
locator - Локатор всех событий SAX документа.
См. также:
ContentHandler.setDocumentLocator(org.xml.sax.Locator), Locator

startDocument

public void startDocument()
                   throws SAXException

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

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

Указано в:
startDocument в интерфейсе ContentHandler
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.startDocument()

endDocument

public void endDocument()
                 throws SAXException

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

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

Указано в:
endDocument в интерфейсе ContentHandler
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.endDocument()

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
                        throws SAXException

Получить уведомление о начале сопоставления пространств имён.

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

Указано в:
startPrefixMapping в интерфейсе ContentHandler
Параметры:
prefix - Префикс пространства имён, который объявляется.
uri - URI пространства имён, сопоставленный с префиксом.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)

endPrefixMapping

public void endPrefixMapping(String prefix)
                      throws SAXException

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

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

Указано в:
endPrefixMapping в интерфейсе ContentHandler
Параметры:
prefix - Префикс пространства имён, который объявляется.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.endPrefixMapping(java.lang.String)

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes attributes)
                  throws SAXException

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

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

Указано в:
startElement в интерфейсе ContentHandler
Параметры:
uri - URI пространства имён или пустая строка, если у элемента нет URI пространства имён или если обработка пространства имён не выполняется.
localName - Локальное имя (без префикса) или пустая строка, если обработка пространства имён не выполняется.
qName - Квалифицированное имя (с префиксом) или пустая строка, если квалифицированные имена недоступны.
attributes - Атрибуты, прикрепленные к элементу. Если атрибутов нет, это будет пустой объект Attributes.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException

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

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

Указано в:
endElement в интерфейсе ContentHandler
Параметры:
uri - URI пространства имён или пустая строка, если у элемента нет URI пространства имён или если обработка пространства имён не выполняется.
localName - Локальное имя (без префикса) или пустая строка, если обработка пространства имён не выполняется.
qName - Квалифицированное имя (с префиксом) или пустая строка, если квалифицированные имена недоступны.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException

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

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

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

ignorableWhitespace

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

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

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

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

processingInstruction

public void processingInstruction(String target,
                                  String data)
                           throws SAXException

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

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

Определено в:
processingInstruction в интерфейсе ContentHandler
Параметры:
target - Цель инструкции обработки.
data - Данные инструкции обработки или null, если они не предоставлены.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.processingInstruction(java.lang.String, java.lang.String)

skippedEntity

public void skippedEntity(String name)
                   throws SAXException

Получить уведомление о пропущенном элементе.

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

Определено в:
skippedEntity в интерфейсе ContentHandler
Параметры:
name - Имя пропущенного элемента.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ContentHandler.processingInstruction(java.lang.String, java.lang.String)

warning

public void warning(SAXParseException e)
             throws SAXException

Получить уведомление о предупреждении парсера.

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

Определено в:
warning в интерфейсе ErrorHandler
Параметры:
e - Информация о предупреждении, закодированная как исключение.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ErrorHandler.warning(org.xml.sax.SAXParseException), SAXParseException

error

public void error(SAXParseException e)
           throws SAXException

Получить уведомление о поправимой ошибке парсера.

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

Определено в:
error в интерфейсе ErrorHandler
Параметры:
e - Информация об ошибке, закодированная как исключение.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ErrorHandler.warning(org.xml.sax.SAXParseException), SAXParseException

fatalError

public void fatalError(SAXParseException e)
                throws SAXException

Сообщить об ошибке разбора XML.

Метод по умолчанию выбрасывает SAXParseException. Разработчики приложений могут переопределить этот метод в подклассе, если им необходимо выполнить определенные действия для каждой критической ошибки (например, собрать все ошибки в одном отчете): в любом случае приложение должно остановить всю обычную обработку при вызове этого метода, поскольку документ больше не надежен, и парсер больше не может сообщать о событиях разбора.

Определено в:
fatalError в интерфейсе ErrorHandler
Параметры:
e - Информация об ошибке, закодированная как исключение.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
ErrorHandler.fatalError(org.xml.sax.SAXParseException), SAXParseException

© 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/helpers/DefaultHandler.html

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