Spec-Zone.ru › OpenJDK 25

Класс TransformerFactory

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

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

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

Начиная с версии:
1.5

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

TransformerFactory()
Модификатор Конструктор Описание
protected
Конструктор по умолчанию намеренно объявлен как защищённый.

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

Модификатор и тип Метод Описание
abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset)
Получает спецификацию(и) таблицы стилей, связанную(ые) с 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()
Создаёт новый экземпляр встроенной системной реализации TransformerFactory по умолчанию.
static TransformerFactory newInstance()
Получает новый экземпляр TransformerFactory.
static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader)
Создаёт новый экземпляр TransformerFactory по имени класса фабрики.
abstract Templates newTemplates(Source source)
Обрабатывает Source и преобразует его в объект Templates, представляющий собой скомпилированное представление источника.
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.

Методы, объявленные в классе 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, для загрузки класса фабрики используется контекстный ClassLoader текущего Thread.
Возвращает:
Новый экземпляр TransformerFactory; значение никогда не равно null.
Исключения:
TransformerFactoryConfigurationError — если factoryClassName равно null или класс фабрики не удаётся загрузить либо создать.
Начиная с:
1.6
См. также:
  • newInstance()

newTransformer

public abstract Transformer newTransformer(Source source) throws TransformerConfigurationException
Обрабатывает Source и создаёт объект Transformer Object. Source — это документ XSLT, соответствующий спецификации преобразований XSL (XSLT), версия 1.0. Следует соблюдать осторожность и не использовать этот Transformer одновременно в нескольких Thread. Разные TransformerFactories можно одновременно использовать в разных Thread.
Параметры:
source — Source документа XSLT, используемый для создания Transformer. Примеры XML-Source: DOMSource, SAXSource и StreamSource.
Возвращает:
Объект Transformer, который можно использовать для выполнения преобразования в одном Thread; значение никогда не равно null.
Исключения:
TransformerConfigurationException — возникает, если при разборе Source произошли ошибки или невозможно создать экземпляр Transformer.
См. также:
  • Преобразования XSL (XSLT), версия 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. Реализации могут определять собственные функции. Если этот TransformerFactory, создаваемые им Transformer или Template не поддерживают функцию, возникает TransformerConfigurationException. 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. Реализации могут определять собственные функции. Если этот TransformerFactory, создаваемые им Transformer или Template не поддерживают функцию, возвращается false. TransformerFactory может предоставлять значение функции, но не иметь возможности изменить её состояние.

Параметры:
name — имя функции.
Возвращает:
Текущее состояние функции: true или false.
Исключения:
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. Если доступ запрещён из-за ограничений этого свойства во время преобразования, метод Transformer.transform(Source, Result) выбрасывает TransformerException.

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

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

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

Параметры:
name — имя атрибута.
value — значение атрибута.
Исключения:
IllegalArgumentException — если реализация не распознаёт атрибут.

getAttribute

public abstract Object getAttribute(String name)
Позволяет пользователю получать определенные атрибуты базовой реализации. Вызывается IllegalArgumentException, если базовая реализация не распознает атрибут.
Параметры:
name — имя атрибута.
Возвращает:
value — значение атрибута.
Вызывает исключение:
IllegalArgumentException — если реализация не распознает атрибут.

setErrorListener

public abstract void setErrorListener(ErrorListener listener)
Задает обработчик событий ошибок для TransformerFactory, который используется при обработке инструкций преобразования, но не при самом преобразовании. Вызывается IllegalArgumentException, если обработчик ErrorListener равен null.
Параметры:
listener — новый обработчик ошибок.
Вызывает исключение:
IllegalArgumentException — если listener равен null

getErrorListener

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/transform/TransformerFactory.html

Spec-Zone.ru

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