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