Класс DefaultHandler
- java.lang.Object
-
- org.xml.sax.helpers.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.
- С тех пор:
- 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.