Класс TransformerFactory
- Прямые известные подклассы:
SAXTransformerFactory
public abstract class TransformerFactory extends Object
Экземпляр TransformerFactory можно использовать для создания объектов Transformer и Templates.
Системное свойство, определяющее, какую реализацию Factory создать, называется "javax.xml.transform.TransformerFactory". Это свойство указывает конкретный подкласс абстрактного класса TransformerFactory. Если свойство не определено, используется реализация, предусмотренная платформой по умолчанию.
- Начиная с:
- 1.5
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор по умолчанию намеренно объявлен защищённым. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Source |
getAssociatedStylesheet |
Получает спецификации таблиц стилей, связанные с документом XML Source с помощью инструкции обработки xml-stylesheet и соответствующие заданным критериям. |
abstract Object |
getAttribute |
Позволяет пользователю получать определённые атрибуты базовой реализации. |
abstract ErrorListener |
getErrorListener() |
Получает обработчик событий ошибок для TransformerFactory. |
abstract boolean |
getFeature |
Возвращает значение функции. |
abstract URIResolver |
getURIResolver() |
Получает объект, используемый по умолчанию во время преобразования для разрешения URI, применяемых в document(), xsl:import или xsl:include. |
static TransformerFactory |
newDefaultInstance() |
Создаёт новый экземпляр встроенной реализации TransformerFactory, используемой системой по умолчанию. |
static TransformerFactory |
newInstance() |
Получает новый экземпляр TransformerFactory. |
static TransformerFactory |
newInstance |
Получает новый экземпляр TransformerFactory по имени класса фабрики. |
abstract Templates |
newTemplates |
Обрабатывает Source и преобразует его в объект Templates, представляющий собой скомпилированное представление исходного кода. |
abstract Transformer |
newTransformer() |
Создаёт новый Transformer, который копирует Source в Result, то есть выполняет «тождественное преобразование». |
abstract Transformer |
newTransformer |
Обрабатывает Source и преобразует его в Transformer Object. |
abstract void |
setAttribute |
Позволяет пользователю задавать определённые атрибуты базовой реализации. |
abstract void |
setErrorListener |
Задаёт обработчик событий ошибок для TransformerFactory, используемый при обработке инструкций преобразования, а не при выполнении самого преобразования. |
abstract void |
setFeature |
Задаёт функцию для данного TransformerFactory и создаваемых этой фабрикой Transformer или Template. |
abstract void |
setURIResolver |
Задаёт объект, используемый по умолчанию во время преобразования для разрешения URI, применяемых в document(), xsl:import или xsl:include. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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
- См. также:
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. - См. также:
newTransformer
public abstract Transformer newTransformer() throws TransformerConfigurationException
Transformer, который копирует Source в Result, то есть выполняет «тождественное преобразование».- Возвращает:
- Объект Transformer, который можно использовать для выполнения преобразования в одном потоке; значение никогда не равно null.
- Выбрасывает:
-
TransformerConfigurationException— если невозможно создать экземплярTransformer.
newTemplates
public abstract Templates newTemplates(Source source) throws TransformerConfigurationException
- Параметры:
-
source— объект, содержащий URL, входной поток и т. д. - Возвращает:
- Объект Templates, пригодный для выполнения преобразований; значение никогда не равно
null. - Выбрасывает:
-
TransformerConfigurationException— если при разборе не удалось создать объект Templates.
getAssociatedStylesheet
public abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException
Source с помощью инструкции обработки xml-stylesheet и соответствующие заданным критериям. Обратите внимание, что метод может вернуть несколько таблиц стилей; в этом случае они применяются так, как если бы представляли собой список импортов или каскадов в одной таблице стилей.- Параметры:
-
source— исходный документ XML. -
media— атрибут media, которому должно соответствовать значение. Может быть равен null; в этом случае используются предпочтительные шаблоны (то есть alternate = no). -
title— значение атрибута title, которому должно соответствовать значение. Может быть равно null. -
charset— значение атрибута charset, которому должно соответствовать значение. Может быть равно null. - Возвращает:
SourceObject, подходящий для передачи вTransformerFactory.- Выбрасывает:
-
TransformerConfigurationException— выбрасывается, если во время разбораsourceпроизошла ошибкаException. - См. также:
setURIResolver
public abstract void setURIResolver(URIResolver resolver)
- Параметры:
-
resolver— объект, реализующий интерфейс URIResolver, или null.
getURIResolver
public abstract URIResolver getURIResolver()
- Возвращает:
- 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)
ErrorListener обработчик равен null, выбрасывается IllegalArgumentException.- Параметры:
-
listener— новый обработчик ошибок. - Выбрасывает:
-
IllegalArgumentException— еслиlistenerимеет значениеnull
getErrorListener
public abstract ErrorListener getErrorListener()
- Возвращает:
- Текущий обработчик ошибок, который никогда не должен быть равен 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.