Интерфейс парсера
- Все известные реализующие классы:
XMLReaderAdapter
@Deprecated(since="1.5") public interface Parser
Это был основной интерфейс поставщика событий для SAX1; он был заменён в SAX2 интерфейсом XMLReader, который включает поддержку пространств имён и сложную конфигурируемость и расширяемость.
Все парсеры SAX1 должны реализовывать этот базовый интерфейс: он позволяет приложениям регистрировать обработчики для различных типов событий и инициировать разбор из URI или потока символов.
Все парсеры SAX1 также должны реализовывать конструктор без аргументов (хотя другие конструкторы тоже допускаются).
Парсеры SAX1 могут быть многократно использованы, но не рекурсивны: приложение может повторно использовать объект парсера (возможно, с другим источником входных данных) после успешного завершения первого разбора, но оно не может вызывать методы parse() рекурсивно во время разбора.
- С момента:
- 1.4, SAX 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
parse |
Устарело. Разбор XML-документа по идентификатору системы (URI). |
void |
parse |
Устарело. Разбор XML-документа. |
void |
setDocumentHandler |
Устарело. Разрешение приложениям зарегистрировать обработчик событий документа. |
void |
setDTDHandler |
Устарело. Разрешение приложениям зарегистрировать обработчик событий DTD. |
void |
setEntityResolver |
Устарело. Разрешение приложениям зарегистрировать пользовательский разрешитель сущностей. |
void |
setErrorHandler |
Устарело. Разрешение приложениям зарегистрировать обработчик событий ошибок. |
void |
setLocale |
Устарело. Разрешение приложениям запросить локаль для ошибок и предупреждений. |
Подробное описание методов
setLocale
void setLocale(Locale locale) throws SAXException
SAX-парсеры не обязаны предоставлять локализованные сообщения об ошибках и предупреждениях; однако, если они не могут поддерживать запрошенную локаль, они должны сгенерировать исключение SAX. Приложения не могут запрашивать изменение локали в середине процесса разбора.
- Параметры:
-
locale- Объект Java Locale. - Исключения:
-
SAXException- Генерирует исключение (используя предыдущую или по умолчанию локаль), если запрошенная локаль не поддерживается. - См. также:
setEntityResolver
void setEntityResolver(EntityResolver resolver)
Если приложение не регистрирует обработчик сущностей, SAX-парсер будет самостоятельно разрешать системные идентификаторы и открывать подключения к сущностям (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик сущностей в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
resolver- Объект для разрешения сущностей. - См. также:
setDTDHandler
void setDTDHandler(DTDHandler handler)
Если приложение не регистрирует обработчик DTD, все события DTD, сообщаемые SAX-парсером, будут игнорироваться (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик DTD. - См. также:
setDocumentHandler
void setDocumentHandler(DocumentHandler handler)
Если приложение не регистрирует обработчик документа, все события документа, сообщаемые SAX-парсером, будут игнорироваться (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик документа. - См. также:
setErrorHandler
void setErrorHandler(ErrorHandler handler)
Если приложение не регистрирует обработчик ошибок, все события ошибок, сообщаемые SAX-парсером, будут игнорироваться, за исключением fatalError, который вызовет SAXException (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик ошибок. - См. также:
parse
void parse(InputSource source) throws SAXException, IOException
Приложение может использовать этот метод, чтобы указать SAX-парсеру начать разбор XML-документа из любого допустимого источника данных (потока символов, потока байтов или URI).
Приложения не могут вызывать этот метод во время процесса разбора (они должны создавать новый Parser для каждого дополнительного XML-документа). После завершения разбора приложение может повторно использовать тот же объект Parser, возможно, с другим источником данных.
- Параметры:
-
source- Источник данных для верхнего уровня XML-документа. - Исключения:
-
SAXException- Любое SAX-исключение, возможно, обертывающее другое исключение. -
IOException- Исключение IO от парсера, возможно, из потока байтов или символов, предоставленного приложением. - См. также:
parse
void parse(String systemId) throws SAXException, IOException
Этот метод является сокращением для распространенного случая чтения документа по системному идентификатору. Он точно эквивалентен следующему:
parse(new InputSource(systemId));
Если системный идентификатор является URL, он должен быть полностью разрешен приложением перед передачей парсеру.
- Параметры:
-
systemId- Системный идентификатор (URI). - Исключения:
-
SAXException- Любое SAX-исключение, возможно, обертывающее другое исключение. -
IOException- Исключение IO от парсера, возможно, из потока байтов или символов, предоставленного приложением. - См. также:
© 1993, 2021, 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/17/docs/api/java.xml/org/xml/sax/Parser.html
XMLReader, который включает поддержку пространств имён.