public abstract class Transformer extends Object
这个类的实例可以与TransformerFactory.newTransformer方法得到的。然后,此实例可以用来处理来自各种源的XML,并将转换输出写入到各种接收器中。
此类的一个对象可能不被用于同时运行的多个线程中。不同的线程可以同时使用不同的变压器。
一个Transformer可多次使用。参数和输出属性被保存在转换中。
| Modifier | Constructor and Description |
|---|---|
protected |
Transformer()
默认构造函数的保护。
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
clearParameters()
明确设置所有参数设置参数。
|
abstract ErrorListener |
getErrorListener()
获取对转换的错误事件处理程序。
|
abstract Properties |
getOutputProperties()
获取转换的输出属性的副本。
|
abstract String |
getOutputProperty(String name)
获取对变压器的影响的输出属性。
|
abstract Object |
getParameter(String name)
得到一个参数,明确设置设置参数。
|
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。
|
public void reset()
这Transformer复位到原来的配置。
Transformer设置为相同的状态时,它的创建与TransformerFactory.newTransformer(),TransformerFactory.newTransformer(Source source)或Templates.newTransformer()。reset()旨在让现有的Transformers节约与新Transformers创作相关资源的重用。
复位Transformer不能保证有相同的URIResolver或ErrorListener Objects,例如Object.equals(Object obj)。这是保证有一个功能相同的URIResolver和ErrorListener。
UnsupportedOperationException当实施不重写这个方法。
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 -如果转换过程中出现的一个不可恢复的错误。
public abstract void setParameter(String name, Object value)
通过一个合格的名称作为一个两部分的字符串,用花括号括起来的命名空间URI({ }),其次是本地名称。如果名称有一个空的网址,字符串只包含本地名称。应用程序可以安全地检查一个非空URI通过测试看看名称的第一个字符是一个“{”字符。
例如,如果一个URI和本地从<< XYZ元素定义了名称:foo xmlns:XYZ =“http:/ / XYZ。foo。COM /亚/巴兹.html”/>,然后合格的名称将是“{ HTTP:/ / XYZ。foo。COM /亚/巴兹HTML } foo”。请注意,没有前缀。
name -参数的名称,它可以在大括号({})命名空间URI。
value的价值目标。这可以是任何有效的java对象。它是由处理器提供的适当对象转换或简单地通过对象中使用的扩展。
NullPointerException如果值为空。
public abstract Object getParameter(String name)
此方法不返回一个默认的参数值,它不能被确定,直到在转换过程中的节点上下文进行评估。
Object得到
name -
public abstract void clearParameters()
public abstract void setURIResolver(URIResolver resolver)
如果解析器参数为null,URIResolver值将被清除,将不再有一个解析器。
resolver URIResolver -实现接口的对象,或空。
public abstract URIResolver getURIResolver()
public abstract void setOutputProperties(Properties oformat)
如果此函数的参数为空,则先前设置的任何属性都将被删除,并且该值将还原为模板对象中定义的值。
通过一个合格的性能关键的名字由两部分组成的字符串,用花括号括起来的命名空间URI({ }),其次是本地名称。如果名称有一个空的网址,字符串只包含本地名称。应用程序可以安全地检查一个非空URI通过测试看看名称的第一个字符是一个“{”字符。
例如,如果一个URI和本地从<< XYZ元素定义了名称:foo xmlns:XYZ =“http:/ / XYZ。foo。COM /亚/巴兹.html”/>,然后合格的名称将是“{ HTTP:/ / XYZ。foo。COM /亚/巴兹HTML } foo”。请注意,没有前缀。
一IllegalArgumentException是如果任何参数键不认可不合格被命名空间。
oformat -一套将用于覆盖所有的变换的影响同一性质的输出特性。
IllegalArgumentException当钥匙不认可、不限定的命名空间。
OutputKeys,
Properties
public abstract Properties getOutputProperties()
获取转换的输出属性的副本。
返回的属性应包含属性,由用户设置,和设置的属性的样式表,这些性质是“违约”的默认属性指定的section 16 of the XSL Transformations (XSLT) W3C Recommendation。特别是由用户设置或样式表属性应该在基础属性列表,而XSLT默认属性中没有具体的设置应默认的属性列表。因此,getoutputproperties()。getProperty(字符串键)将获得的任何财产,是由setOutputProperty(java.lang.String, java.lang.String),setOutputProperties(java.util.Properties),在样式表中,或默认的属性,而getoutputproperties()。把(字符串键)仅检索被setOutputProperty(java.lang.String, java.lang.String),setOutputProperties(java.util.Properties)明确设置属性或样式表。
请注意,返回的属性对象的突变不会影响变压器所包含的属性。
如果任何参数键不被识别,并且没有命名空间限定,该属性将被忽略,而不是返回。换句话说,行为是不正交的setOutputProperties。
OutputKeys,
Properties,
XSL Transformations (XSLT) Version 1.0
public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException
通过一个合格的属性名称是一个两部分的字符串,用花括号括起来的命名空间URI({ }),其次是本地名称。如果名称有一个空的网址,字符串只包含本地名称。应用程序可以安全地检查一个非空URI通过测试看看名称的第一个字符是一个“{”字符。
例如,如果一个URI和本地从<< XYZ元素定义了名称:foo xmlns:XYZ =“http:/ / XYZ。foo。COM /亚/巴兹.html”/>,然后合格的名称将是“{ HTTP:/ / XYZ。foo。COM /亚/巴兹HTML } foo”。请注意,没有前缀。
性能对象,通过对setOutputProperties(java.util.Properties)不会调用这个方法的影响。
name -一个非空的字符串,指定输出的属性名称,可以是命名空间限定。
value -输出属性的非空字符串值。
IllegalArgumentException -如果属性是不支持的,并不是一个合格的命名空间。
OutputKeys
public abstract String getOutputProperty(String name) throws IllegalArgumentException
获取对变压器的影响的输出属性。
如果一个属性已经被设置为使用setOutputProperty(java.lang.String, java.lang.String),该值将返回。否则,如果一个属性是在样式表中明确规定,该值将返回。如果属性的值已经违约,即如果没有价值被显式地设置与setOutputProperty(java.lang.String, java.lang.String)或在样式表中,结果可能会有所不同取决于执行和输入的样式表。
name -一个非空的字符串,指定输出的属性名称,可以是命名空间限定。
IllegalArgumentException如果物业不支持。
OutputKeys
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
listener -新错误的倾听者。
IllegalArgumentException如果听众是空的。
public abstract ErrorListener getErrorListener()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.