Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ. См. http://www.saxproject.org для дополнительной информации.
Если приложение SAX должно реализовать настроенную обработку ошибок, оно должно реализовать этот интерфейс и затем зарегистрировать экземпляр в средстве чтения XML, используя setErrorHandler метод. Синтаксический анализатор тогда сообщит обо всех ошибках и предупреждениях через этот интерфейс.
ПРЕДУПРЕЖДЕНИЕ: Если приложение не зарегистрирует ErrorHandler, то XML, анализирующий ошибки, пойдет несообщаемый, за исключением того, что SAXParseExceptions будет брошен для фатальных ошибок. Чтобы обнаружить ошибки законности, ErrorHandler, который делает что-то с error() вызовы должны быть зарегистрированы.
Для XML, обрабатывающего ошибки, драйвер SAX должен использовать этот интерфейс в предпочтении к выдаче исключения: это до приложения, чтобы решить, выдать ли исключение для различных типов ошибок и предупреждений. Отметьте, однако, что нет никакого требования, чтобы синтаксический анализатор продолжал сообщать о дополнительных ошибках после звонка fatalError. Другими словами класс драйвера SAX может выдать исключение после создания отчетов о любом fatalError. Также синтаксические анализаторы могут выдать соответствующие исключения для ошибок не-XML. Например, XMLReader.parse() бросил бы IOException для ошибок, получающих доступ к объектам или документу.
Синтаксические анализаторы SAX будут использовать этот метод, чтобы сообщить об условиях, которые не являются ошибками или фатальными ошибками как определено рекомендацией XML. Поведение по умолчанию не состоит в том, чтобы предпринять меры.
Синтаксический анализатор SAX должен продолжать обеспечивать нормальные события парсинга после вызова этого метода: для приложения должно все еще быть возможно обработать документ через до конца.
Фильтры могут использовать этот метод, чтобы сообщить о другом, предупреждения не-XML также.
Параметры:
exception - Информация о предупреждении, инкапсулировавшая в SAX, анализирует исключение.
Броски:
SAXException - Любое исключение SAX, возможно обертывая другое исключение.
Это соответствует определению "ошибки" в разделе 1.2 из XML 1.0 W3C Рекомендация. Например, синтаксический анализатор проверки допустимости использовал бы этот обратный вызов, чтобы сообщить о нарушении ограничения законности. Поведение по умолчанию не состоит в том, чтобы предпринять меры.
Синтаксический анализатор SAX должен продолжать обеспечивать нормальные события парсинга после вызова этого метода: для приложения должно все еще быть возможно обработать документ через до конца. Если приложение не может сделать так, то синтаксический анализатор должен сообщить о фатальной ошибке, даже если рекомендация XML не требует, чтобы это сделало так.
Фильтры могут использовать этот метод, чтобы сообщить о другом, ошибки не-XML также.
Параметры:
exception - Информация об ошибке, инкапсулировавшая в SAX, анализирует исключение.
Броски:
SAXException - Любое исключение SAX, возможно обертывая другое исключение.
Есть очевидное противоречие между документацией для этого метода и документацией для ContentHandler.endDocument(). Пока эта неоднозначность не разрешается в будущей главной версии, клиенты не должны сделать предположения о том, будет ли endDocument () или не вызываться, когда синтаксический анализатор сообщил о fatalError () или выдал исключение.
Это соответствует определению "фатальной ошибки" в разделе 1.2 из XML 1.0 W3C Рекомендация. Например, синтаксический анализатор использовал бы этот обратный вызов, чтобы сообщить о нарушении ограничения отмеченности.
Приложение должно предположить, что документ неприменим после того, как синтаксический анализатор вызвал этот метод, и должен продолжаться (если вообще) только ради сбора дополнительных сообщений об ошибках: фактически, синтаксические анализаторы SAX свободны прекратить сообщать о любых других событиях, как только этот метод был вызван.
Параметры:
exception - Информация об ошибке, инкапсулировавшая в SAX, анализирует исключение.
Броски:
SAXException - Любое исключение SAX, возможно обертывая другое исключение.