Spec-Zone.ru › OpenJDK 17

Класс 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 в Result.

Методы, объявленные в классе 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.

Throws:
UnsupportedOperationException - Если реализация не переопределяет этот метод.
Since:
1.5

transform

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

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

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

Parameters:
xmlSource - Входной XML-документ для преобразования.
outputTarget - Result преобразования xmlSource.
Throws:
TransformerException - Если во время преобразования произошла непреодолимая ошибка.

setParameter

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

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

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

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

getParameter

public abstract Object getParameter(String name)
Получить параметр, явно установленный с помощью setParameter.

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

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

clearParameters

public abstract void clearParameters()
Очистить все параметры, установленные с помощью setParameter.

setURIResolver

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

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

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

getURIResolver

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

setOutputProperties

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

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

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

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

IllegalArgumentException выбрасывается, если какое-либо из ключей аргумента не распознаётся и не является квалифицированным по имени пространства имён.
Parameters:
oformat - Набор свойств вывода, которые будут использоваться для переопределения любых одноимённых свойств, действующих при преобразовании.
Throws:
IllegalArgumentException - Когда ключи не распознаются и не являются квалифицированными по имени пространства имён.
See Also:
  • OutputKeys
  • Properties

getOutputProperties

public abstract Properties getOutputProperties()

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

Возвращаемые свойства должны содержать свойства, установленные пользователем и стилем, и эти свойства по умолчанию задаются по умолчанию, указанными в разделе 16 рекомендации W3C по преобразованию XSL (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.

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

setOutputProperty

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

Передайте квалифицированное имя свойства как строку из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если у имени нет 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), не будет затронут вызовом этого метода.

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

Получить свойство вывода

public abstract String getOutputProperty(String name) throws IllegalArgumentException

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

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

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

Установить обработчик ошибок

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

Получить обработчик ошибок

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

Spec-Zone.ru

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