|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.xml.transform.TransformerFactory
public abstract class TransformerFactory
TransformerFactory 实例可用于创建 Transformer 和 Templates 对象。
确定要创建的哪一个 Factory 实现被命名为 "javax.xml.transform.TransformerFactory" 的系统属性。此属性命名了 TransformerFactory 抽象类的一个具体子类。如果未定义此属性,则使用平台默认的属性。
| 构造方法摘要 | |
|---|---|
protected |
TransformerFactory()
默认构造方法受到有意保护。 |
| 方法摘要 | |
|---|---|
abstract Source |
getAssociatedStylesheet(Source source,
String media,
String title,
String charset)
通过与给定标准匹配的 xml 样式表的处理指令 获取与 XML Source 文档关联的样式表规范(或多个规范)。 |
abstract Object |
getAttribute(String name)
允许用户在底层实现上检索指定属性。 |
abstract ErrorListener |
getErrorListener()
获取 TransformerFactory 的错误事件处理程序。 |
abstract boolean |
getFeature(String name)
查找功能值。 |
abstract URIResolver |
getURIResolver()
获取在转换过程中默认用于解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的对象。 |
static TransformerFactory |
newInstance()
获取 TransformerFactory 的新实例。 |
static TransformerFactory |
newInstance(String factoryClassName,
ClassLoader classLoader)
根据类名称获得一个新 TransformerFactory 实例。 |
abstract Templates |
newTemplates(Source source)
将 Source 处理为 Templates 对象,后者是源的编译后表示形式。 |
abstract Transformer |
newTransformer()
创建执行从 Source 到 Result 的复制的新 Transformer。 |
abstract Transformer |
newTransformer(Source source)
将 Source 处理为 Transformer Object。 |
abstract void |
setAttribute(String name,
Object value)
允许用户设置底层实现上的指定属性。 |
abstract void |
setErrorListener(ErrorListener listener)
设置此 TransformerFactory 的错误事件侦听器,它将用于转换指令的处理,而不用于转换本身。 |
abstract void |
setFeature(String name,
boolean value)
设置通过此工厂创建的此 TransformerFactory 和 Transformer 或 Template 的功能。 |
abstract void |
setURIResolver(URIResolver resolver)
设置在转换过程中默认用于解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的对象。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
protected TransformerFactory()
| 方法详细信息 |
|---|
public static TransformerFactory newInstance()
throws TransformerFactoryConfigurationError
获取 TransformerFactory 的新实例。此静态方法创建新的工厂实例。此方法使用以下顺序的查找程序来确定要加载的 TransformerFactory 实现类:
javax.xml.transform.TransformerFactory 系统属性。
java.util.Properties 且包含实现类的完全限定名,其中实现类的键是上述定义的系统属性。
JAXP 实现只读取一次 jaxp.properties 文件,然后缓存其值供以后使用。如果首次尝试读取文件时,文件不存在,则不会再次尝试检查该文件是否存在。首次读取 jaxp.properties 后,其中的属性值不能再更改。
META-INF/services/javax.xml.transform.TransformerFactory 中的类名称。
TransformerFactory 实例。
在应用程序已获取对 TransformerFactory 的引用后,它可以使用工厂来配置和获取转换器实例。
TransformerFactoryConfigurationError - 如果实现不可用或不能被实例化。
public static TransformerFactory newInstance(String factoryClassName,
ClassLoader classLoader)
throws TransformerFactoryConfigurationError
根据类名称获得一个新 TransformerFactory 实例。当类路径中有多个提供者时此功能很有用。它给了应用程序更多的控制权,因为它能指定应该加载哪个提供者。
在应用程序已获取对 TransformerFactory 的引用后,它可以使用工厂来配置和获取转换器实例。
设置 jaxp.debug 系统属性将导致此方法将许多调试消息打印到 System.err,以说明其执行的操作以及在何处查找这些操作。
如有问题,请尝试:
java -Djaxp.debug=1 YourProgram ....
factoryClassName - 完全限定工厂类名称,提供 javax.xml.transform.TransformerFactory 的实现。classLoader - 用来加载工厂类的 ClassLoader。如果为 null,则使用当前 Thread 的上下文 classLoader 来加载工厂类。
TransformerFactoryConfigurationError - 如果 factoryClassName 为 null,或者不能加载或实例化工厂类。newInstance()
public abstract Transformer newTransformer(Source source)
throws TransformerConfigurationException
将 Source 处理为 Transformer Object。Source 是遵守 XSL Transformations (XSLT) Version 1.0 的 XSLT 文档。必须注意的是,在多个 Thread 并发运行中不能使用此 Transformer。不同 Thread 可以并发使用不同的 TransformerFactories。
用于创建 - Transformer 的 XSLT 文档的源 Source。XML Source 的示例包括 DOMSource、SAXSource 和 StreamSource。
Thread 中执行转换的 Transformer 对象,永远不能返回 null。
TransformerConfigurationException - 如果当解析 Source 时发生错误,或不能创建 Transformer 实例。
public abstract Transformer newTransformer()
throws TransformerConfigurationException
创建执行从 Source 到 Result 的复制的新 Transformer。即 "identity transform"。
TransformerConfigurationException - 当不能创建 Transformer 实例时。
public abstract Templates newTemplates(Source source)
throws TransformerConfigurationException
source - 保持 URL、输入流等的对象。
null。
TransformerConfigurationException - 当对构造 Templates 对象进行解析失败时。
public abstract Source getAssociatedStylesheet(Source source,
String media,
String title,
String charset)
throws TransformerConfigurationException
通过与给定标准匹配的 xml 样式表的处理指令 获取与 XML Source 文档关联的样式表规范(或多个规范)。注意,可能返回几个样式表,在这种情况下它们作为导入列表或单个样式表中的层叠列表来使用。
source - XML 源文档。media - 要匹配的介质属性。可以为 null,此时将使用首选的 template(即 alternate = no)。title - 要匹配的标题属性值。可以为 null。charset - 要匹配的字符集属性值。可以为 null。
TransformerFactory 的 Source Object。
TransformerConfigurationException - 如果 source 的解析过程中发生错误,则抛出 Exception。public abstract void setURIResolver(URIResolver resolver)
resolver - 实现 URIResolver 接口的对象,或为 null。public abstract URIResolver getURIResolver()
public abstract void setFeature(String name,
boolean value)
throws TransformerConfigurationException
设置通过此工厂创建的此 TransformerFactory 和 Transformer 或 Template 的功能。
功能名称是完全限定的 URI。实现可以定义它们自己的功能。如果它创建的此 TransformerFactory 或 Transformer 或 Template 不支持该功能,则抛出 TransformerConfigurationException。TransformerFactory 可以公开功能值,但不能更改其状态。
所有实现必须支持 XMLConstants.FEATURE_SECURE_PROCESSING 功能。当功能为以下情况时:
true: 实现将限制 XML 处理遵守实现限制,并且实现方式为实现所定义的安全方式。示例包括解析用户定义的样式表和函数。如果出于安全原因使 XML 处理受到限制,则将通过对注册的 ErrorListener.fatalError(TransformerException exception) 的调用来报告此情况。参见 setErrorListener(ErrorListener listener)。
false: 实现将根据 XML 规范来处理 XML,而不管可能的实现限制。
name - 功能名称。value - 功能状态为 true 或 false。
TransformerConfigurationException - 如果它创建的此 TransformerFactory 或 Transformer 或 Template 不支持此功能。
NullPointerException - 如果 name 参数为 null。public abstract boolean getFeature(String name)
功能名称为完全限定的 URI。实现可以定义其自己的功能。如果其创建的 TransformerFactory 或 Transformer 或 Template 不支持该功能,则返回 false。TransformerFactory 可以公开功能值,但不能更改其状态。
name - 功能名称。
true 或 false。
NullPointerException - 如果 name 参数为 null。
public abstract void setAttribute(String name,
Object value)
IllegalArgumentException。
name - 属性名称。value - 属性值。
IllegalArgumentException - 当实现不能识别属性时。public abstract Object getAttribute(String name)
IllegalArgumentException。
name - 属性名称。value - 属性值。
IllegalArgumentException - 当实现不能识别属性时。public abstract void setErrorListener(ErrorListener listener)
ErrorListener 侦听器为 null,则抛出 IllegalArgumentException。
listener - 新错误侦听器。
IllegalArgumentException - 当 listener 为 null 时。public abstract ErrorListener getErrorListener()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。