Класс Transformer
public abstract class Transformer extends Object
Экземпляр этого класса можно получить с помощью метода TransformerFactory.newTransformer. Затем этот экземпляр может быть использован для обработки XML из различных источников и записи выходных данных преобразования в различные стоки.
Объект этого класса не может быть использован в нескольких потоках, работающих одновременно. Разные преобразователи могут использоваться одновременно разными потоками.
Объект Transformer может использоваться несколько раз. Параметры и свойства вывода сохраняются между преобразованиями.
- Since:
- 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 не гарантирует, что у него будут те же 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, строка содержит только локальное имя. Приложение может безопасно проверить на null 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)
Этот метод не возвращает значение параметра по умолчанию, которое нельзя определить до оценки контекста узла во время процесса преобразования.
- Параметры:
-
name-Objectдля получения - Возвращает:
- Параметр, заданный с помощью setParameter.
clearParameters
public abstract void clearParameters()
setURIResolver
public abstract void setURIResolver(URIResolver resolver)
Если аргумент resolver равен null, значение URIResolver будет очищено, и преобразователь больше не будет иметь разрешителя.
- Параметры:
-
resolver- Объект, реализующий интерфейс URIResolver, или null.
getURIResolver
public abstract URIResolver getURIResolver()
- Возвращает:
- Объект, реализующий интерфейс URIResolver, или null.
setOutputProperties
public abstract void setOutputProperties(Properties oformat)
Если аргумент этой функции равен null, любые ранее установленные свойства будут удалены, и значение вернётся к значению, определённому в объекте шаблонов.
Передайте квалифицированное имя свойства в виде строки из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если у имени null URL, строка содержит только локальное имя. Приложение может безопасно проверить на null URI, проверив, является ли первый символ имени символом '{'.
Например, если 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 спецификации 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.
- Возвращает:
- Копия набора свойств вывода, действующих при следующем преобразовании.
- См. также:
setOutputProperty
public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException
Передайте квалифицированное имя свойства в виде строки из двух частей: URI пространства имён в фигурных скобках ({}), за которым следует локальное имя. Если у имени null URL, строка содержит только локальное имя. Приложение может безопасно проверить на null 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- Не-null строка, определяющая имя свойства вывода, которое может быть квалифицировано по пространству имён. -
value- Строковое значение свойства вывода, не равное null. - Исключение:
-
IllegalArgumentException- Если свойство не поддерживается и не квалифицировано пространством имён. - См. также:
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:
setErrorListener
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
- Parameters:
-
listener- Новый обработчик событий ошибок. - Throws:
-
IllegalArgumentException- если обработчик равен null.
getErrorListener
public abstract ErrorListener getErrorListener()
- Returns:
- Текущий обработчик ошибок, который никогда не должен быть 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/transform/Transformer.html