public abstract class Transformer
extends Object
java.lang.Object | |
↳ | javax.xml.transform.Transformer |
此抽象类的一个实例可以将源树转换为结果树。
这个类的一个实例可以通过TransformerFactory.newTransformer
方法获得。 然后可以使用这个实例来处理来自各种源的XML,并将转换输出写入各种接收器。
该类的一个对象不能用于多个并发运行的线程。 不同的线程可以同时使用不同的变形金刚。
一个Transformer
可能会被多次使用。 参数和输出属性在变换中保留。
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() 将此 |
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 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
ErrorListener getErrorListener ()
获取用于转换的错误事件处理程序。 实现必须提供一个默认的错误侦听器。
Returns | |
---|---|
ErrorListener |
The current error handler, which should never be null. |
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. |
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. |
也可以看看:
Object getParameter (String name)
获取一个用setParameter明确设置的参数。
此方法不会返回默认参数值,在转换过程中评估节点上下文之前无法确定该参数值。
Parameters | |
---|---|
name |
String : of Object to get |
Returns | |
---|---|
Object |
A parameter that has been set with setParameter. |
URIResolver getURIResolver ()
获取将用于解析document()中使用的URI的对象。
Returns | |
---|---|
URIResolver |
An object that implements the URIResolver interface, or null. |
void reset ()
将此 Transformer
重置为其原始配置。
Transformer
被重置为与newTransformer()
newTransformer(Source)
或newTransformer()
创建时相同的状态。 reset()
旨在允许重复使用现有的Transformer
从而节省与创建新的Transformer
相关的资源。
重置Transformer
不保证具有相同的URIResolver
或ErrorListener
Object
,例如equals(Object)
。 它保证有一个功能相同的URIResolver
和ErrorListener
。
void setErrorListener (ErrorListener listener)
将错误事件侦听器设置为对于转换有效。
Parameters | |
---|---|
listener |
ErrorListener : The new error listener. |
Throws | |
---|---|
IllegalArgumentException |
if listener is null. |
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”。 请注意,不使用前缀。
AnIllegalArgumentException
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. |
也可以看看:
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. |
也可以看看:
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. |
void setURIResolver (URIResolver resolver)
设置一个将用于解析document()中使用的URI的对象。
如果解析器参数为空,则URIResolver值将被清除,并且变换器将不再具有解析器。
Parameters | |
---|---|
resolver |
URIResolver : An object that implements the URIResolver interface, or null. |
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. |