Класс 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 для работы под этим пересмотренным классом.

Since:
1.4

Конструкторы

Модификатор Конструктор Описание
protected SAXParser()

Защищённый конструктор для предотвращения создания экземпляров.

Методы

Модификатор и тип Метод Описание
abstract Parser getParser()

Возвращает SAX-парсер, который инкапсулирован реализацией данного класса.

abstract Object getProperty​(String name)

Возвращает запрашиваемое свойство в реализации XMLReader на нижнем уровне.

Schema getSchema()

Получает ссылку на используемую схемой Schema процессором XML.

abstract XMLReader getXMLReader()

Возвращает XMLReader, инкапсулированный реализацией этого класса.

abstract boolean isNamespaceAware()

Указывает, настроен ли этот парсер для понимания имен пространств имён.

abstract boolean isValidating()

Указывает, настроен ли этот парсер для проверки XML-документов.

boolean isXIncludeAware()

Получает режим обработки XInclude для этого парсера.

void parse​(File f, HandlerBase hb)

Анализирует содержимое указанного файла как XML, используя указанный HandlerBase.

void parse​(File f, DefaultHandler dh)

Анализирует содержимое указанного файла как XML, используя указанный DefaultHandler.

void parse​(InputStream is, HandlerBase hb)

Анализирует содержимое данного экземпляра InputStream как XML, используя указанный HandlerBase.

void parse​(InputStream is, HandlerBase hb, String systemId)

Анализирует содержимое данного экземпляра InputStream как XML, используя указанный HandlerBase.

void parse​(InputStream is, DefaultHandler dh)

Анализирует содержимое данного экземпляра InputStream как XML, используя указанный DefaultHandler.

void parse​(InputStream is, DefaultHandler dh, String systemId)

Анализирует содержимое данного экземпляра InputStream как XML, используя указанный DefaultHandler.

void parse​(String uri, HandlerBase hb)

Анализирует содержимое, заданное универсальным идентификатором ресурса (URI), как XML, используя указанный HandlerBase.

void parse​(String uri, DefaultHandler dh)

Анализирует содержимое, заданное универсальным идентификатором ресурса (URI), как XML, используя указанный DefaultHandler.

void parse​(InputSource is, HandlerBase hb)

Анализирует содержимое, заданное InputSource, как XML, используя указанный HandlerBase.

void parse​(InputSource is, DefaultHandler dh)

Анализирует содержимое, заданное InputSource, как XML, используя указанный DefaultHandler.

void reset()

Сбрасывает этот SAXParser до исходной конфигурации.

abstract void setProperty​(String name, Object value)

Задает конкретное свойство в реализации XMLReader на нижнем уровне.

Методы, объявленные в классе 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() предназначен для повторного использования существующих SAXParsers, тем самым экономя ресурсы, связанные с созданием новых SAXParsers.

Не гарантируется, что сброшенный 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/parsers/SAXParser.html

Spec-Zone .ru
спецификации, руководства, описания, API