Интерфейс парсера
- Все известные реализующие классы:
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).
Приложения не могут вызвать этот метод, когда разбор уже выполняется (для каждого дополнительного XML-документа они должны создать новый парсер). После завершения разбора приложение может повторно использовать тот же объект парсера, возможно, с другим источником ввода.
- Параметры:
-
source- Источник ввода для верхнего уровня XML-документа. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. -
IOException- Исключение ввода-вывода от парсера, возможно, из потока байтов или потока символов, предоставленного приложением. - См. также:
parse
void parse(String systemId) throws SAXException, IOException
Этот метод — сокращение для часто встречающегося случая чтения документа по идентификатору системы. Он точно эквивалентен следующему:
parse(new InputSource(systemId));
Если идентификатор системы — URL, приложение должно полностью разрешить его перед передачей парсеру.
- Параметры:
-
systemId- Идентификатор системы (URI). - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. -
IOException- Исключение ввода-вывода от парсера, возможно, из потока байтов или потока символов, предоставленного приложением. - См. также:
© 1993, 2023, 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/21/docs/api/java.xml/org/xml/sax/Parser.html
XMLReader, который включает поддержку именованных пространств.