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()
旨在让现有的Transformer
s节约与新Transformer
s创作相关资源的重用。
复位Transformer
不能保证有相同的URIResolver
或ErrorListener
Object
s,例如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.