|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.xml.transform.Transformer
public abstract class Transformer
此抽象类的实例能够将源树转换为结果树。
可以通过 TransformerFactory.newTransformer
方法获取此类的实例。然后此实例可以用于处理来自不同源的 XML,并将转换输出写入各种接收器。
在多线程同时运行时不能使用此类的对象。不同线程可以同时使用不同的 Transformers。
Transformer
可以多次使用。可以在转换之间保留参数和输出属性。
构造方法摘要 | |
---|---|
protected |
Transformer()
默认构造方法受到有意保护。 |
方法摘要 | |
---|---|
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 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
protected Transformer()
方法详细信息 |
---|
public void reset()
将此 Transformer
重置为其初始配置。
Transformer
被重置为通过 TransformerFactory.newTransformer()
、TransformerFactory.newTransformer(Source source)
或 Templates.newTransformer()
创建时的相同状态。reset()
的设计是为了允许重用现有 Transformer
,以节省与创建新 Transformer
有关的资源。
不保证重置的 Transformer
具有相同的 URIResolver
或 ErrorListener
Object
,例如 Object.equals(Object obj)
。但保证具有功能相同的 URIResolver
和 ErrorListener
。
public abstract void transform(Source xmlSource, Result outputTarget) throws TransformerException
将 XML Source
转换为 Result
。当实例化 Transformer
和对 Transformer
实例进行任何修改时,指定的转换行为由 TransformerFactory
的实际设置确定。
空 Source
表示为由 DocumentBuilder.newDocument()
构造的空文档。空 Source
的转换结果取决于转换行为;结果不总为空 Result
。
xmlSource
- 要转换的 XML 输入。outputTarget
- 转换 xmlSource
的 Result
。
TransformerException
- 如果转换过程中发生不可恢复的错误。public abstract void setParameter(String name, Object value)
以两部分字符串形式传递限定名称,即用花括号括起来的名称空间 URI,后跟本地名称。如果名称中有 null URL,则 String 只包含本地名称。应用程序可以通过测试安全地检查非 null URI,以查看名称的首字符是否为 '{' 字符。
例如,如果 URI 和本地名称是从通过 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定义的元素获取的,则限定名称将为 "{http://xyz.foo.com/yada/baz.html}foo"。注意不使用前缀。
name
- 参数名称,它可以以花括号({})中的名称空间 URI 开始。value
- 值对象。它可以为任何有效的 Java 对象。处理器负责提供正确的对象 coersion,或简单地传递在扩展中使用的对象。
NullPointerException
- 如果值为 null。public abstract Object getParameter(String name)
此方法不返回默认参数值,默认参数值直到在转换过程中计算了节点上下文后才能确定。
name
- 要获取的 Object
public abstract void clearParameters()
public abstract void setURIResolver(URIResolver resolver)
如果解析器参数为 null,则将清除 URIResolver 值,且转换器将不再具有解析器。
resolver
- 实现 URIResolver 接口的对象,或为 null。public abstract URIResolver getURIResolver()
public abstract void setOutputProperties(Properties oformat)
如果此函数的参数为 null,则移除任何以前设置的属性,且值将恢复为 templates 对象中定义的值。
以两部分字符串形式传递限定属性,即用花括号括起来的名称空间 URI,后跟本地名称。如果名称中有 null URL,则 String 只包含本地名称。应用程序可以通过测试安全地检查非 null URI,以查看名称的首字符是否为 '{' 字符。
例如,如果 URI 和本地名称是从通过 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定义的元素获取的,则限定名称将为 "{http://xyz.foo.com/yada/baz.html}foo"。注意不使用前缀。
如果任何参数键不能被识别且不是名称空间限定的,则抛出IllegalArgumentException
。
oformat
- 将用于重写在实际转换中任何相同属性的输出属性集。OutputKeys
,
Properties
public abstract Properties getOutputProperties()
获取转换的输出属性的副本。
返回的属性应包含由用户设置的属性,以及通过 stylesheet 设置的属性,且这些属性将 section 16 of the XSL Transformations (XSLT) W3C Recommendation 所指定的默认属性作为“默认值”。由用户或通过 stylesheet 特定设置的属性应位于基本 Properties 列表中,而未特定设置的 XSLT 默认属性应位于默认的 Properties 列表中。因此,getOutputProperties().getProperty(String key) 将包含通过 setOutputProperty(java.lang.String, java.lang.String)
、setOutputProperties(java.util.Properties)
设置的,或者在 stylesheet 或 默认属性中设置的任何属性,而 getOutputProperties().get(String key) 将只检索通过 setOutputProperty(java.lang.String, java.lang.String)
、setOutputProperties(java.util.Properties)
显式设置的,或在 stylesheet 中显式设置的属性。
注意返回的 Properties 对象的变化将不影响转换器所包含的属性。
如果任何参数键不能被识别且不是名称空间限定的,则属性将被忽略且不返回。换句话说,行为与 setOutputProperties
无关。
OutputKeys
,
Properties
,
XSL Transformations (XSLT) Version 1.0public abstract void setOutputProperty(String name, String value) throws IllegalArgumentException
以两部分字符串形式传递限定属性名称,即用花括号括起来的名称空间 URI,后跟本地名称。如果名称中有 null URL,则 String 只包含本地名称。应用程序可以通过测试安全地检查非 null URI,以查看名称的首字符是否为 '{' 字符。
例如,如果 URI 和本地名称是从通过 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定义的元素获取的,则限定名称将为 "{http://xyz.foo.com/yada/baz.html}foo"。注意不使用前缀。
传递给 setOutputProperties(java.util.Properties)
的 Properties 对象不会受到调用此方法的影响。
name
- 指定了输出属性名称的非 null String,它可以是名称空间限定的。value
- 输出属性的非 null 字符串值。
IllegalArgumentException
- 如果不支持属性,且属性没有通过使名称空间限定。OutputKeys
public abstract String getOutputProperty(String name) throws IllegalArgumentException
name
- 指定了输出属性名称的非 null String,它可以是名称空间限定的。
IllegalArgumentException
- 如果不支持属性。OutputKeys
public abstract void setErrorListener(ErrorListener listener) throws IllegalArgumentException
listener
- 新错误侦听器。
IllegalArgumentException
- 如果侦听器为 null。public abstract ErrorListener getErrorListener()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。