java.lang.Objectjavax.xml.transform.TransformerFactory

Subclases conocidas directas:
SAXTransformerFactory
public abstract class TransformerFactory
extends Object

Se puede utilizar una instancia de TransformerFactory para crear Transformer y Templates objetos.

La propiedad del sistema que determina qué implementación de fábrica crear se denomina "javax.xml.transform.TransformerFactory". Esta propiedad nombra una subclase concreta del TransformerFactory clase abstracta. Si la propiedad no está definida, se utiliza una plataforma predeterminada.

Ya que:
1,5

Resumen del constructor

Constructores
Modificador Constructor Descripción
protected TransformerFactory() El constructor predeterminado está protegido a propósito.

Resumen del método

Modificador y tipo Método Descripción
abstract Source getAssociatedStylesheet​(Source source,
String media,
String title,
String charset)
Obtenga las especificaciones de la hoja de estilo asociadas con el XML Source documento a través del instrucción de procesamiento de hoja de estilo xml que coincidan con los criterios dados.
abstract Object getAttribute​(String name) Permite al usuario recuperar atributos específicos de la implementación subyacente.
abstract ErrorListener getErrorListener() Obtenga el controlador de eventos de error para TransformerFactory.
abstract boolean getFeature​(String name) Busque el valor de una característica.
abstract URIResolver getURIResolver() Obtenga el objeto que se utiliza de forma predeterminada durante la transformación para resolver los URI utilizados en document (), xsl: import o xsl: include.
static TransformerFactory newDefaultInstance() Crea una nueva instancia del TransformerFactory implementación predeterminada del sistema incorporada.
static TransformerFactory newInstance() Obtenga una nueva instancia de TransformerFactory.
static TransformerFactory newInstance​(String factoryClassName,
ClassLoader classLoader)
Obtenga una nueva instancia de TransformerFactory del nombre de la clase de fábrica.
abstract Templates newTemplates​(Source source) Procese la fuente en un objeto de plantillas, que es una representación compilada de la fuente.
abstract Transformer newTransformer() Crear un nuevo Transformer que realiza una copia del Source al Result, es decir, el “transformación de identidad“.
abstract Transformer newTransformer​(Source source) Procesar el Source en un TransformerObject.
abstract void setAttribute​(String name,
Object value)
Permite al usuario establecer atributos específicos en la implementación subyacente.
abstract void setErrorListener​(ErrorListener listener) Establezca el detector de eventos de error para TransformerFactory, que se utiliza para el procesamiento de instrucciones de transformación, y no para la transformación en sí.
abstract void setFeature​(String name,
boolean value)
Establecer una función para esto TransformerFactory y Transformers o Templates creado por esta fábrica.
abstract void setURIResolver​(URIResolver resolver) Establezca un objeto que se utilice de forma predeterminada durante la transformación para resolver los URI utilizados en document (), xsl: import o xsl: include.

Métodos declarados en la clase java.lang.Object

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

Detalles del constructor

protectedTransformerFactory()

El constructor predeterminado está protegido a propósito.

Detalles del método

newDefaultInstance

publicstaticTransformerFactorynewDefaultInstance()

Crea una nueva instancia del TransformerFactory implementación predeterminada del sistema incorporada.

Devoluciones:
Una nueva instancia del TransformerFactory implementación predeterminada del sistema incorporada.
Ya que:
9

nueva instancia

publicstaticTransformerFactorynewInstance()throwsTransformerFactoryConfigurationError

Obtenga una nueva instancia de TransformerFactory. Este método estático crea una nueva instancia de fábrica.

Este método utiliza el siguiente procedimiento de búsqueda ordenada para determinar la TransformerFactory clase de implementación para cargar:

  • Utilizar el javax.xml.transform.TransformerFactory propiedad del sistema.
  • Utilice el archivo de configuración “jaxp.properties”. El archivo está en estándar Properties formato y normalmente se encuentra en el conf directorio de la instalación de Java. Contiene el nombre completo de la clase de implementación y la clave es la propiedad del sistema definida anteriormente.

    La implementación de JAXP lee el archivo jaxp.properties solo una vez y sus valores se almacenan en caché para uso futuro. Si el archivo no existe cuando se hace el primer intento de leerlo, no se realizan más intentos para verificar su existencia. No es posible cambiar el valor de ninguna propiedad en jaxp.properties después de que se haya leído por primera vez.

  • Utilice la función de carga del proveedor de servicios, definida por el ServiceLoader class, para intentar localizar y cargar una implementación del servicio utilizando el mecanismo de carga predeterminado: la función de carga del proveedor de servicios utilizará el cargador de clases de contexto del hilo actual para intentar cargar el servicio. Si el cargador de clases de contexto es nulo, se utilizará el cargador de clases del sistema.

  • De lo contrario, se devuelve la implementación predeterminada del sistema.

Una vez que una aplicación ha obtenido una referencia a un TransformerFactory puede usar la fábrica para configurar y obtener instancias de transformadores.

Devoluciones:
nueva instancia de TransformerFactory, nunca nula.
Lanza:
TransformerFactoryConfigurationError – Lanzado en caso de error de configuración del servicio o si la implementación no está disponible o no se puede instanciar.

nueva instancia

publicstaticTransformerFactory newInstance​(String factoryClassName,ClassLoader classLoader)throwsTransformerFactoryConfigurationError

Obtenga una nueva instancia de TransformerFactory del nombre de la clase de fábrica. Esta función es útil cuando hay varios proveedores en la ruta de clases. Le da más control a la aplicación, ya que puede especificar qué proveedor debe cargarse.

Una vez que una aplicación ha obtenido una referencia a un TransformerFactory puede usar la fábrica para configurar y obtener instancias de transformadores.

Sugerencia para la resolución de problemas

Establecer el jaxp.debug La propiedad del sistema hará que este método imprima muchos mensajes de depuración para System.err sobre lo que está haciendo y hacia dónde está mirando.

Si tiene problemas, intente:

 java -Djaxp.debug=1 YourProgram ....
 
Parámetros:
factoryClassName – nombre de clase de fábrica totalmente calificado que proporciona implementación de javax.xml.transform.TransformerFactory.
classLoaderClassLoader utilizado para cargar la clase de fábrica. Si null Actual ThreadEl cargador de clases de contexto se utiliza para cargar la clase de fábrica.
Devoluciones:
nueva instancia de TransformerFactory, nunca nula.
Lanza:
TransformerFactoryConfigurationError – si factoryClassName es null, o la clase de fábrica no se puede cargar, instanciar.
Ya que:
1,6
Ver también:
newInstance()

nuevo transformador

publicabstractTransformer newTransformer​(Source source)throwsTransformerConfigurationException

Procesar el Source en un TransformerObject. los Source es un documento XSLT que cumple con Transformaciones XSL (XSLT) Versión 1.0. Se debe tener cuidado de no utilizar este Transformer en múltiples Threads ejecutándose al mismo tiempo. Diferente TransformerFactories puede ser utilizado al mismo tiempo por diferentes Threads.

Parámetros:
sourceSource del documento XSLT utilizado para crear Transformer. Ejemplos de XML Sources incluyen DOMSource, SAXSource, y StreamSource.
Devoluciones:
A Transformer objeto que se puede utilizar para realizar una transformación en un solo Thread, Nunca null.
Lanza:
TransformerConfigurationException – Lanzado si hay errores al analizar el Source o no es posible crear un Transformer ejemplo.
Ver también:
Transformaciones XSL (XSLT) Versión 1.0

nuevo transformador

publicabstractTransformernewTransformer()throwsTransformerConfigurationException

Crear un nuevo Transformer que realiza una copia del Source al Result, es decir, el “transformación de identidad“.

Devoluciones:
Un objeto Transformer que se puede usar para realizar una transformación en un solo hilo, nunca nulo.
Lanza:
TransformerConfigurationException – Cuando no es posible crear un Transformer ejemplo.

newTemplates

publicabstractTemplates newTemplates​(Source source)throwsTransformerConfigurationException

Procese la fuente en un objeto de plantillas, que es una representación compilada de la fuente. Este objeto de plantillas se puede utilizar simultáneamente en varios subprocesos. La creación de un objeto Templates permite a TransformerFactory realizar una optimización detallada del rendimiento de las instrucciones de transformación, sin penalizar la transformación en tiempo de ejecución.

Parámetros:
source – Un objeto que contiene una URL, flujo de entrada, etc.
Devoluciones:
Un objeto Templates que se puede utilizar con fines de transformación, nunca null.
Lanza:
TransformerConfigurationException – Cuando falla el análisis para construir el objeto Plantillas.

getAssociatedStylesheet

publicabstractSource getAssociatedStylesheet​(Source source,String media,String title,String charset)throwsTransformerConfigurationException

Obtenga las especificaciones de la hoja de estilo asociadas con el XML Source documento a través del instrucción de procesamiento de hoja de estilo xml que coincidan con los criterios dados. Tenga en cuenta que es posible devolver varias hojas de estilo, en cuyo caso se aplican como si fueran una lista de importaciones o cascadas en una sola hoja de estilo.

Parámetros:
source – El documento fuente XML.
media – El atributo de medios que se va a comparar. Puede ser nulo, en cuyo caso se utilizarán las plantillas preferidas (es decir, alternate = no).
title – El valor del atributo de título que debe coincidir. Puede ser nulo.
charset – El valor del atributo charset para que coincida. Puede ser nulo.
Devoluciones:
A SourceObject apto para pasar al TransformerFactory.
Lanza:
TransformerConfigurationException – Un Exception se lanza si se produce un error durante el análisis del source.
Ver también:
Asociación de hojas de estilo con documentos XML Versión 1.0

setURIResolver

publicabstractvoid setURIResolver​(URIResolver resolver)

Establezca un objeto que se utilice de forma predeterminada durante la transformación para resolver los URI utilizados en document (), xsl: import o xsl: include.

Parámetros:
resolver – Un objeto que implementa la interfaz URIResolver, o nulo.

getURIResolver

publicabstractURIResolvergetURIResolver()

Obtenga el objeto que se utiliza de forma predeterminada durante la transformación para resolver los URI utilizados en document (), xsl: import o xsl: include.

Devoluciones:
El URIResolver que se configuró con setURIResolver.

setFeature

publicabstractvoid setFeature​(String name,boolean value)throwsTransformerConfigurationException

Establecer una función para esto TransformerFactory y Transformers o Templates creado por esta fábrica.

Los nombres de las funciones están completamente calificados URIs. Las implementaciones pueden definir sus propias características. Un TransformerConfigurationException se lanza si esto TransformerFactory o la Transformers o TemplateLos s que crea no pueden admitir la función. Es posible que un TransformerFactory para exponer un valor de característica pero no poder cambiar su estado.

Todas las implementaciones son necesarias para admitir XMLConstants.FEATURE_SECURE_PROCESSING característica. Cuando la característica es:

  • true: la implementación limitará el procesamiento XML para ajustarse a los límites de implementación y se comportará de manera segura según lo definido por la implementación. Los ejemplos incluyen la resolución de funciones y hojas de estilo definidas por el usuario. Si el procesamiento de XML está limitado por razones de seguridad, se informará mediante una llamada al registrado. ErrorListener.fatalError(TransformerException exception). Ver setErrorListener(ErrorListener listener).
  • false: la implementación procesará XML de acuerdo con las especificaciones XML sin tener en cuenta los posibles límites de implementación.
Parámetros:
name – Nombre de la función.
value – Es el estado de la característica true o false.
Lanza:
TransformerConfigurationException – si esto TransformerFactory o la Transformers o TemplateLos s que crea no pueden admitir esta función.
NullPointerException – Si el name el parámetro es nulo.

getFeature

publicabstractboolean getFeature​(String name)

Busque el valor de una característica.

Los nombres de las funciones están completamente calificados URIs. Las implementaciones pueden definir sus propias características. false se devuelve si esto TransformerFactory o la Transformers o TemplateLos s que crea no pueden admitir la función. Es posible que un TransformerFactory para exponer un valor de característica pero no poder cambiar su estado.

Parámetros:
name – Nombre de la función.
Devoluciones:
El estado actual de la función, true o false.
Lanza:
NullPointerException – Si el name el parámetro es nulo.

setAttribute

publicabstractvoid setAttribute​(String name,Object value)

Permite al usuario establecer atributos específicos en la implementación subyacente. Un atributo en este contexto se define como una opción que proporciona la implementación. Un IllegalArgumentException se lanza si la implementación subyacente no reconoce el atributo.

Todas las implementaciones que implementan JAXP 1.5 o posterior son necesarias para admitir el XMLConstants.ACCESS_EXTERNAL_DTD y XMLConstants.ACCESS_EXTERNAL_STYLESHEET propiedades.

  • El acceso a DTD externas en el archivo de origen está restringido a los protocolos especificados por el XMLConstants.ACCESS_EXTERNAL_DTD propiedad. Si se deniega el acceso durante la transformación debido a la restricción de esta propiedad, TransformerException será arrojado por Transformer.transform(Source, Result).

    El acceso a DTD externas en la hoja de estilo está restringido a los protocolos especificados por el XMLConstants.ACCESS_EXTERNAL_DTD propiedad. Si se deniega el acceso durante la creación de un nuevo transformador debido a la restricción de esta propiedad, TransformerConfigurationException será arrojado por el newTransformer(Source) método.

    El acceso a la referencia externa establecida por la instrucción de procesamiento de la hoja de estilo, el elemento Importar e Incluir está restringido a los protocolos especificados por el XMLConstants.ACCESS_EXTERNAL_STYLESHEET propiedad. Si se deniega el acceso durante la creación de un nuevo transformador debido a la restricción de esta propiedad, TransformerConfigurationException será arrojado por el newTransformer(Source) método.

    El acceso al documento externo a través de la función de documento XSLT está restringido a los protocolos especificados por la propiedad. Si se deniega el acceso durante la transformación debido a la restricción de esta propiedad, TransformerException será arrojado por el Transformer.transform(Source, Result) método.

Parámetros:
name – El nombre del atributo.
value – El valor del atributo.
Lanza:
IllegalArgumentException – Cuando la implementación no reconoce el atributo.

getAttribute

publicabstractObject getAttribute​(String name)

Permite al usuario recuperar atributos específicos de la implementación subyacente. Un IllegalArgumentException se lanza si la implementación subyacente no reconoce el atributo.

Parámetros:
name – El nombre del atributo.
Devoluciones:
valor El valor del atributo.
Lanza:
IllegalArgumentException – Cuando la implementación no reconoce el atributo.

setErrorListener

publicabstractvoid setErrorListener​(ErrorListener listener)

Establezca el detector de eventos de error para TransformerFactory, que se utiliza para el procesamiento de instrucciones de transformación, y no para la transformación en sí. Un IllegalArgumentException se lanza si el ErrorListener el oyente es null.

Parámetros:
listener – El nuevo oyente de errores.
Lanza:
IllegalArgumentException – Cuando listener es null

getErrorListener

publicabstractErrorListenergetErrorListener()

Obtenga el controlador de eventos de error para TransformerFactory.

Devoluciones:
El controlador de errores actual, que nunca debe ser nulo.