Класс SAXParserFactory
public abstract class SAXParserFactory extends Object
- С версии:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Защищенный конструктор, обеспечивающий использование newInstance(). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract boolean |
getFeature |
Возвращает запрошенное свойство из базовой реализации org.xml.sax.XMLReader. |
Schema |
getSchema() |
Получает объект Schema, заданный с помощью метода setSchema(Schema schema). |
boolean |
isNamespaceAware() |
Указывает, настроена ли фабрика на создание парсеров с поддержкой пространств имен. |
boolean |
isValidating() |
Указывает, настроена ли фабрика на создание парсеров, проверяющих содержимое XML во время разбора. |
boolean |
isXIncludeAware() |
Получает состояние обработки XInclude. |
static SAXParserFactory |
newDefaultInstance() |
Создает новый экземпляр встроенной системной реализации SAXParserFactory. |
static SAXParserFactory |
newDefaultNSInstance() |
Создает новый экземпляр с поддержкой пространств имен встроенной системной реализации SAXParserFactory. |
static SAXParserFactory |
newInstance() |
Получает новый экземпляр SAXParserFactory. |
static SAXParserFactory |
newInstance |
Получает новый экземпляр SAXParserFactory по имени класса. |
static SAXParserFactory |
newNSInstance() |
Создает новый экземпляр SAXParserFactory с поддержкой пространств имен. |
static SAXParserFactory |
newNSInstance |
Создает новый экземпляр SAXParserFactory с поддержкой пространств имен по имени класса. |
abstract SAXParser |
newSAXParser() |
Создает новый экземпляр SAXParser с использованием текущих параметров настройки фабрики. |
abstract void |
setFeature |
Устанавливает указанную функцию в базовой реализации org.xml.sax.XMLReader. |
void |
setNamespaceAware |
Указывает, что созданный этим кодом парсер будет поддерживать пространства имен XML. |
void |
setSchema |
Устанавливает объект Schema, используемый парсерами, созданными этой фабрикой. |
void |
setValidating |
Указывает, что созданный этим кодом парсер будет проверять документы во время разбора. |
void |
setXIncludeAware |
Устанавливает состояние обработки XInclude. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
SAXParserFactory
protected SAXParserFactory()
newInstance().Подробное описание методов
newDefaultNSInstance
public static SAXParserFactory newDefaultNSInstance()
SAXParserFactory. Парсеры, созданные этим экземпляром фабрики, по умолчанию поддерживают пространства имен XML.- Требования к реализации:
- Помимо создания экземпляра фабрики тем же способом, что и
newDefaultInstance(), этот метод должен установить значение NamespaceAware в true. - Возвращает:
- новый экземпляр встроенной системной реализации
SAXParserFactory. - С версии:
- 13
newNSInstance
public static SAXParserFactory newNSInstance()
SAXParserFactory с поддержкой пространств имен. Парсеры, созданные этим экземпляром фабрики, по умолчанию поддерживают пространства имен XML.- Требования к реализации:
- Помимо создания экземпляра фабрики тем же способом, что и
newInstance(), этот метод должен установить значение NamespaceAware в true. - Возвращает:
- новый экземпляр
SAXParserFactory - Выбрасывает:
-
FactoryConfigurationError— в случае ошибки конфигурации службы, если реализация недоступна или не может быть создана. - С версии:
- 13
newNSInstance
public static SAXParserFactory newNSInstance(String factoryClassName, ClassLoader classLoader)
SAXParserFactory с поддержкой пространств имен по имени класса. Парсеры, созданные этим экземпляром фабрики, по умолчанию поддерживают пространства имен XML.- Требования к реализации:
- Помимо создания экземпляра фабрики тем же способом, что и
newInstance(java.lang.String, java.lang.ClassLoader), этот метод должен установить значение NamespaceAware в true. - Параметры:
-
factoryClassName— полное имя класса фабрики, реализующегоjavax.xml.parsers.SAXParserFactory. -
classLoader—ClassLoader, используемый для загрузки класса фабрики. Если он равенnull, для загрузки класса фабрики используется контекстный загрузчик классов текущегоThread. - Возвращает:
- новый экземпляр
SAXParserFactory - Выбрасывает:
-
FactoryConfigurationError— еслиfactoryClassNameравноnullили класс фабрики не удается загрузить либо создать. - С версии:
- 13
newDefaultInstance
public static SAXParserFactory newDefaultInstance()
SAXParserFactory.- Возвращает:
- Новый экземпляр встроенной системной реализации
SAXParserFactory. - С версии:
- 9
newInstance
public static SAXParserFactory newInstance()
SAXParserFactory. Этот метод использует механизм поиска JAXP для определения класса реализации SAXParserFactory, который нужно загрузить. Получив ссылку на SAXParserFactory, приложение может использовать фабрику для настройки и получения экземпляров парсера.
Совет по устранению неполадок
Установка системного свойства jaxp.debug приведет к тому, что этот метод выведет множество отладочных сообщений в System.err о выполняемых действиях и местах поиска.
Если у вас возникли проблемы с загрузкой SAXParser, попробуйте выполнить следующие действия:
java -Djaxp.debug=1 YourProgram ....
- Возвращает:
- Новый экземпляр SAXParserFactory.
- Выбрасывает:
-
FactoryConfigurationError— в случае ошибки конфигурации службы, если реализация недоступна или не может быть создана.
newInstance
public static SAXParserFactory newInstance(String factoryClassName, ClassLoader classLoader)
SAXParserFactory по имени класса. Этот метод полезен, когда в пути к классам присутствует несколько поставщиков. Он предоставляет приложению больше возможностей управления, позволяя указать, какой поставщик следует загрузить. Получив ссылку на SAXParserFactory, приложение может использовать фабрику для настройки и получения экземпляров парсера.
Совет по устранению неполадок
Установка системного свойства jaxp.debug приведет к тому, что этот метод выведет множество отладочных сообщений в System.err о выполняемых действиях и местах поиска.
Если у вас возникли проблемы, попробуйте выполнить следующие действия:
java -Djaxp.debug=1 YourProgram ....
- Параметры:
-
factoryClassName— полное имя класса фабрики, реализующегоjavax.xml.parsers.SAXParserFactory. -
classLoader—ClassLoader, используемый для загрузки класса фабрики. Еслиnull, для загрузки класса фабрики используется контекстный загрузчик классов текущегоThread. - Возвращает:
- Новый экземпляр
SAXParserFactory - Выбрасывает:
-
FactoryConfigurationError— еслиfactoryClassNameравноnullили класс фабрики не удается загрузить либо создать. - С версии:
- 1.6
- См. также:
newSAXParser
public abstract SAXParser newSAXParser() throws ParserConfigurationException, SAXException
- Возвращает:
- Новый экземпляр SAXParser.
- Выбрасывает:
-
ParserConfigurationException— если не удается создать парсер, соответствующий запрошенной конфигурации. -
SAXException— при ошибках SAX.
setNamespaceAware
public void setNamespaceAware(boolean awareness)
false.- Параметры:
-
awareness— true, если созданный этим кодом парсер будет поддерживать пространства имен XML; в противном случае — false.
setValidating
public void setValidating(boolean validating)
false. Обратите внимание, что под «проверкой» здесь подразумевается проверяющий парсер в смысле рекомендации XML. Иными словами, этот параметр в основном управляет проверкой DTD (за исключением двух устаревших свойств, определенных в JAXP 1.2).
Чтобы использовать современные языки схем, например W3C XML Schema или RELAX NG, вместо DTD, можно настроить парсер как непроверяющий: оставьте метод setValidating(boolean) в состоянии false, а затем используйте метод setSchema(Schema), чтобы связать схему с парсером.
- Параметры:
-
validating— true, если созданный этим кодом парсер будет проверять документы во время разбора; в противном случае — false.
isNamespaceAware
public boolean isNamespaceAware()
- Возвращает:
- true, если фабрика настроена на создание парсеров с поддержкой пространств имен; в противном случае — false.
isValidating
public boolean isValidating()
- Возвращает:
- true, если фабрика настроена на создание парсеров, проверяющих содержимое XML во время разбора; в противном случае — false.
setFeature
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException, SAXNotRecognizedException, SAXNotSupportedException
Все реализации обязаны поддерживать функцию XMLConstants.FEATURE_SECURE_PROCESSING. Если функция имеет значение
-
true: реализация будет ограничивать обработку XML в соответствии с ограничениями реализации. Например, это могут быть ограничения на раскрытие сущностей и конструкции XML Schema, потребляющие значительные ресурсы. Если обработка XML ограничена по соображениям безопасности, об этом будет сообщено посредством вызова зарегистрированного обработчикаErrorHandler.fatalError(SAXParseException exception). См. методыparseклассаSAXParser, чтобы узнать, как задать обработчик. - Если функция имеет значение
false, реализация будет обрабатывать XML в соответствии со спецификациями XML, не учитывая возможные ограничения реализации.
- Параметры:
-
name— имя устанавливаемой функции. -
value— значение устанавливаемой функции. - Выбрасывает:
-
ParserConfigurationException— если не удается создать парсер, соответствующий запрошенной конфигурации. -
SAXNotRecognizedException— если базовая реализация XMLReader не распознает имя свойства. -
SAXNotSupportedException— если базовая реализация XMLReader распознает имя свойства, но не поддерживает это свойство. -
NullPointerException— если параметрnameравен null. - См. также:
getFeature
public abstract boolean getFeature(String name) throws ParserConfigurationException, SAXNotRecognizedException, SAXNotSupportedException
- Параметры:
-
name— имя извлекаемого свойства. - Возвращает:
- Значение запрошенного свойства.
- Выбрасывает:
-
ParserConfigurationException— если не удается создать парсер, соответствующий запрошенной конфигурации. -
SAXNotRecognizedException— если базовая реализация XMLReader не распознает имя свойства. -
SAXNotSupportedException— если базовая реализация XMLReader распознает имя свойства, но не поддерживает это свойство. - См. также:
getSchema
public Schema getSchema()
Schema, указанный с помощью метода setSchema(Schema schema).- Возвращает:
- объект
Schema, последний раз заданный с помощью методаsetSchema(Schema), или null, если этот метод не вызывался с момента созданияSAXParserFactory. - Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод. - С версии:
- 1.5
setSchema
public void setSchema(Schema schema)
Schema, используемый парсерами, созданными этой фабрикой. Если объект Schema не равен null, парсер использует созданный на его основе валидатор для проверки документов, прежде чем передать информацию приложению.
Если валидатор обнаруживает предупреждения, ошибки или критические ошибки, парсер должен обрабатывать их так, как если бы они были обнаружены самим парсером. Иными словами, если задан указанный пользователем ErrorHandler, он должен получить эти ошибки; в противном случае они должны обрабатываться в соответствии с правилами обработки ошибок по умолчанию, специфичными для реализации.
Валидатор может изменить поток событий SAX (например, добавив значения по умолчанию, отсутствовавшие в документах), и парсер обязан обеспечить передачу приложению измененного потока событий.
Изначально в качестве Schema задано null.
Эта обработка будет выполняться, даже если метод isValidating() возвращает false.
Использование свойства http://java.sun.com/xml/jaxp/properties/schemaSource и/или свойства http://java.sun.com/xml/jaxp/properties/schemaLanguage вместе с ненулевым объектом Schema является ошибкой. При такой конфигурации будет выброшено исключение SAXException, когда эти свойства будут заданы для SAXParser.
Примечание для разработчиков реализаций
Парсер должен работать с любой реализацией Schema. При этом парсеры и схемы могут использовать специфичные для реализации пользовательские механизмы, если они обеспечивают результат, описанный в спецификации.
- Параметры:
-
schema—Schemaдля использования илиnullдля удаления схемы. - Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод. - С версии:
- 1.5
setXIncludeAware
public void setXIncludeAware(boolean state)
Если в экземпляре документа обнаружена разметка XInclude, следует ли обрабатывать ее согласно спецификации «XML Inclusions (XInclude)», версия 1.0.
По умолчанию обработка XInclude имеет значение false.
- Параметры:
-
state— включает обработку XInclude (true) или отключает ее (false). - Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод. - С версии:
- 1.5
isXIncludeAware
public boolean isXIncludeAware()
- Возвращает:
- текущее состояние обработки XInclude
- Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод. - С версии:
- 1.5
© 1993, 2025, 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.