|  
      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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。