Класс SAXParser
- java.lang.Object
-
- javax.xml.parsers.SAXParser
public abstract class SAXParser extends Object
Определяет API, который оборачивает класс реализации XMLReader. В JAXP 1.0 этот класс оборачивал интерфейс Parser, однако этот интерфейс был заменён на XMLReader. Для упрощения перехода этот класс продолжает поддерживать то же имя и интерфейс, а также новые методы. Экземпляр этого класса можно получить из метода SAXParserFactory.newSAXParser(). После получения экземпляра этого класса XML можно анализировать из различных источников ввода. Эти источники ввода — это InputStream, файлы, URL-адреса и SAX InputSources.
Этот статический метод создаёт новый экземпляр фабрики на основе настройки системной переменной или использует платформенный стандарт, если переменная не определена.
Системная переменная, которая управляет тем, какую реализацию фабрики создать, называется "javax.xml.parsers.SAXParserFactory". Эта переменная задаёт имя класса, который является конкретным подклассом этого абстрактного класса. Если переменная не определена, будет использоваться платформенный стандарт.
HandlerBase или DefaultHandler.Реализаторы этого класса, которые оборачивают базовую реализацию, могут рассмотреть возможность использования класса ParserAdapter для первоначальной адаптации своей реализации SAX1 для работы с этим переработанным классом.
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
SAXParser() Защищённый конструктор для предотвращения создания экземпляров. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
abstract Parser |
getParser() Возвращает SAX-анализатор, который инкапсулирован реализацией этого класса. |
abstract Object |
getProperty(String name) Возвращает конкретную запрошенную системную переменную в базовой реализации |
Schema |
getSchema() Получает ссылку на используемую |
abstract XMLReader |
getXMLReader() Возвращает |
abstract boolean |
isNamespaceAware() Указывает, настроен ли этот анализатор для понимания пространств имён. |
abstract boolean |
isValidating() Указывает, настроен ли этот анализатор на валидацию XML-документов. |
boolean |
isXIncludeAware() Получает режим обработки XInclude для этого анализатора. |
void |
parse(File f,
DefaultHandler dh) Анализирует содержимое указанного файла как XML, используя указанный |
void |
parse(File f,
HandlerBase hb) Анализирует содержимое указанного файла как XML, используя указанный |
void |
parse(InputSource is,
DefaultHandler dh) Анализирует содержимое, заданное |
void |
parse(InputSource is,
HandlerBase hb) Анализирует содержимое, заданное |
void |
parse(InputStream is,
DefaultHandler dh) Анализирует содержимое данного экземпляра |
void |
parse(InputStream is,
DefaultHandler dh,
String systemId) Анализирует содержимое данного экземпляра |
void |
parse(InputStream is,
HandlerBase hb) Анализирует содержимое данного экземпляра |
void |
parse(InputStream is,
HandlerBase hb,
String systemId) Анализирует содержимое данного экземпляра |
void |
parse(String uri,
DefaultHandler dh) Анализирует содержимое, заданное URI (Uniform Resource Identifier), как XML, используя указанный |
void |
parse(String uri,
HandlerBase hb) Анализирует содержимое, заданное URI (Uniform Resource Identifier), как XML, используя указанный |
void |
reset() Сбрасывает этот |
abstract void |
setProperty(String name,
Object value) Устанавливает конкретную системную переменную в базовой реализации |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Краткое описание конструкторов
SAXParser
protected SAXParser()
Защищённый конструктор для предотвращения создания экземпляров. Используйте SAXParserFactory.newSAXParser().
Краткое описание методов
reset
public void reset()
Сбросить этот SAXParser к его первоначальной конфигурации.
SAXParser сбрасывается в то же состояние, что и при создании с помощью SAXParserFactory.newSAXParser(). reset() предназначен для повторного использования существующих SAXParser, тем самым экономя ресурсы, связанные с созданием новых SAXParser.
Не гарантируется, что сброшенный SAXParser будет иметь ту же Schema Object, например, Object.equals(Object obj). Гарантируется наличие функционально равного Schema.
- Исключения:
-
UnsupportedOperationException- Когда реализации не переопределяют этот метод - С версии:
- 1.5
parse
public void parse(InputStream is,
HandlerBase hb)
throws SAXException,
IOException Разбор содержимого данного экземпляра InputStream как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода с DefaultHandler, поскольку класс HandlerBase был устаревшим в SAX 2.0.
- Параметры:
-
is- InputStream, содержащий содержимое для разбора. -
hb- SAX HandlerBase для использования. - Исключения:
-
IllegalArgumentException- Если данный InputStream равен null. -
SAXException- Если разбор создаёт ошибку SAX. -
IOException- Если возникает ошибка ввода-вывода при взаимодействии сInputStream. - См. также:
DocumentHandler
parse
public void parse(InputStream is,
HandlerBase hb,
String systemId)
throws SAXException,
IOException Разбор содержимого данного экземпляра InputStream как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода с DefaultHandler, поскольку класс HandlerBase был устаревшим в SAX 2.0.
- Параметры:
-
is- InputStream, содержащий содержимое для разбора. -
hb- SAX HandlerBase для использования. -
systemId- systemId, необходимый для разрешения относительных URI. - Исключения:
-
IllegalArgumentException- Если данныйInputStreamявляетсяnull. -
IOException- Если возникает ошибка ввода-вывода при взаимодействии сInputStream. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
version of this method instead.
parse
public void parse(InputStream is,
DefaultHandler dh)
throws SAXException,
IOException Разбор содержимого данного экземпляра InputStream как XML с использованием указанного DefaultHandler.
- Параметры:
-
is- InputStream, содержащий содержимое для разбора. -
dh- SAX DefaultHandler для использования. - Исключения:
-
IllegalArgumentException- Если данный InputStream равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(InputStream is,
DefaultHandler dh,
String systemId)
throws SAXException,
IOException Разбор содержимого данного экземпляра InputStream как XML с использованием указанного DefaultHandler.
- Параметры:
-
is- InputStream, содержащий содержимое для разбора. -
dh- SAX DefaultHandler для использования. -
systemId- systemId, необходимый для разрешения относительных URI. - Исключения:
-
IllegalArgumentException- Если данный InputStream равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
version of this method instead.
parse
public void parse(String uri,
HandlerBase hb)
throws SAXException,
IOException Разбор содержимого, описанного данным универсальным идентификатором ресурса (URI), как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода с DefaultHandler, поскольку класс HandlerBase был устаревшим в SAX 2.0
- Параметры:
-
uri- Расположение содержимого для разбора. -
hb- SAX HandlerBase для использования. - Исключения:
-
IllegalArgumentException- Если uri равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(String uri,
DefaultHandler dh)
throws SAXException,
IOException Разбор содержимого, описанного данным универсальным идентификатором ресурса (URI), как XML с использованием указанного DefaultHandler.
- Параметры:
-
uri- Расположение содержимого для разбора. -
dh- SAX DefaultHandler для использования. - Исключения:
-
IllegalArgumentException- Если uri равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(File f,
HandlerBase hb)
throws SAXException,
IOException Разбор содержимого указанного файла как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода с DefaultHandler, поскольку класс HandlerBase был устаревшим в SAX 2.0
- Параметры:
-
f- Файл, содержащий XML для разбора -
hb- SAX HandlerBase для использования. - Исключения:
-
IllegalArgumentException- Если объект File равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(File f,
DefaultHandler dh)
throws SAXException,
IOException Разбор содержимого указанного файла как XML с использованием указанного DefaultHandler.
- Параметры:
-
f- Файл, содержащий XML для разбора -
dh- SAX DefaultHandler для использования. - Исключения:
-
IllegalArgumentException- Если объект File равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(InputSource is,
HandlerBase hb)
throws SAXException,
IOException Разбор данного InputSource как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода с DefaultHandler, поскольку класс HandlerBase был устаревшим в SAX 2.0
- Параметры:
-
is- InputSource, содержащий содержимое для разбора. -
hb- SAX HandlerBase для использования. - Исключения:
-
IllegalArgumentException- Если объектInputSourceявляетсяnull. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
parse
public void parse(InputSource is,
DefaultHandler dh)
throws SAXException,
IOException Разбор данного InputSource как XML с использованием указанного DefaultHandler.
- Параметры:
-
is- InputSource, содержащий содержимое для разбора. -
dh- SAX DefaultHandler для использования. - Исключения:
-
IllegalArgumentException- Если объектInputSourceявляетсяnull. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если во время обработки возникают ошибки SAX. - См. также:
DocumentHandler
getParser
public abstract Parser getParser()
throws SAXException Возвращает SAX-парсер, инкапсулированный реализацией этого класса.
- Возвращает:
- SAX-парсер, инкапсулированный реализацией этого класса.
- Исключения:
-
SAXException- Если во время обработки возникают ошибки SAX.
getXMLReader
public abstract XMLReader getXMLReader()
throws SAXException Возвращает XMLReader, инкапсулированный реализацией этого класса.
- Возвращает:
- XMLReader, инкапсулированный реализацией этого класса.
- Исключения:
-
SAXException- Если во время обработки возникают ошибки SAX.
isNamespaceAware
public abstract boolean isNamespaceAware()
Указывает, настроен ли этот парсер на понимание пространств имён.
- Возвращает:
- true, если этот парсер настроен на понимание пространств имён; false в противном случае.
isValidating
public abstract boolean isValidating()
Указывает, настроена ли эта разборная программа для проверки XML-документов.
- Возвращает:
- true, если эта разборная программа настроена для проверки XML-документов; иначе — false.
setProperty
public abstract void setProperty(String name,
Object value)
throws SAXNotRecognizedException,
SAXNotSupportedException Устанавливает определённый свойство в базовой реализации XMLReader. Список основных функций и свойств можно найти по адресу http://sax.sourceforge.net/?selected=get-set.
Все реализации, поддерживающие JAXP 1.5 или более поздние версии, должны поддерживать свойства XMLConstants.ACCESS_EXTERNAL_DTD и XMLConstants.ACCESS_EXTERNAL_SCHEMA.
-
Установление свойства
XMLConstants.ACCESS_EXTERNAL_DTDограничивает доступ к внешним DTD, внешним ссылкам сущностей протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.Установка свойства
XMLConstants.ACCESS_EXTERNAL_SCHEMAограничивает доступ к внешним схемам, установленным атрибутом schemaLocation, протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.
- Параметры:
-
name- Имя свойства, которое нужно установить. -
value- Значение свойства, которое нужно установить. - Исключения:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает это свойство. - См. также:
XMLReader.setProperty(java.lang.String, java.lang.Object)
getProperty
public abstract Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Возвращает запрашиваемое свойство в базовой реализации XMLReader.
- Параметры:
-
name- Имя свойства, которое нужно получить. - Возвращает:
- Значение запрошенного свойства.
- Исключения:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает это свойство. - См. также:
XMLReader.getProperty(java.lang.String)
getSchema
public Schema getSchema()
Получить ссылку на используемую Schema обработчиком XML.
Если не используется схема, возвращается null.
- Возвращает:
-
Schema, используемую, илиnull, если не используется - Исключения:
-
UnsupportedOperationException- Когда реализация не переопределяет этот метод - См.:
- 1.5
isXIncludeAware
public boolean isXIncludeAware()
Получить режим обработки XInclude для этого разбора.
- Возвращает:
- Значение возвращаемого значения
SAXParserFactory.isXIncludeAware(), когда этот разбор был создан из фабрики. - Исключения:
-
UnsupportedOperationException- Когда реализация не переопределяет этот метод - См.:
- 1.5
- См. также:
SAXParserFactory.setXIncludeAware(boolean)
© 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.