Most visited

Recently visited

Added in API level 8

Transformer

public abstract class Transformer
extends Object

java.lang.Object
   ↳ javax.xml.transform.Transformer


此抽象类的一个实例可以将源树转换为结果树。

这个类的一个实例可以通过TransformerFactory.newTransformer方法获得。 然后可以使用这个实例来处理来自各种源的XML,并将转换输出写入各种接收器。

该类的一个对象不能用于多个并发运行的线程。 不同的线程可以同时使用不同的变形金刚。

一个Transformer可能会被多次使用。 参数和输出属性在变换中保留。

Summary

Protected constructors

Transformer()

默认的构造函数是有意保护的。

Public methods

abstract void clearParameters()

清除setParameter设置的所有参数。

abstract ErrorListener getErrorListener()

获取用于转换的错误事件处理程序。

abstract Properties getOutputProperties()

获取转换的输出属性的副本。

abstract String getOutputProperty(String name)

获取对变压器有效的输出属性。

abstract Object getParameter(String name)

获取一个用setParameter明确设置的参数。

abstract URIResolver getURIResolver()

获取将用于解析document()中使用的URI的对象。

void reset()

将此 Transformer重置为其原始配置。

abstract void setErrorListener(ErrorListener listener)

将错误事件侦听器设置为对于转换有效。

abstract void setOutputProperties(Properties oformat)

设置转换的输出属性。

abstract void setOutputProperty(String name, String value)

设置一个将用于转换的输出属性。

abstract void setParameter(String name, Object value)

为转换添加一个参数。

abstract void setURIResolver(URIResolver resolver)

设置一个将用于解析document()中使用的URI的对象。

abstract void transform(Source xmlSource, Result outputTarget)

将XML Source转换为 Result

Inherited methods

From class java.lang.Object

Protected constructors

Transformer

Added in API level 8
Transformer ()

默认的构造函数是有意保护的。

Public methods

clearParameters

Added in API level 8
void clearParameters ()

清除setParameter设置的所有参数。

getErrorListener

Added in API level 8
ErrorListener getErrorListener ()

获取用于转换的错误事件处理程序。 实现必须提供一个默认的错误侦听器。

Returns
ErrorListener The current error handler, which should never be null.

getOutputProperties

Added in API level 8
Properties getOutputProperties ()

获取转换的输出属性的副本。

返回的属性应该包含由用户设置的属性和由样式表设置的属性,这些属性由默认属性section 16 of the XSL Transformations (XSLT) W3C Recommendation指定“默认”。 用户或样式表专门设置的属性应位于基本属性列表中,而未明确设置的XSLT默认属性应为默认属性列表。 因此,的getOutputProperties()的getProperty(String键)将在取得任何财产被设置setOutputProperty(String, String)setOutputProperties(Properties) ,在样式表, 默认属性,而的getOutputProperties()得到(String键)将只检索了明确的性质通过设置setOutputProperty(String, String)setOutputProperties(Properties) ,或在样式表。

请注意,返回的Properties对象的变异不会影响变换器包含的属性。

如果任何参数键未被识别并且不是名称空间限定的,则该属性将被忽略并且不被返回。 换句话说,行为不与setOutputProperties正交。

Returns
Properties A copy of the set of output properties in effect for the next transformation.

也可以看看:

getOutputProperty

Added in API level 8
String getOutputProperty (String name)

获取对变压器有效的输出属性。 指定的属性可以是使用setOutputProperty设置的属性,也可以是样式表中指定的属性。

Parameters
name String: A non-null String that specifies an output property name, which may be namespace qualified.
Returns
String The string value of the output property, or null if no property was found.
Throws
IllegalArgumentException If the property is not supported.

也可以看看:

getParameter

Added in API level 8
Object getParameter (String name)

获取一个用setParameter明确设置的参数。

此方法不会返回默认参数值,在转换过程中评估节点上下文之前无法确定该参数值。

Parameters
name String: of Object to get
Returns
Object A parameter that has been set with setParameter.

getURIResolver

Added in API level 8
URIResolver getURIResolver ()

获取将用于解析document()中使用的URI的对象。

Returns
URIResolver An object that implements the URIResolver interface, or null.

reset

Added in API level 8
void reset ()

将此 Transformer重置为其原始配置。

Transformer被重置为与newTransformer() newTransformer(Source)newTransformer()创建时相同的状态。 reset()旨在允许重复使用现有的Transformer从而节省与创建新的Transformer相关的资源。

重置Transformer不保证具有相同的URIResolverErrorListener Object ,例如equals(Object) 它保证有一个功能相同的URIResolverErrorListener

setErrorListener

Added in API level 8
void setErrorListener (ErrorListener listener)

将错误事件侦听器设置为对于转换有效。

Parameters
listener ErrorListener: The new error listener.
Throws
IllegalArgumentException if listener is null.

setOutputProperties

Added in API level 8
void setOutputProperties (Properties oformat)

设置转换的输出属性。 这些属性将覆盖具有xsl:output的模板中设置的属性。

如果此函数的参数为null,则先前设置的任何属性都将被删除,并且该值将恢复为模板对象中定义的值。

将限定属性密钥名称作为两部分字符串传递,名称空间URI用大括号({})括起来,后跟本地名称。 如果名称具有空URL,则该字符串仅包含本地名称。 应用程序可以通过测试以确定名称的第一个字符是否为'{'字符,从而安全地检查非空URI。

例如,如果从使用<xyz:foo xmlns:xyz =“http://xyz.foo.com/yada/baz.html”/>定义的元素获取URI和本地名称,则限定名称将是“{http://xyz.foo.com/yada/baz.html}foo”。 请注意,不使用前缀。

An IllegalArgumentException is thrown if any of the argument keys are not recognized and are not namespace qualified.

Parameters
oformat Properties: A set of output properties that will be used to override any of the same properties in affect for the transformation.

也可以看看:

setOutputProperty

Added in API level 8
void setOutputProperty (String name, 
                String value)

设置一个将用于转换的输出属性。

将限定属性名称作为两部分字符串传递,命名空间URI用大括号({})括起来,后跟本地名称。 如果名称具有空URL,则该字符串仅包含本地名称。 应用程序可以通过测试以确定名称的第一个字符是否为'{'字符,从而安全地检查非空URI。

例如,如果从使用<xyz:foo xmlns:xyz =“http://xyz.foo.com/yada/baz.html”/>定义的元素获取URI和本地名称,则限定名称将是“{http://xyz.foo.com/yada/baz.html}foo”。 请注意,不使用前缀。

通过调用此方法不会影响传递给 setOutputProperties(Properties)的Properties对象。

Parameters
name String: A non-null String that specifies an output property name, which may be namespace qualified.
value String: The non-null string value of the output property.
Throws
IllegalArgumentException If the property is not supported, and is not qualified with a namespace.

也可以看看:

setParameter

Added in API level 8
void setParameter (String name, 
                Object value)

为转换添加一个参数。

将限定名称作为两部分字符串传递,名称空间URI包含在花括号({})中,后跟本地名称。 如果名称具有空URL,则该字符串仅包含本地名称。 应用程序可以通过测试以确定名称的第一个字符是否为'{'字符,从而安全地检查非空URI。

例如,如果从使用<xyz:foo xmlns:xyz =“http://xyz.foo.com/yada/baz.html”/>定义的元素获取URI和本地名称,则限定名称将是“{http://xyz.foo.com/yada/baz.html}foo”。 请注意,不使用前缀。

Parameters
name String: The name of the parameter, which may begin with a namespace URI in curly braces ({}).
value Object: The value object. This can be any valid Java object. It is up to the processor to provide the proper object coercion or to simply pass the object on for use in an extension.
Throws
NullPointerException If value is null.

setURIResolver

Added in API level 8
void setURIResolver (URIResolver resolver)

设置一个将用于解析document()中使用的URI的对象。

如果解析器参数为空,则URIResolver值将被清除,并且变换器将不再具有解析器。

Parameters
resolver URIResolver: An object that implements the URIResolver interface, or null.

transform

Added in API level 8
void transform (Source xmlSource, 
                Result outputTarget)

将XML Source转换为Result Transformer被实例化并且对Transformer实例进行了任何修改时,具体转换行为由TransformerFactory的设置确定。

Source表示为由newDocument()构建的空文档。 变换空白Source的结果取决于变换行为; 它并不总是空的Result

Parameters
xmlSource Source: The XML input to transform.
outputTarget Result: The Result of transforming the xmlSource.
Throws
TransformerException If an unrecoverable error occurs during the course of the transformation.

Hooray!