Spec-Zone.ru › OpenJDK 17

Класс 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()
Создаёт новый экземпляр TransformerFactory реализации по умолчанию.
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()
Создаёт новый экземпляр 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, соответствующий XSLT версии 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 созданных этой фабрикой.

Имена свойств — это полные URIs. Реализации могут определять свои собственные свойства. 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 ограничен протоколами, указанными в свойстве. Если доступ запрещён во время преобразования из-за ограничения этого свойства, исключение 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, 2021, 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/17/docs/api/java.xml/javax/xml/transform/TransformerFactory.html

Spec-Zone.ru

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