Spec-Zone.ru › OpenJDK 8

Класс TransformerFactory

  • java.lang.Object
    • javax.xml.transform.TransformerFactory
Прямые известные подклассы:
SAXTransformerFactory

public abstract class TransformerFactory
extends Object

Экземпляр TransformerFactory может использоваться для создания объектов Transformer и Templates.

Системная переменная, определяющая, какая реализация фабрики будет создана, называется "javax.xml.transform.TransformerFactory". Эта переменная задаёт конкретный подкласс абстрактного класса TransformerFactory. Если эта переменная не определена, используется платформа по умолчанию.

С:
1.5

Конструкторы

Модификатор Конструктор и описание
protected TransformerFactory()

Конструктор по умолчанию намеренно защищён.

Методы

Модификатор и тип Метод и описание
abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset)

Получить спецификацию(и) таблицы стилей, связанную(ые) с документом XML Source через инструкцию обработки xml-stylesheet, которая соответствует заданным критериям.

abstract Object getAttribute(String name)

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

abstract ErrorListener getErrorListener()

Получить обработчик событий ошибок для TransformerFactory.

abstract boolean getFeature(String name)

Найти значение функции.

abstract URIResolver getURIResolver()

Получить объект, используемый по умолчанию во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.

static TransformerFactory newInstance()

Получить новый экземпляр TransformerFactory.

static TransformerFactory newInstance(String factoryClassName, ClassLoader classLoader)

Получить новый экземпляр TransformerFactory из имени класса фабрики.

abstract Templates newTemplates(Source source)

Обработать исходный документ в объект Templates, который представляет собой скомпилированное представление исходного документа.

abstract Transformer newTransformer()

Создать новый Transformer, который выполняет копирование Source в Result.

abstract Transformer newTransformer(Source source)

Обработать Source в Transformer Object.

abstract void setAttribute(String name, Object value)

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

abstract void setErrorListener(ErrorListener listener)

Установить обработчик событий ошибок для TransformerFactory, который используется для обработки инструкций преобразования, а не для самого преобразования.

abstract void setFeature(String name, boolean value)

Установить функцию для данного TransformerFactory и Transformer или Template созданных этой фабрикой.

abstract void setURIResolver(URIResolver resolver)

Установить объект, используемый по умолчанию во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

TransformerFactory

protected TransformerFactory()

Конструктор по умолчанию намеренно защищён.

Методы

newInstance

public static TransformerFactory newInstance()
                                      throws TransformerFactoryConfigurationError

Получить новый экземпляр TransformerFactory. Этот статический метод создаёт новый экземпляр фабрики.

Этот метод использует следующую упорядоченную процедуру поиска для определения реализации TransformerFactory для загрузки:

  • Использовать системное свойство javax.xml.transform.TransformerFactory.
  • Использовать файл свойств "lib/jaxp.properties" в каталоге JRE. Этот файл конфигурации имеет стандартный java.util.Properties формат и содержит полное квалифицированное имя класса реализации, с ключом, являющимся системным свойством, определённым выше.
    Файл jaxp.properties читается реализацией JAXP только один раз, а его значения кешируются для последующего использования. Если файл не существует при первой попытке чтения из него, дальнейшие попытки проверки его существования не предпринимаются. Изменить значение какого-либо свойства в jaxp.properties после его первого чтения невозможно.
  • Использовать средства загрузки поставщиков услуг, определённые классом ServiceLoader, чтобы попытаться найти и загрузить реализацию сервиса, используя механизм загрузки по умолчанию: механизм загрузки поставщиков услуг будет использовать потоковый класс загрузки контекста для попытки загрузки сервиса. Если класс загрузки контекста равен null, будет использован системный класс загрузки.
  • В противном случае возвращается системная реализация по умолчанию.

После того, как приложение получило ссылку на TransformerFactory, оно может использовать фабрику для конфигурации и получения экземпляров преобразователей.

Возвращает:
новый экземпляр TransformerFactory, никогда не null.
Издаёт:
TransformerFactoryConfigurationError - Выбрасывается в случае ошибки конфигурации службы или если реализация недоступна или не может быть создана.

newInstance

public static TransformerFactory newInstance(String factoryClassName,
                                             ClassLoader classLoader)
                                      throws TransformerFactoryConfigurationError

Получить новый экземпляр TransformerFactory из имени класса фабрики. Эта функция полезна, когда в классе пути существует несколько поставщиков. Она предоставляет больше контроля над приложением, поскольку оно может указать, какой поставщик должен быть загружен.

После того, как приложение получило ссылку на TransformerFactory, оно может использовать фабрику для конфигурации и получения экземпляров преобразователей.

Совет по устранению неполадок

Установка системного свойства jaxp.debug заставит этот метод печатать много отладочных сообщений в System.err о том, что он делает и где ищет.

Если у вас возникли проблемы, попробуйте:

java -Djaxp.debug=1 YourProgram ....
Параметры:
factoryClassName - полное квалифицированное имя класса фабрики, предоставляющее реализацию javax.xml.transform.TransformerFactory.
classLoader - ClassLoader для загрузки класса фабрики. Если null используется текущий Thread класс загрузки контекста для загрузки класса фабрики.
Возвращает:
новый экземпляр TransformerFactory, никогда не null.
Издаёт:
TransformerFactoryConfigurationError - если factoryClassName является null, или класс фабрики не может быть загружен, создан.
С момента:
1.6
См. также:
newInstance()

newTransformer

public abstract Transformer newTransformer(Source source)
                                    throws TransformerConfigurationException

Обработать Source в Transformer Object. Source представляет собой документ XSLT, соответствующий XSL Transformations (XSLT) Version 1.0. Необходимо быть осторожным, чтобы не использовать этот Transformer в нескольких Thread, работающих одновременно. Разные TransformerFactories могут быть использованы одновременно различными Thread.

Параметры:
source - Source документа XSLT, используемого для создания Transformer. Примеры XML Source включают DOMSource, SAXSource и StreamSource.
Возвращает:
объект Transformer, который может быть использован для выполнения преобразования в одном потоке, никогда не null.
Издаёт:
TransformerConfigurationException - Выбрасывается, если при разборе Source возникли ошибки или невозможно создать экземпляр Transformer.
См. также:
XSL Transformations (XSLT) Version 1.0

newTransformer

public abstract Transformer newTransformer()
                                    throws TransformerConfigurationException

Создать новый Transformer, который выполняет копирование Source в Result. То есть "преобразование тождества".

Возвращает:
объект Transformer, который можно использовать для выполнения преобразования в одном потоке, никогда не null.
Издаёт:
TransformerConfigurationException - Когда невозможно создать экземпляр Transformer.

newTemplates

public abstract Templates newTemplates(Source source)
                                throws TransformerConfigurationException

Обработать Source в объект Templates, представляющий собой скомпилированное представление источника. Этот объект Templates можно использовать параллельно в нескольких потоках. Создание объекта Templates позволяет TransformerFactory выполнить подробную оптимизацию производительности инструкций преобразования без наказания времени выполнения преобразования.

Параметры:
source - Объект, содержащий URL, поток ввода и т. д.
Возвращает:
объект Templates, пригодный для преобразования, никогда не null.
Издаёт:
TransformerConfigurationException - При сбое разбора для построения объекта Templates.

getAssociatedStylesheet

public abstract Source getAssociatedStylesheet(Source source,
                                               String media,
                                               String title,
                                               String charset)
                                        throws TransformerConfigurationException

Получить спецификацию(и) таблицы стилей, связанную(ые) с XML-документом Source через инструкцию обработки xml-stylesheet, которые соответствуют заданным критериям. Обратите внимание, что возможно вернуть несколько таблиц стилей, в этом случае они применяются так, как если бы они были списком импортов или каскадов в одной таблице стилей.

Параметры:
source - XML-документ-источник.
media - Атрибут media для сопоставления. Может быть null, в этом случае будут использованы предпочтительные шаблоны (т. е. alternate = no).
title - Значение атрибута title для сопоставления. Может быть null.
charset - Значение атрибута charset для сопоставления. Может быть null.
Возвращает:
объект Source Object, подходящий для передачи в TransformerFactory.
Издаёт:
TransformerConfigurationException - Исключение Exception выбрасывается, если произошла ошибка при разборе source.
См. также:
Associating Style Sheets with XML documents Version 1.0

setURIResolver

public abstract void setURIResolver(URIResolver resolver)

Установить объект, который по умолчанию используется во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.

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

getURIResolver

public abstract URIResolver getURIResolver()

Получить объект, используемый по умолчанию во время преобразования для разрешения URI, используемых в document(), xsl:import или xsl:include.

Возвращает:
URIResolver, установленный с помощью setURIResolver.

setFeature

public abstract void setFeature(String name,
                                boolean value)
                         throws TransformerConfigurationException

Установить функцию для этого TransformerFactory и Transformer или Template созданных этой фабрикой.

Имена функций являются полными квалифицированными URIs. Реализации могут определить свои собственные функции. TransformerConfigurationException будет выброшено, если этот TransformerFactory или Transformer или Template не поддерживают эту функцию. Возможно, TransformerFactory выведет значение функции, но не сможет изменить его состояние.

Все реализации должны поддерживать функцию XMLConstants.FEATURE_SECURE_PROCESSING. При значении функции:

  • true: реализация ограничит обработку XML, чтобы соответствовать пределам реализации и вести себя безопасным образом, как определено реализацией. Примеры включают разрешение пользовательских таблиц стилей и функций. Если обработка XML ограничена по соображениям безопасности, об этом будет сообщено с помощью вызова зарегистрированного ErrorListener.fatalError(TransformerException exception). См. setErrorListener(ErrorListener listener).
  • false: реализация будет обрабатывать XML в соответствии со спецификациями XML без учёта возможных ограничений реализации.
Параметры:
name - Имя функции.
value - Состояние функции true или false.
Издаёт:
TransformerConfigurationException - если этот TransformerFactory или Transformer или Template не поддерживает эту функцию.
NullPointerException - Если параметр name равен null.

getFeature

public abstract boolean getFeature(String name)

Получить значение функции.

Имена функций являются полными квалифицированными URIs. Реализации могут определить свои собственные функции. false возвращается, если этот TransformerFactory или Transformer или Template не поддерживают эту функцию. Возможно, TransformerFactory выведет значение функции, но не сможет изменить его состояние.

Параметры:
name - Имя функции.
Возвращает:
Текущее состояние функции, true или false.
Исключения:
NullPointerException - Если параметр name равен null.

setAttribute

public abstract void setAttribute(String name,
                                  Object value)

Позволяет пользователю установить определенные атрибуты в базовой реализации. Атрибут в данном контексте определен как опция, предоставляемая реализацией. Если базовая реализация не распознает атрибут, будет выброшено исключение IllegalArgumentException.

Все реализации, поддерживающие JAXP 1.5 или более поздние версии, обязаны поддерживать свойства XMLConstants.ACCESS_EXTERNAL_DTD и XMLConstants.ACCESS_EXTERNAL_STYLESHEET.

  • Доступ к внешним DTD в исходном файле ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ будет запрещён во время преобразования из-за ограничения этого свойства, TransformerException будет брошено методом Transformer.transform(Source, Result).

    Доступ к внешним DTD в таблице стилей ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ будет запрещён при создании нового преобразователя из-за ограничения этого свойства, TransformerConfigurationException будет брошено методом newTransformer(Source).

    Доступ к внешним ссылкам, установленным в инструкции обработки таблицы стилей, элементом Import и Include ограничен протоколами, указанными в свойстве XMLConstants.ACCESS_EXTERNAL_STYLESHEET. Если доступ будет запрещён при создании нового преобразователя из-за ограничения этого свойства, TransformerConfigurationException будет брошено методом newTransformer(Source).

    Доступ к внешнему документу через функцию документа XSLT ограничен протоколами, указанными в свойстве. Если доступ будет запрещён во время преобразования из-за ограничения этого свойства, TransformerException будет брошено методом Transformer.transform(Source, Result).

Параметры:
name - Название атрибута.
value - Значение атрибута.
Исключения:
IllegalArgumentException - Когда реализация не распознает атрибут.

getAttribute

public abstract Object getAttribute(String name)

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

Параметры:
name - Имя атрибута.
Возвращает:
Значение атрибута.
Исключения:
IllegalArgumentException - Когда реализация не распознает атрибут.

setErrorListener

public abstract void setErrorListener(ErrorListener listener)

Устанавливает обработчик событий ошибок для TransformerFactory, который используется для обработки инструкций преобразования, а не самого преобразования. Исключение IllegalArgumentException будет выброшено, если обработчик событий ошибок ErrorListener является null.

Параметры:
listener - Новый обработчик ошибок.
Исключения:
IllegalArgumentException - Когда listener является null

getErrorListener

public abstract ErrorListener getErrorListener()

Получить обработчик событий ошибок для TransformerFactory.

Возвращает:
Текущий обработчик ошибок, который никогда не должен быть null.

© 1993, 2020, 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.

Spec-Zone.ru

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