Spec-Zone.ru › OpenJDK 21

Класс TransformerFactory

java.lang.Object
javax.xml.transform.TransformerFactory
Прямые известные подклассы:
SAXTransformerFactory
public abstract class TransformerFactory extends Object

Экземпляр TransformerFactory можно использовать для создания объектов Transformer и Templates.

Системная переменная среды, определяющая, какую реализацию фабрики использовать, называется "javax.xml.transform.TransformerFactory". Эта переменная указывает конкретный подкласс абстрактного класса TransformerFactory. Если переменная не определена, используется платформа по умолчанию.

С:
1.5

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

TransformerFactory()
Модификатор Конструктор Описание
protected
Конструктор по умолчанию намеренно защищен.

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

Модификатор и тип Метод Описание
abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset)
Получение спецификаций таблиц стилей, связанных с XML-документом Source через инструкцию обработки XML Source xml-stylesheet, соответствующие заданным критериям.
abstract Object getAttribute(String name)
Позволяет пользователю получить определенные атрибуты на основе реализации.
abstract ErrorListener getErrorListener()
Получение обработчика событий ошибок для TransformerFactory.
abstract boolean getFeature(String name)
Поиск значения функции.
abstract URIResolver getURIResolver()
Получение объекта, используемого по умолчанию при преобразовании для разрешения URI, используемых в document(), xsl:import или xsl:include.
static TransformerFactory newDefaultInstance()
Создание нового экземпляра встроенной реализации по умолчанию системы.
static TransformerFactory newInstance()
Получение нового экземпляра TransformerFactory.
static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader)
Получение нового экземпляра TransformerFactory по имени класса фабрики.
abstract Templates newTemplates(Source source)
Обработка исходного кода в объект шаблонов, который представляет собой скомпилированное представление исходного кода.
abstract Transformer newTransformer()
Создание нового Transformer, который выполняет копирование Source в Result, т.е. «тождественное преобразование».
abstract Transformer newTransformer(Source source)
Обработка Source в объект Transformer Object.
abstract void setAttribute(String name, Object value)
Позволяет пользователю установить определенные атрибуты на основе реализации.
abstract void setErrorListener(ErrorListener listener)
Установка обработчика событий ошибок для TransformerFactory, который используется для обработки инструкций преобразования, а не для самого преобразования.
abstract void setFeature(String name, boolean value)
Установка функции для этого TransformerFactory и Transformer или Template созданных этой фабрикой.
abstract void setURIResolver(URIResolver resolver)
Установка объекта, используемого по умолчанию при преобразовании для разрешения URI, используемых в document(), xsl:import или xsl:include.

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

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

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

TransformerFactory

protected TransformerFactory()
Конструктор по умолчанию намеренно защищён.

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

newDefaultInstance

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

newInstance

public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError
Получает новый экземпляр TransformerFactory. Данный метод использует механизм поиска JAXP для определения класса реализации TransformerFactory для загрузки.

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

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

newInstance

public static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader) throws TransformerFactoryConfigurationError
Получает новый экземпляр TransformerFactory из имени класса фабрики. Эта функция полезна, когда в классе пути существует несколько поставщиков. Она предоставляет больше контроля приложению, позволяя указать, какой поставщик должен быть загружен.

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

Совет по устранению неполадок

Установка системной переменной jaxp.debug заставит этот метод выводить много отладочных сообщений в System.err о том, что он делает и где ищет.

Если у вас возникли проблемы, попробуйте:

 java -Djaxp.debug=1 YourProgram ....
 
Параметры:
factoryClassName - полное квалифицированное имя класса фабрики, предоставляющее реализацию javax.xml.transform.TransformerFactory.
classLoader - ClassLoader используемый для загрузки класса фабрики. Если null текущий Thread контекст загрузчика классов используется для загрузки класса фабрики.
Возвращает:
новый экземпляр TransformerFactory, никогда не null.
Исключения:
TransformerFactoryConfigurationError - если factoryClassName имеет null, или класс фабрики не может быть загружен, создан.
С:
1.6
См. также:
  • newInstance()

newTransformer

public abstract Transformer newTransformer(Source source) throws TransformerConfigurationException
Обработать Source в Transformer Object. Source — это документ XSLT, соответствующий XSL Transformations (XSLT) Version 1.0. Следует быть осторожным, чтобы не использовать этот Transformer в нескольких Thread , выполняемых параллельно. Разные TransformerFactories могут использоваться одновременно различными Thread.
Параметры:
source - Source документа XSLT, используемого для создания Transformer. Примеры XML Source включают DOMSource, SAXSource и StreamSource.
Возвращает:
Объект Transformer , который может использоваться для выполнения преобразования в одном Thread, никогда не null.
Исключения:
TransformerConfigurationException - Бросается, если при разборе Source возникли ошибки или невозможно создать экземпляр Transformer.
См. также:
  • XSL Transformations (XSLT) Version 1.0

newTransformer

public abstract Transformer newTransformer() throws TransformerConfigurationException
Создаёт новый Transformer, который выполняет копирование Source в Result, т.е. "тождественное преобразование".
Возвращает:
Объект Transformer, который может использоваться для выполнения преобразования в одном потоке, никогда не null.
Исключения:
TransformerConfigurationException - Когда невозможно создать экземпляр Transformer.

newTemplates

public abstract Templates newTemplates(Source source) throws TransformerConfigurationException
Обрабатывает Source в объект Templates, который является скомпилированным представлением источника. Этот объект Templates затем может быть использован параллельно в нескольких потоках. Создание объекта Templates позволяет TransformerFactory выполнять подробную оптимизацию производительности инструкций преобразования без штрафа для преобразования во время выполнения.
Параметры:
source - Объект, содержащий URL, поток ввода и т.д.
Возвращает:
Объект Templates, пригодный для использования в целях преобразования, никогда не null.
Исключения:
TransformerConfigurationException - При сбое разбора для создания объекта Templates.

getAssociatedStylesheet

public abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException
Получает спецификации таблицы стилей, связанные с XML-документом Source через инструкцию обработки xml-stylesheet, которые соответствуют заданным критериям. Обратите внимание, что возможно возвращение нескольких таблиц стилей, в этом случае они применяются как список импортов или каскадов в одной таблице стилей.
Параметры:
source - XML-документ-источник.
media - Атрибут media для соответствия. Может быть null, в этом случае будут использоваться предпочтительные шаблоны (т.е. alternate = no).
title - Значение атрибута title для соответствия. Может быть null.
charset - Значение атрибута charset для соответствия. Может быть null.
Возвращает:
Объект Source Object , подходящий для передачи в TransformerFactory.
Исключения:
TransformerConfigurationException - Выбрасывается Exception , если во время разбора source произошла ошибка.
См. также:
  • Связывание таблиц стилей с XML-документами Версия 1.0

setURIResolver

public abstract void setURIResolver(URIResolver resolver)
Устанавливает объект, используемый по умолчанию во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.
Параметры:
resolver - Объект, реализующий интерфейс URIResolver, или null.

getURIResolver

public abstract URIResolver getURIResolver()
Получить объект, используемый по умолчанию во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.
Возвращает:
URIResolver, установленный с помощью setURIResolver.

setFeature

public abstract void setFeature(String name, boolean value) throws TransformerConfigurationException

Устанавливает атрибут для этого TransformerFactory и Transformer или Template , созданных этой фабрикой.

Имена атрибутов — полные квалифицированные URI. Реализации могут определять свои собственные атрибуты. TransformerConfigurationException выбрасывается, если этот TransformerFactory или созданные им Transformer или Template не поддерживают данный атрибут. Возможно, что TransformerFactory предоставляет значение атрибута, но не может изменить его состояние.

Все реализации обязаны поддерживать атрибут XMLConstants.FEATURE_SECURE_PROCESSING. При значениях атрибута:

  • true: реализация ограничит обработку XML, чтобы соответствовать ограничениям реализации и вести себя безопасным образом, как определено реализацией. Примеры включают разрешение пользовательских таблиц стилей и функций. Если обработка XML ограничена по соображениям безопасности, это будет сообщено через вызов зарегистрированного ErrorListener.fatalError(TransformerException exception). См. setErrorListener(ErrorListener listener).
  • false: реализация обработает XML в соответствии со спецификациями XML, не учитывая возможные ограничения реализации.
Параметры:
name - Имя атрибута.
value - Является ли состояние атрибута true или false.
Исключения:
TransformerConfigurationException - если этот TransformerFactory или созданные им Transformer или Template не поддерживают данный атрибут.
NullPointerException - Если параметр name равен null.

getFeature

public abstract boolean getFeature(String name)
Получение значения параметра.

Имена параметров полностью квалифицированы URI . Реализации могут определять свои собственные параметры. false возвращается, если этот TransformerFactory или Transformer или Template не поддерживают данный параметр. Возможно, TransformerFactory предоставляет значение параметра, но не может изменить его состояние.

Parameters:
name - Имя параметра.
Returns:
Текущее состояние параметра, true или false.
Throws:
NullPointerException - Если параметр name равен null.

setAttribute

public abstract void setAttribute(String name, Object value)
Позволяет пользователю задавать специфические атрибуты для базовой реализации. Атрибут в этом контексте определяется как опция, предоставляемая реализацией. Если базовая реализация не распознаёт атрибут, будет выброшено исключение IllegalArgumentException.

Все реализации, поддерживающие JAXP 1.5 и новее, обязаны поддерживать свойства XMLConstants.ACCESS_EXTERNAL_DTD и XMLConstants.ACCESS_EXTERNAL_STYLESHEET.

  • Доступ к внешним DTD в исходном файле ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ запрещён во время преобразования из-за ограничения этого свойства, TransformerException будет выброшено методом Transformer.transform(Source, Result).

    Доступ к внешним DTD в стилях ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ запрещён при создании нового трансформера из-за ограничения этого свойства, TransformerConfigurationException будет выброшено методом newTransformer(Source).

    Доступ к внешним ссылкам, заданным в инструкции обработки стиля, элементе Import и Include, ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_STYLESHEET. Если доступ запрещён во время создания нового трансформера из-за ограничения этого свойства, TransformerConfigurationException будет выброшено методом newTransformer(Source).

    Доступ к внешнему документу через функцию XSLT document ограничен протоколами, указанными в свойстве. Если доступ запрещён во время преобразования из-за ограничения этого свойства, TransformerException будет выброшено методом Transformer.transform(Source, Result).

Parameters:
name - Название атрибута.
value - Значение атрибута.
Throws:
IllegalArgumentException - Когда реализация не распознаёт атрибут.

getAttribute

public abstract Object getAttribute(String name)
Позволяет пользователю получить определённый атрибут в базовой реализации. Если базовая реализация не распознаёт атрибут, будет выброшено исключение IllegalArgumentException.
Parameters:
name - Название атрибута.
Returns:
value Значение атрибута.
Throws:
IllegalArgumentException - Когда реализация не распознаёт атрибут.

setErrorListener

public abstract void setErrorListener(ErrorListener listener)
Устанавливает обработчик ошибок для TransformerFactory, который используется для обработки инструкций преобразования, а не самого преобразования. Если обработчик ошибок ErrorListener равен null, будет выброшено исключение IllegalArgumentException.
Parameters:
listener - Новый обработчик ошибок.
Throws:
IllegalArgumentException - Когда listener равен null

getErrorListener

public abstract ErrorListener getErrorListener()
Получение обработчика ошибок для TransformerFactory.
Returns:
Текущий обработчик ошибок, который никогда не должен быть null.

© 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/transform/TransformerFactory.html

Spec-Zone.ru

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