Spec-Zone.ru › OpenJDK 25

Класс Transformer

java.lang.Object
javax.xml.transform.Transformer
public abstract class Transformer extends Object
Экземпляр этого абстрактного класса может преобразовать исходное дерево в дерево-результат.

Экземпляр этого класса можно получить с помощью метода TransformerFactory.newTransformer. Затем этот экземпляр можно использовать для обработки XML из различных источников и записи результата преобразования в различные приемники.

Объект этого класса нельзя использовать одновременно в нескольких потоках. Разные потоки могут одновременно использовать разные объекты Transformer.

Объект Transformer можно использовать несколько раз. Параметры и свойства вывода сохраняются при выполнении преобразований.

Начиная с:
1.4

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

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

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

Модификатор и тип Метод Описание
abstract void clearParameters()
Удаляет все параметры, заданные с помощью setParameter.
abstract ErrorListener getErrorListener()
Возвращает обработчик событий ошибок, используемый при преобразовании.
abstract Properties getOutputProperties()
Возвращает копию свойств вывода для преобразования.
abstract String getOutputProperty(String name)
Возвращает свойство вывода, действующее для преобразователя.
abstract Object getParameter(String name)
Возвращает параметр, явно заданный с помощью setParameter.
abstract URIResolver getURIResolver()
Возвращает объект, используемый для разрешения URI в document().
void reset()
Сбрасывает этот Transformer до исходной конфигурации.
abstract void setErrorListener(ErrorListener listener)
Задаёт прослушиватель событий ошибок, используемый при преобразовании.
abstract void setOutputProperties(Properties oformat)
Задаёт свойства вывода для преобразования.
abstract void setOutputProperty(String name, String value)
Задаёт свойство вывода, которое будет действовать при преобразовании.
abstract void setParameter(String name, Object value)
Добавляет параметр для преобразования.
abstract void setURIResolver(URIResolver resolver)
Задаёт объект, используемый для разрешения URI в document().
abstract void transform(Source xmlSource, Result outputTarget)
Преобразует XML Source в Result.

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

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

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

Transformer

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

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

reset

public void reset()

Сбрасывает этот Transformer до исходной конфигурации.

Transformer возвращается в то же состояние, в котором находился при создании с помощью TransformerFactory.newTransformer(), TransformerFactory.newTransformer(Source source) или Templates.newTransformer(). reset() предназначен для повторного использования существующих Transformer, что позволяет экономить ресурсы, связанные с созданием новых Transformer.

Для сброшенного Transformer не гарантируется наличие тех же Object URIResolver или ErrorListener, например, равенства, проверяемого с помощью Object.equals(Object obj). Гарантируется функциональное равенство URIResolver и ErrorListener.

Вызывает исключение:
UnsupportedOperationException — если реализация не переопределяет этот метод.
Начиная с:
1.5

transform

public abstract void transform(Source xmlSource, Result outputTarget) throws TransformerException

Преобразует XML Source в Result. Конкретное поведение преобразования определяется настройками TransformerFactory, действующими на момент создания экземпляра Transformer, а также изменениями, внесёнными в экземпляр Transformer.

Пустой Source представляется как пустой документ, созданный с помощью DocumentBuilder.newDocument(). Результат преобразования пустого Source зависит от поведения преобразования; он не всегда является пустым Result.

Параметры:
xmlSource — входные данные XML для преобразования.
outputTarget — Result преобразования xmlSource.
Вызывает исключение:
TransformerException — если во время преобразования возникает неустранимая ошибка.

setParameter

public abstract void setParameter(String name, Object value)
Добавляет параметр для преобразования.

Передайте квалифицированное имя в виде строки из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если URL имени равен null, строка содержит только локальное имя. Приложение может безопасно проверить, что URI не равен null, проверив, является ли первый символ имени символом «{».

Например, если URI и локальное имя получены из элемента, объявленного как <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>, квалифицированное имя будет иметь вид "{http://xyz.foo.com/yada/baz.html}foo". Обратите внимание, что префикс не используется.

Параметры:
name — имя параметра, которое может начинаться с URI пространства имён в фигурных скобках ({}).
value — объект-значение. Это может быть любой допустимый объект Java. Процессор должен обеспечить необходимое преобразование объекта или просто передать объект для использования в расширении.
Вызывает исключение:
NullPointerException — если значение равно null.

getParameter

public abstract Object getParameter(String name)
Возвращает параметр, явно заданный с помощью setParameter.

Этот метод не возвращает значение параметра по умолчанию, которое нельзя определить до вычисления контекста узла в процессе преобразования.

Параметры:
name — имя Object для получения
Возвращает:
Параметр, заданный с помощью setParameter.

clearParameters

public abstract void clearParameters()
Удаляет все параметры, заданные с помощью setParameter.

setURIResolver

public abstract void setURIResolver(URIResolver resolver)
Задаёт объект, используемый для разрешения URI в document().

Если аргумент resolver равен null, значение URIResolver будет сброшено, и у преобразователя больше не будет обработчика URI.

Параметры:
resolver — объект, реализующий интерфейс URIResolver, или null.

getURIResolver

public abstract URIResolver getURIResolver()
Возвращает объект, используемый для разрешения URI в document().
Возвращает:
Объект, реализующий интерфейс URIResolver, или null.

setOutputProperties

public abstract void setOutputProperties(Properties oformat)
Задаёт свойства вывода для преобразования. Эти свойства переопределяют свойства, заданные в Templates с помощью xsl:output.

Если аргумент этой функции равен null, все ранее заданные свойства удаляются, а их значения возвращаются к значениям, определённым в объекте templates.

Передайте квалифицированное имя ключа свойства в виде строки из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если URL имени равен null, строка содержит только локальное имя. Приложение может безопасно проверить, что URI не равен null, проверив, является ли первый символ имени символом «{».

Например, если URI и локальное имя получены из элемента, объявленного как <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>, квалифицированное имя будет иметь вид "{http://xyz.foo.com/yada/baz.html}foo". Обратите внимание, что префикс не используется.

Если какие-либо ключи аргумента не распознаны и не квалифицированы пространством имён, вызывается IllegalArgumentException.
Параметры:
oformat — набор свойств вывода, используемых для переопределения любых одноимённых свойств, действующих при преобразовании.
Вызывает исключение:
IllegalArgumentException — если ключи не распознаны и не квалифицированы пространством имён.
См. также:
  • OutputKeys
  • Properties

getOutputProperties

public abstract Properties getOutputProperties()

Возвращает копию свойств вывода для преобразования.

Возвращаемые свойства должны содержать свойства, заданные пользователем, и свойства, заданные таблицей стилей; по умолчанию эти свойства дополняются значениями свойств, указанными в разделе 16 Рекомендации W3C по преобразованиям XSL (XSLT). Свойства, явно заданные пользователем или таблицей стилей, должны находиться в базовом списке Properties, а свойства XSLT по умолчанию, которые не были заданы явно, — в списке Properties по умолчанию. Поэтому getOutputProperties().getProperty(String key) возвращает любое свойство, заданное с помощью setOutputProperty(String, String), setOutputProperties(Properties), в таблице стилей или в свойствах по умолчанию, тогда как getOutputProperties().get(String key) извлекает только свойства, явно заданные с помощью setOutputProperty(String, String), setOutputProperties(Properties) или в таблице стилей.

Обратите внимание, что изменение возвращённого объекта Properties не влияет на свойства, содержащиеся в преобразователе.

Если какие-либо ключи аргумента не распознаны и не квалифицированы пространством имён, соответствующее свойство будет проигнорировано и не возвращено. Иными словами, поведение не является ортогональным по отношению к setOutputProperties.

Возвращает:
Копию набора свойств вывода, действующих при следующем преобразовании.
См. также:
  • OutputKeys
  • Properties
  • Преобразования XSL (XSLT), версия 1.0

setOutputProperty

public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException
Задаёт свойство вывода, которое будет действовать при преобразовании.

Передайте квалифицированное имя свойства в виде строки из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если URL имени равен null, строка содержит только локальное имя. Приложение может безопасно проверить, что URI не равен null, проверив, является ли первый символ имени символом «{».

Например, если URI и локальное имя получены из элемента, объявленного как <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>, квалифицированное имя будет иметь вид "{http://xyz.foo.com/yada/baz.html}foo". Обратите внимание, что префикс не используется.

Вызов этого метода не влияет на объект Properties, переданный в setOutputProperties(Properties).

Параметры:
name — ненулевая строка, задающая имя свойства вывода, которое может быть квалифицировано пространством имён.
value — ненулевое строковое значение свойства вывода.
Вызывает исключение:
IllegalArgumentException — если свойство не поддерживается и не квалифицировано пространством имён.
См. также:
  • OutputKeys

getOutputProperty

public abstract String getOutputProperty(String name) throws IllegalArgumentException

Возвращает свойство вывода, действующее для преобразователя.

Если свойство задано с помощью setOutputProperty(String, String), будет возвращено это значение. В противном случае, если свойство явно указано в таблице стилей, будет возвращено указанное там значение. Если значение свойства задано по умолчанию, то есть явно не задано ни с помощью setOutputProperty(String, String), ни в таблице стилей, результат может различаться в зависимости от реализации и входной таблицы стилей.

Параметры:
name — ненулевая строка, задающая имя свойства вывода, которое может быть квалифицировано пространством имён.
Возвращает:
Строковое значение свойства вывода или null, если свойство не найдено.
Вызывает исключение:
IllegalArgumentException — если свойство не поддерживается.
См. также:
  • OutputKeys

setErrorListener

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

getErrorListener

public abstract ErrorListener getErrorListener()
Возвращает обработчик событий ошибок, используемый при преобразовании. Реализации должны предоставлять обработчик ошибок по умолчанию.
Возвращает:
Текущий обработчик ошибок, который никогда не должен быть равен 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/Transformer.html

Spec-Zone.ru

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