Spec-Zone.ru › OpenJDK 24

Класс 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 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)
Обработка источника в объект 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.

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

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

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

TransformerFactory

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

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

newDefaultInstance

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

newInstance

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

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

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

newInstance

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

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

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

Установив системную переменную 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, который может быть использован для выполнения преобразования в отдельном потоке, никогда не 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 = нет).
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)
Получение значения параметра.

Имена параметров полностью квалифицированы URIs. Реализации могут определять свои собственные параметры. 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 документа ограничен протоколами, указанными в свойстве. Если доступ запрещен во время преобразования из-за ограничения этого свойства, TransformerException будет выброшен методом Transformer.transform(Source, Result).

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

getAttribute

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

setErrorListener

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

getErrorListener

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

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

Spec-Zone.ru

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