Spec-Zone.ru › OpenJDK 24

Класс 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. Если связанное и видимое пространство имен по умолчанию совпадает с URI атрибута или StartElement QName, префикс не будет назначен.

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

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

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

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

С момента:
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()
Создаёт новый экземпляр встроенной реализации по умолчанию системы.
Возвращает:
Новый экземпляр встроенной реализации по умолчанию системы.
С:
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
Получить свойство/характеристику на базовой реализации
Parameters:
name - Имя свойства
Returns:
Значение свойства
Throws:
IllegalArgumentException - если свойство не поддерживается

isPropertySupported

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/stream/XMLOutputFactory.html

Spec-Zone.ru

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