JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.transform
类 TransformerFactory

java.lang.Object
  继承者 javax.xml.transform.TransformerFactory
直接已知子类:
SAXTransformerFactory

public abstract class TransformerFactory
extends Object

TransformerFactory 实例可用于创建 TransformerTemplates 对象。

确定创建哪个 Factory 实现的系统属性称为 "javax.xml.transform.TransformerFactory"。此属性命名了 TransformerFactory 抽象类的一个具体子类。如果未定义此属性,则使用平台默认的属性。


构造方法摘要
protected TransformerFactory()
          默认构造方法受到刻意的保护。
 
方法摘要
abstract  Source getAssociatedStylesheet(Source source, String media, String title, String charset)
          通过与给定标准匹配的 xml 样式表的处理指令 获取与 XML Source 文档关联的 stylesheet 规范(或多个规范)。
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 的新实例。
abstract  Templates newTemplates(Source source)
          将 Source 处理为 Templates 对象,后者是源的编译后表示形式。
abstract  Transformer newTransformer()
          创建执行从 SourceResult 的复制的新 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)
          设置通过此工厂创建的此 TransformerFactoryTransformerTemplate 的功能。
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
 

构造方法详细信息

TransformerFactory

protected TransformerFactory()
默认构造方法受到刻意的保护。

方法详细信息

newInstance

public static TransformerFactory newInstance()
                                      throws TransformerFactoryConfigurationError
获取 TransformerFactory 的新实例。此静态方法创建新的工厂实例。此方法使用以下顺序的查找程序来确定要加载的 TransformerFactory 实现类: 应用程序已获取对 TransformerFactory 的引用后,它可以使用工厂来配置和获取分析器实例。

返回:
新的 TransformerFactory 实例,永远不为 null。
抛出:
TransformerFactoryConfigurationError - 如果实现不可用或不能被实例化。

newTransformer

public abstract Transformer newTransformer(Source source)
                                    throws TransformerConfigurationException

Source 处理为 Transformer ObjectSource 是遵守 XSL Transformations (XSLT) Version 1.0 的 XSLT 文档。必须注意在多个 Thread 并发运行中不能使用此 Transformer。不同 Thread 可以并发使用不同的 TransformerFactories

参数:
用于创建 - Transformer 的 XSLT 文档的源 Source 。XML Source 的示例包括 DOMSourceSAXSourceStreamSource
返回:
可用于在单个 Thread 中执行转换的 Transformer 对象,永远不返回 null
抛出:
TransformerConfigurationException - 如果当分析 Source 时发生错误,或不能创建 Transformer 实例。
另请参见:
XSL Transformations (XSLT) Version 1.0

newTransformer

public abstract Transformer newTransformer()
                                    throws TransformerConfigurationException

创建执行从 SourceResult 的复制的新 Transformer。即 "identity transform"。

返回:
可用于在单个进程中执行转换的 Transformer 对象,永远不返回 null。
抛出:
TransformerConfigurationException - 如果不能创建 Transformer 实例。

newTemplates

public abstract Templates newTemplates(Source source)
                                throws TransformerConfigurationException
将 Source 处理为 Templates 对象,后者是源的编译后表示形式。然后此 Templates 对象可由多个线程并发使用。创建 Templates 对象允许 TransformerFactory 执行转换指令的详细性能优化,而不影响运行时转换。

参数:
source - 保持 URL、输入流等的对象。
返回:
可用于转换目的的 Templates 对象,永远不返回 null。
抛出:
TransformerConfigurationException - 当构造 Templates 对象并失败时,分析中可能抛出此异常。

getAssociatedStylesheet

public abstract Source getAssociatedStylesheet(Source source,
                                               String media,
                                               String title,
                                               String charset)
                                        throws TransformerConfigurationException

通过与给定标准匹配的 xml 样式表的处理指令 获取与 XML Source 文档关联的 stylesheet 规范(或多个规范)。注意,可能返回几个 stylesheet,在这种情况下它们作为导入列表或单个 stylesheet 中的层叠列表来使用。

参数:
source - XML 源文档。
media - 要匹配的介质属性。可以为 null,此时将使用首选的 template(即 alternate = no)。
title - 要匹配的标题属性值。可以为 null。
charset - 要匹配的字符集属性值。可以为 null。
返回:
适合传递给 TransformerFactorySource Object
抛出:
TransformerConfigurationException - 如果 source 的分析过程中发生错误,则抛出 Exception
另请参见:
与 1.0 版本的 XML 文档关联的样式表

setURIResolver

public abstract void setURIResolver(URIResolver resolver)
设置在转换过程中默认用于解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的对象。

参数:
resolver - 实现 URIResolver 接口的对象,或为 null。

getURIResolver

public abstract URIResolver getURIResolver()
获取在转换过程中默认用于解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的对象。

返回:
通过 setURIResolver 设置的 URIResolver。

setFeature

public abstract void setFeature(String name,
                                boolean value)
                         throws TransformerConfigurationException

设置通过此工厂创建的此 TransformerFactoryTransformerTemplate 的功能。

功能名称是完全限定的 URI。实现可以定义它们自己的功能。如果其创建的此 TransformerFactoryTransformerTemplate 不支持该功能,则抛出 TransformerConfigurationExceptionTransformerFactory 可以公开功能值,但不能更改其状态。

所有实现必须支持 XMLConstants.FEATURE_SECURE_PROCESSING 功能。当功能为以下情况时:

参数:
name - 功能名称。
value - 功能状态为 truefalse
抛出:
TransformerConfigurationException - 如果其创建的此 TransformerFactoryTransformerTemplate 不支持此功能。
NullPointerException - 如果 name 参数为 null。

getFeature

public abstract boolean getFeature(String name)
查找功能值。

功能名称为完全限定的 URI。实现可以定义其自己的功能。如果其创建的 TransformerFactoryTransformerTemplate 不支持该功能,则返回 falseTransformerFactory 可以公开功能值,但不能更改其状态。

参数:
name - 功能名称。
返回:
功能的当前状态,truefalse
抛出:
NullPointerException - 如果 name 参数为 null。

setAttribute

public abstract void setAttribute(String name,
                                  Object value)
允许用户设置基础实现上的指定属性。此上下文中的属性定义为实现所提供的一个选项。如果基础实现不识别该属性,则抛出 IllegalArgumentException

参数:
name - 属性名称。
value - 属性值。

getAttribute

public abstract Object getAttribute(String name)
允许用户在基础实现上检索指定属性。如果基础实现不识别该属性,则抛出 IllegalArgumentException

参数:
name - 属性名称。
value - 属性值。

setErrorListener

public abstract void setErrorListener(ErrorListener listener)
设置此 TransformerFactory 的错误事件侦听器,它将用于转换指令的处理,而不用于转换本身。如果 ErrorListener 侦听器为 null,则抛出 IllegalArgumentException

参数:
listener - 新错误侦听器。

getErrorListener

public abstract ErrorListener getErrorListener()
获取 TransformerFactory 的错误事件处理程序。

返回:
当前错误处理程序,它永远不应为 null。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策