Класс Transformer
public abstract class Transformer extends Object
Экземпляр этого класса можно получить с помощью метода TransformerFactory.newTransformer. Затем этот экземпляр можно использовать для обработки XML из различных источников и записи результатов преобразования в различные приемники.
Объект этого класса нельзя использовать одновременно в нескольких потоках. Разные преобразователи могут одновременно использоваться разными потоками.
Объект 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. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
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)
Этот метод не возвращает значение параметра по умолчанию, которое можно определить только после вычисления контекста узла в процессе преобразования.
- Параметры:
-
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— строка, не равная null, задающая имя свойства вывода, которое может иметь квалификацию пространства имён. -
value— строковое значение свойства вывода, не равное null. - Выбрасывает:
-
IllegalArgumentException— если свойство не поддерживается и не имеет квалификации пространства имён. - См. также:
getOutputProperty
public abstract String getOutputProperty(String name) throws IllegalArgumentException
Возвращает свойство вывода, действующее для преобразователя.
Если свойство было задано с помощью setOutputProperty(String, String), возвращается это значение. В противном случае, если свойство явно указано в таблице стилей, возвращается это значение. Если значение свойства задано по умолчанию, то есть не было явно задано ни с помощью setOutputProperty(String, String), ни в таблице стилей, результат может различаться в зависимости от реализации и входной таблицы стилей.
- Параметры:
-
name— строка, не равная null, задающая имя свойства вывода, которое может иметь квалификацию пространства имён. - Возвращает:
- Строковое значение свойства вывода или null, если свойство не найдено.
- Выбрасывает:
-
IllegalArgumentException— если свойство не поддерживается. - См. также:
setErrorListener
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
- Параметры:
-
listener— новый обработчик ошибок. - Выбрасывает:
-
IllegalArgumentException— если listener равен 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.