Spec-Zone.ru › OpenJDK 21

Класс Transformer

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

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

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

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

Since:
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 в %%%CODE_BLOCK_33%%.

Методы, объявленные в классе java.lang.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 не гарантирует, что у него будут такие же URIResolver или ErrorListener Objectы, например, 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 пространства имён, заключённый в фигурные скобки ({}), за которым следует локальное имя. Если у имени есть null URL, строка содержит только локальное имя. Приложение может безопасно проверить наличие непустого URI, проверив, является ли первый символ имени символом '{'.

Например, если 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 будет очищено, и у преобразователя больше не будет разрешителя.

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

getURIResolver

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

setOutputProperties

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

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

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

Например, если 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 по преобразованию XSLT. Свойства, которые были явно заданы пользователем или стилем, должны быть в базовом списке свойств, а свойства по умолчанию XSLT, которые не были явно заданы, должны быть в списке свойств по умолчанию. Таким образом, getOutputProperties().getProperty(String key) получит любое свойство, которое было задано с помощью setOutputProperty(java.lang.String, java.lang.String), setOutputProperties(java.util.Properties), в стиле или свойства по умолчанию, в то время как getOutputProperties().get(String key) получит только свойства, которые были явно заданы с помощью setOutputProperty(java.lang.String, java.lang.String), setOutputProperties(java.util.Properties) или в стиле.

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

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

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

setOutputProperty

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

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

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

Объект Properties, который был передан в setOutputProperties(java.util.Properties), не будет затронут вызовом этого метода.

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

getOutputProperty

public abstract String getOutputProperty(String name) throws IllegalArgumentException

Получить свойство вывода, которое действует для преобразователя.

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

Parameters:
name - Непустая строка, определяющая имя свойства вывода, которое может быть квалифицировано по пространству имен.
Returns:
Строковое значение свойства вывода или null, если свойство не найдено.
Throws:
IllegalArgumentException - Если свойство не поддерживается.
See Also:
  • OutputKeys

setErrorListener

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

getErrorListener

public abstract ErrorListener getErrorListener()
Получить обработчик событий об ошибках, действующий для преобразования. Реализации должны предоставлять обработчик событий об ошибках по умолчанию.
Returns:
Текущий обработчик событий об ошибках, который никогда не должен быть null.

© 1993, 2023, 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/21/docs/api/java.xml/javax/xml/transform/Transformer.html

Spec-Zone.ru

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