Класс Transformer
public abstract class Transformer extends Object
Экземпляр этого класса можно получить с помощью метода TransformerFactory.newTransformer. Затем этот экземпляр можно использовать для обработки XML из различных источников и записи результата преобразования в различные приемники.
Объект этого класса нельзя использовать одновременно в нескольких потоках. Разные потоки могут одновременно использовать разные объекты Transformer.
Объект Transformer можно использовать несколько раз. Параметры и свойства вывода сохраняются при выполнении преобразований.
- Начиная с:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор по умолчанию намеренно объявлен защищённым. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
clearParameters() |
Удаляет все параметры, заданные с помощью setParameter. |
abstract ErrorListener |
getErrorListener() |
Возвращает обработчик событий ошибок, используемый при преобразовании. |
abstract Properties |
getOutputProperties() |
Возвращает копию свойств вывода для преобразования. |
abstract String |
getOutputProperty |
Возвращает свойство вывода, действующее для преобразователя. |
abstract Object |
getParameter |
Возвращает параметр, явно заданный с помощью setParameter. |
abstract URIResolver |
getURIResolver() |
Возвращает объект, используемый для разрешения URI в document(). |
void |
reset() |
Сбрасывает этот Transformer до исходной конфигурации. |
abstract void |
setErrorListener |
Задаёт прослушиватель событий ошибок, используемый при преобразовании. |
abstract void |
setOutputProperties |
Задаёт свойства вывода для преобразования. |
abstract void |
setOutputProperty |
Задаёт свойство вывода, которое будет действовать при преобразовании. |
abstract void |
setParameter |
Добавляет параметр для преобразования. |
abstract void |
setURIResolver |
Задаёт объект, используемый для разрешения URI в document(). |
abstract void |
transform |
Преобразует XML Source в Result. |
Подробное описание конструкторов
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)
Этот метод не возвращает значение параметра по умолчанию, которое нельзя определить до вычисления контекста узла в процессе преобразования.
- Параметры:
-
name— имяObjectдля получения - Возвращает:
- Параметр, заданный с помощью setParameter.
clearParameters
public abstract void clearParameters()
setURIResolver
public abstract void setURIResolver(URIResolver resolver)
Если аргумент resolver равен null, значение URIResolver будет сброшено, и у преобразователя больше не будет обработчика URI.
- Параметры:
-
resolver— объект, реализующий интерфейс URIResolver, или null.
getURIResolver
public abstract URIResolver getURIResolver()
- Возвращает:
- Объект, реализующий интерфейс URIResolver, или null.
setOutputProperties
public abstract void setOutputProperties(Properties oformat)
Если аргумент этой функции равен 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— если ключи не распознаны и не квалифицированы пространством имён. - См. также:
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.
- Возвращает:
- Копию набора свойств вывода, действующих при следующем преобразовании.
- См. также:
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— если свойство не поддерживается и не квалифицировано пространством имён. - См. также:
getOutputProperty
public abstract String getOutputProperty(String name) throws IllegalArgumentException
Возвращает свойство вывода, действующее для преобразователя.
Если свойство задано с помощью setOutputProperty(String, String), будет возвращено это значение. В противном случае, если свойство явно указано в таблице стилей, будет возвращено указанное там значение. Если значение свойства задано по умолчанию, то есть явно не задано ни с помощью setOutputProperty(String, String), ни в таблице стилей, результат может различаться в зависимости от реализации и входной таблицы стилей.
- Параметры:
-
name— ненулевая строка, задающая имя свойства вывода, которое может быть квалифицировано пространством имён. - Возвращает:
- Строковое значение свойства вывода или null, если свойство не найдено.
- Вызывает исключение:
-
IllegalArgumentException— если свойство не поддерживается. - См. также:
setErrorListener
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
- Параметры:
-
listener— новый прослушиватель ошибок. - Вызывает исключение:
-
IllegalArgumentException— если прослушиватель равен 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/transform/Transformer.html