Spec-Zone.ru › OpenJDK 8

Класс XMLOutputFactory

  • java.lang.Object
    • javax.xml.stream.XMLOutputFactory

public abstract class XMLOutputFactory
extends Object

Определяет абстрактную реализацию фабрики для получения XMLEventWriters и XMLStreamWriters. В следующей таблице определены стандартные свойства этой спецификации. Каждое свойство отличается уровнем поддержки, требуемым каждой реализацией. Уровень требуемой поддержки описан в столбце «Требуется».

Параметры конфигурации
Имя свойства Поведение Тип возвращаемого значения Значение по умолчанию Требуется
javax.xml.stream.isRepairingNamespaces использует значения по умолчанию для префиксов на стороне вывода Boolean False Да

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

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

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

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

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

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

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

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

С тех пор, как:
1.6
Версия:
1.2
См. также:
XMLInputFactory, XMLEventWriter, XMLStreamWriter

Поля

Модификатор и тип Поле и описание
static String IS_REPAIRING_NAMESPACES

Свойство используется для установки значения по умолчанию для префиксов на стороне вывода

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

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

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

Модификатор и тип Метод и описание
abstract XMLEventWriter createXMLEventWriter(OutputStream stream)

Создает новый XMLEventWriter, который записывает в поток

abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding)

Создает новый XMLEventWriter, который записывает в поток

abstract XMLEventWriter createXMLEventWriter(Result result)

Создает новый XMLEventWriter, который записывает в результат JAXP.

abstract XMLEventWriter createXMLEventWriter(Writer stream)

Создает новый XMLEventWriter, который записывает в поток

abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)

Создает новый XMLStreamWriter, который записывает в поток

abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding)

Создает новый XMLStreamWriter, который записывает в поток

abstract XMLStreamWriter createXMLStreamWriter(Result result)

Создает новый XMLStreamWriter, который записывает в результат JAXP.

abstract XMLStreamWriter createXMLStreamWriter(Writer stream)

Создает новый XMLStreamWriter, который записывает в поток

abstract Object getProperty(String name)

Получает функциональное свойство/свойство на базовой реализации

abstract boolean isPropertySupported(String name)

Запрашивает набор свойств, которые поддерживает эта фабрика.

static XMLOutputFactory newFactory()

Создает новый экземпляр фабрики.

static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader)

Создает новый экземпляр фабрики.

static XMLOutputFactory newInstance()

Создает новый экземпляр фабрики точно так же, как метод newFactory().

static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader)

Устаревший.

Этот метод устарел, потому что возвращает экземпляр XMLInputFactory, который имеет неправильный класс. Используйте новый метод newFactory(java.lang.String, java.lang.ClassLoader) вместо этого.

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()

Методы

newInstance

public static XMLOutputFactory newInstance()
                                    throws FactoryConfigurationError

Создает новый экземпляр фабрики точно так же, как метод newFactory().

Исключение:
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

newFactory

public static XMLOutputFactory newFactory()
                                   throws FactoryConfigurationError

Создает новый экземпляр фабрики.

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

  • Использование системного свойства javax.xml.stream.XMLOutputFactory.
  • Использование файла свойств "lib/stax.properties" в каталоге JRE. Этот файл конфигурации имеет стандартный формат java.util.Properties и содержит полное имя класса реализации с ключом, являющимся системным свойством, определенным выше.
  • Использование механизмов загрузки поставщиков услуг, определенных классом ServiceLoader, для попытки найти и загрузить реализацию службы с использованием механизма загрузки по умолчанию: механизм загрузки поставщиков услуг будет использовать классификатор контекста текущей нити для попытки загрузки службы. Если классификатор контекста равен null, будет использован системный классификатор.
  • В противном случае возвращается системная реализация по умолчанию.
  • После получения ссылки на XMLOutputFactory приложение может использовать фабрику для конфигурации и получения экземпляров потоков.

    Обратите внимание, что это новый метод, который заменяет устаревший метод newInstance(). Этот заменяющий метод не определяет никаких изменений в поведении по отношению к устаревшему методу.

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

newInstance

public static XMLInputFactory newInstance(String factoryId,
                                          ClassLoader classLoader)
                                   throws FactoryConfigurationError

Устаревший. Этот метод устарел, так как возвращает экземпляр XMLInputFactory, который имеет неправильный класс. Используйте вместо этого новый метод newFactory(java.lang.String, java.lang.ClassLoader).

Создает новый экземпляр фабрики.

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

newFactory

public static XMLOutputFactory newFactory(String factoryId,
                                          ClassLoader classLoader)
                                   throws FactoryConfigurationError

Создает новый экземпляр фабрики. Если аргумент classLoader равен null, используется ContextClassLoader.

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

  • Использование значения системного свойства, идентифицированного factoryId.
  • Использование файла свойств "lib/stax.properties" в каталоге JRE. Этот файл конфигурации имеет стандартный формат java.util.Properties и содержит полное имя класса реализации, где ключ — указанное factoryId.
  • Если factoryId равно "javax.xml.stream.XMLOutputFactory", используйте механизмы загрузки поставщиков услуг, определенные классом ServiceLoader, чтобы попытаться найти и загрузить реализацию службы с использованием указанного ClassLoader. Если classLoader равно null, применяется механизм загрузки по умолчанию: механизм загрузки поставщиков услуг будет использовать классификатор контекста текущей нити для попытки загрузки службы. Если классификатор контекста равен null, будет использован системный классификатор.
  • В противном случае генерируется исключение FactoryConfigurationError.
Примечание API:
Параметр factoryId, определенный здесь, не согласован с другими фабриками JAXP, где первый параметр — полное квалифицированное имя класса фабрики, обеспечивающего реализацию фабрики.

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

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

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Writer stream)
                                               throws XMLStreamException

Создает новый XMLStreamWriter, который записывает в поток.

Параметры:
stream - поток для записи
Исключение:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)
                                               throws XMLStreamException

Создает новый XMLStreamWriter, который записывает в поток.

Параметры:
stream - поток для записи
Исключение:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream,
                                                      String encoding)
                                               throws XMLStreamException

Создает новый XMLStreamWriter, который записывает в поток.

Параметры:
stream - поток для записи
encoding - кодировка для использования
Исключение:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Result result)
                                               throws XMLStreamException

Создает новый XMLStreamWriter, который записывает в результат JAXP. Этот метод необязателен.

Параметры:
result - результат для записи
Исключение:
UnsupportedOperationException - если этот метод не поддерживается данным XMLOutputFactory
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Result result)
                                             throws XMLStreamException

Создает новый XMLEventWriter, который записывает в результат JAXP. Этот метод необязателен.

Параметры:
result - результат для записи
Исключение:
UnsupportedOperationException - если этот метод не поддерживается данным XMLOutputFactory
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream)
                                             throws XMLStreamException

Создает новый XMLEventWriter, который записывает в поток.

Параметры:
stream - поток для записи
Исключение:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream,
                                                    String encoding)
                                             throws XMLStreamException

Создает новый XMLEventWriter, который записывает в поток.

Параметры:
stream - поток для записи
encoding - кодировка для использования
Исключение:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Writer stream)
                                             throws XMLStreamException

Создает новый XMLEventWriter, который записывает в поток.

Параметры:
stream - поток для записи
Исключение:
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, 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.

Spec-Zone.ru

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