Spec-Zone.ru › OpenJDK 21

Класс XMLOutputFactory

java.lang.Object
javax.xml.stream.XMLOutputFactory
public abstract class XMLOutputFactory extends Object
Определяет абстрактную реализацию фабрики для получения XMLEventWriters и XMLStreamWriters. В следующей таблице определены стандартные свойства этого спецификатора. Каждое свойство отличается по уровню поддержки, требуемому каждой реализацией. Уровень требуемой поддержки описан в столбце «Required».
Параметры конфигурации
Имя свойства Поведение Тип возвращаемого значения Значение по умолчанию Требуется
javax.xml.stream.isRepairingNamespaces по умолчанию добавляет префиксы со стороны вывода Boolean False Да

В следующих параграфах описан алгоритм восстановления имен пространства имён и префиксов:

Свойство можно задать следующей строкой кода: setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE);

Это свойство указывает, что писатель по умолчанию добавляет объявления префиксов пространства имён. Значение по умолчанию — false.

Если писатель isRepairingNamespaces, он создаст объявление пространства имён для текущего тега StartElement для любого атрибута, который в настоящее время не имеет объявления пространства имён в области видимости. Если у тега StartElement есть URI, но нет указанного префикса, будет назначен префикс. Если префикс не был объявлен в родительском элементе текущего тега StartElement, он будет объявлен в текущем теге StartElement. Если defaultNamespace связан и находится в области видимости, а пространство имён по умолчанию совпадает с URI атрибута или QName тега StartElement, префикс не будет назначен.

Если имя элемента или атрибута имеет префикс, но не связано с каким-либо URI пространства имён, то префикс будет удален во время сериализации.

Если имена элемента и/или атрибута в одном теге start или empty-element связаны с разными URI пространства имён и используют один и тот же префикс, то элемент или первый встречающийся атрибут сохраняет исходный префикс, а префиксы следующих атрибутов заменяются новым префиксом, связанным с URI пространства имён этих атрибутов.

Если имя элемента или атрибута использует префикс, связанный с URI, отличным от унаследованного из контекста пространства имён родителя этого элемента, и нет объявления пространства имён в контексте текущего элемента, то такое объявление пространства имён добавляется.

Если имя элемента или атрибута связано с префиксом, и существует объявление пространства имён, которое связывает этот префикс с другим URI, то это объявление пространства имён либо удаляется, если правильное отображение унаследовано из контекста родителя этого элемента, либо изменяется на URI пространства имён элемента или атрибута, использующего этот префикс.

Since:
1.6
См. также:
  • XMLInputFactory
  • XMLEventWriter
  • XMLStreamWriter

Краткое описание полей

Модификатор и тип Поле Описание
static final String IS_REPAIRING_NAMESPACES
Свойство используется для задания по умолчанию префиксов со стороны вывода

Краткое описание конструкторов

XMLOutputFactory()
Модификатор Конструктор Описание
protected
Защищённый конструктор для предотвращения инстанцирования.

Краткое описание методов

Модификатор и тип Метод Описание
abstract XMLEventWriter createXMLEventWriter(OutputStream stream)
Создаёт новый XMLEventWriter, который записывает в поток
abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding)
Создаёт новый XMLEventWriter, который записывает в поток
abstract XMLEventWriter createXMLEventWriter(Writer stream)
Создаёт новый XMLEventWriter, который записывает в поток
abstract XMLEventWriter createXMLEventWriter(Result result)
Создаёт новый XMLEventWriter, который записывает в JAXP результат.
abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)
Создаёт новый XMLStreamWriter, который записывает в поток
abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding)
Создаёт новый XMLStreamWriter, который записывает в поток
abstract XMLStreamWriter createXMLStreamWriter(Writer stream)
Создаёт новый XMLStreamWriter, который записывает в поток
abstract XMLStreamWriter createXMLStreamWriter(Result result)
Создаёт новый XMLStreamWriter, который записывает в JAXP результат.
abstract Object getProperty(String name)
Получает функцию/свойство в базовой реализации
abstract boolean isPropertySupported(String name)
Запрашивает набор поддерживаемых свойствами этой фабрики.
static XMLOutputFactory newDefaultFactory()
Создаёт новый экземпляр реализации XMLOutputFactory по умолчанию.
static XMLOutputFactory newFactory()
Создаёт новый экземпляр фабрики.
static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader)
Создаёт новый экземпляр фабрики.
static XMLOutputFactory newInstance()
Создаёт новый экземпляр фабрики точно так же, как метод newFactory().
static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader)
Устарело.
Этот метод устарел, потому что возвращает экземпляр XMLInputFactory, который имеет неверный тип.
abstract void setProperty(String name, Object value)
Позволяет пользователю задать определённые функции/свойства в базовой реализации.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

IS_REPAIRING_NAMESPACES

public static final String IS_REPAIRING_NAMESPACES
Свойство используется для установки значения по умолчанию для префиксов на стороне вывода.
См. также:
  • Значения константных полей

Подробное описание конструкторов

XMLOutputFactory

protected XMLOutputFactory()
Защищённый конструктор для предотвращения создания экземпляров. Используйте newFactory() вместо него.

Подробное описание методов

newDefaultFactory

public static XMLOutputFactory newDefaultFactory()
Создаёт новый экземпляр XMLOutputFactory встроенной реализации по умолчанию системы.
Возвращает:
Новый экземпляр XMLOutputFactory встроенной реализации по умолчанию системы.
С:
9

newInstance

public static XMLOutputFactory newInstance() throws FactoryConfigurationError
Создаёт новый экземпляр фабрики точно так же, как и метод newFactory().
Возвращает:
экземпляр XMLOutputFactory
Исключения:
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

newFactory

public static XMLOutputFactory newFactory() throws FactoryConfigurationError
Создаёт новый экземпляр фабрики. Этот метод использует механизм поиска JAXP для определения класса реализации XMLOutputFactory для загрузки.

После получения ссылки на XMLOutputFactory, приложение может использовать фабрику для настройки и получения экземпляров потоков.

Возвращает:
экземпляр XMLOutputFactory
Исключения:
FactoryConfigurationError - в случае ошибки конфигурации сервиса или если реализация недоступна или не может быть создана.

newInstance

@Deprecated(since="1.7") public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
Устарело.
Этот метод устарел, так как он возвращает экземпляр XMLInputFactory, который имеет неправильный класс. Используйте вместо него новый метод newFactory(java.lang.String, java.lang.ClassLoader).
Создаёт новый экземпляр фабрики.
Параметры:
factoryId - Имя фабрики для поиска, такое же, как имя свойства
classLoader - classLoader для использования
Возвращает:
реализация фабрики
Исключения:
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

newFactory

public static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
Создаёт новый экземпляр фабрики. Если аргумент classLoader равен null, используется ContextClassLoader.

Этот метод использует следующий упорядоченный механизм поиска для определения класса реализации XMLOutputFactory для загрузки:

  • Использует значение системной переменной, определяемой factoryId.
  • Использует значение свойства factoryId заданного в файле конфигурации configuration file, по умолчанию jaxp.properties. Если файл существует и свойство factoryId указано в файле, его значение будет использоваться в качестве класса реализации.

  • Если factoryId равно "javax.xml.stream.XMLOutputFactory", используется механизм загрузки поставщиков услуг, определяемый классом ServiceLoader, для попытки нахождения и загрузки реализации сервиса, используя указанный ClassLoader. Если classLoader равно null, будет применяться механизм загрузки по умолчанию: т.е. механизм загрузки поставщиков услуг будет использовать текущий контекстный загрузчик класса потока для попытки загрузки сервиса. Если контекстный загрузчик класса потока равен null, будет использован системный загрузчик классов.

  • В противном случае выбрасывается исключение FactoryConfigurationError.

Замечание API:
Параметр factoryId, определённый здесь, не соответствует параметрам других JAXP-фабрик, где первый параметр представляет собой полное квалифицированное имя класса фабрики, предоставляющей реализацию фабрики.

Обратите внимание, что это новый метод, который заменяет устаревший метод newInstance(String factoryId, ClassLoader classLoader). Исходный метод был неправильно определён для возвращения XMLInputFactory.

Параметры:
factoryId - Имя фабрики для поиска, такое же, как имя свойства
classLoader - classLoader для использования
Возвращает:
реализация фабрики
Исключения:
FactoryConfigurationError - в случае ошибки конфигурации сервиса или если реализация недоступна или не может быть создана.

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Writer stream) throws XMLStreamException
Создаёт новый XMLStreamWriter, записывающий в поток
Параметры:
stream - поток для записи
Возвращает:
экземпляр XMLStreamWriter
Исключения:
XMLStreamException - если произошла ошибка

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream) throws XMLStreamException
Создаёт новый XMLStreamWriter, записывающий в поток
Параметры:
stream - поток для записи
Возвращает:
экземпляр XMLStreamWriter
Исключения:
XMLStreamException - если произошла ошибка

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding) throws XMLStreamException
Создаёт новый XMLStreamWriter, записывающий в поток
Параметры:
stream - поток для записи
encoding - кодировка для использования
Возвращает:
экземпляр XMLStreamWriter
Исключения:
XMLStreamException - если произошла ошибка

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Result result) throws XMLStreamException
Создаёт новый XMLStreamWriter, записывающий в результат JAXP. Этот метод является необязательным.
Параметры:
result - результат для записи
Возвращает:
экземпляр XMLStreamWriter
Исключения:
UnsupportedOperationException - если этот метод не поддерживается данным XMLOutputFactory
XMLStreamException - если произошла ошибка

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Result result) throws XMLStreamException
Создаёт новый XMLEventWriter, записывающий в результат JAXP. Этот метод является необязательным.
Параметры:
result - результат для записи
Возвращает:
экземпляр XMLEventWriter
Исключения:
UnsupportedOperationException - если этот метод не поддерживается данным XMLOutputFactory
XMLStreamException - если произошла ошибка

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream) throws XMLStreamException
Создаёт новый XMLEventWriter, записывающий в поток
Параметры:
stream - поток для записи
Возвращает:
экземпляр XMLEventWriter
Исключения:
XMLStreamException - если произошла ошибка

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding) throws XMLStreamException
Создаёт новый XMLEventWriter, записывающий в поток
Параметры:
stream - поток для записи
encoding - кодировка для использования
Возвращает:
экземпляр XMLEventWriter
Исключения:
XMLStreamException - если произошла ошибка

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Writer stream) throws XMLStreamException
Создаёт новый XMLEventWriter, записывающий в поток
Параметры:
stream - поток для записи
Возвращает:
экземпляр XMLEventWriter
Исключения:
XMLStreamException - если произошла ошибка

setProperty

public abstract void setProperty(String name, Object value) throws IllegalArgumentException
Позволяет пользователю задать определённые функции/свойства для базовой реализации.
Параметры:
name - Имя свойства
value - Значение свойства
Исключения:
IllegalArgumentException - если свойство не поддерживается

getProperty

public abstract Object getProperty(String name) throws IllegalArgumentException
Получает функцию/свойство из базовой реализации
Параметры:
name - Имя свойства
Возвращает:
Значение свойства
Исключения:
IllegalArgumentException - если свойство не поддерживается

isPropertySupported

public abstract boolean isPropertySupported(String name)
Запрос набора свойств, поддерживаемых этой фабрикой.
Параметры:
name - Имя свойства (не может быть null)
Возвращает:
true, если свойство поддерживается, и false в противном случае

© 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/javax/xml/stream/XMLOutputFactory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API