- java.lang.Object
-  
      - javax.xml.transform.TransformerFactory
 
-  
       - 已知直接子类:
-  
         SAXTransformerFactory
 
 public abstract class TransformerFactory extends Object TransformerFactory实例可用于创建 Transformer和Templates对象。确定要创建的Factory实现的系统属性名为 "javax.xml.transform.TransformerFactory"。 此属性命名TransformerFactory抽象类的具体子类。 如果未定义属性,则使用平台默认值。- 从以下版本开始:
- 1.5
 
-  
        
       -  
             构造方法摘要构造方法 变量 构造器 描述 protectedTransformerFactory()默认构造函数是故意保护的。
 -  
             方法摘要所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract SourcegetAssociatedStylesheet(Source source, String media, String title, String charset)通过符合给定条件的 xml-stylesheet processing instruction获取与XMLSource文档关联的样式表规范。abstract ObjectgetAttribute(String name)允许用户检索底层实现的特定属性。abstract ErrorListenergetErrorListener()获取TransformerFactory的错误事件处理程序。abstract booleangetFeature(String name)查找功能的值。abstract URIResolvergetURIResolver()获取转换期间默认使用的对象,以解析document(),xsl:import或xsl:include中使用的URI。static TransformerFactorynewDefaultInstance()创建TransformerFactory内置系统默认实现的新实例。static TransformerFactorynewInstance()获取TransformerFactory的新实例。static TransformerFactorynewInstance(String factoryClassName, ClassLoader classLoader)从工厂类名称获取TransformerFactory的新实例。abstract TemplatesnewTemplates(Source source)将Source处理为Templates对象,该对象是源的编译表示。abstract TransformernewTransformer()创建一个新的Transformer,执行Source到Result。abstract TransformernewTransformer(Source source)将Source成TransformerObject。abstract voidsetAttribute(String name, Object value)允许用户在底层实现上设置特定属性。abstract voidsetErrorListener(ErrorListener listener)为TransformerFactory设置错误事件侦听器,该侦听器用于处理转换指令,而不用于转换本身。abstract voidsetFeature(String name, boolean value)设置此工厂创建的TransformerFactory和Transformers或Template的功能。abstract voidsetURIResolver(URIResolver resolver)设置在转换期间默认使用的对象,以解析document(),xsl:import或xsl:include中使用的URI。
 
-  
             
-  
        
       -  
             方法详细信息-  newDefaultInstancepublic static TransformerFactory newDefaultInstance() 创建TransformerFactory内置系统默认实现的新实例。- 结果
-  
              TransformerFactory内置系统默认实现的新实例。
- 从以下版本开始:
- 9
 
 -  newInstancepublic static TransformerFactory newInstance() throws TransformerFactoryConfigurationError 获取TransformerFactory的新实例。 此静态方法创建新的工厂实例。此方法使用以下有序查找过程来确定要加载的 TransformerFactory实现类:-  使用javax.xml.transform.TransformerFactory系统属性。
- 使用配置文件“jaxp.properties”。 该文件采用标准 - Properties格式,通常位于Java安装的- conf目录中。 它包含实现类的完全限定名称,键是上面定义的系统属性。- jaxp.properties文件只能由JAXP实现读取一次,然后缓存其值以供将来使用。 如果在第一次尝试从该文件读取时该文件不存在,则不再进行任何检查以检查其是否存在。 在第一次读取之后,无法更改jaxp.properties中任何属性的值。 
- 使用由 - ServiceLoader类定义的服务提供者加载工具尝试使用default loading mechanism定位和加载服务的实现 :服务提供者加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null,则将使用system class loader 。
- 否则,返回system-default实现。 
 一旦应用程序获得对 TransformerFactory的引用,它就可以使用工厂来配置和获取转换器实例。- 结果
- 新的TransformerFactory实例,永远不会为null。
- 异常
-  
              TransformerFactoryConfigurationError- 在service configuration error的情况下抛出,或者如果实现不可用或无法实例化。
 
-  使用
 -  newInstancepublic 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用于加载工厂类。
- 结果
- 新的TransformerFactory实例,永远不会为null。
- 异常
-  
              TransformerFactoryConfigurationError- 如果factoryClassName是null,或者无法加载工厂类,则实例化。
- 从以下版本开始:
- 1.6
- 另请参见:
-  
              newInstance()
 
 -  newTransformerpublic abstract Transformer newTransformer(Source source) throws TransformerConfigurationException 将Source成TransformerObject。Source是符合XSL Transformations (XSLT) Version 1.0的XSLT文档。 必须注意不要在同时运行的多个Thread使用此Transformer。 不同的TransformerFactories可以由不同的Thread同时使用。- 参数
-  
              source-Source用于创建Transformer的XSLT文档。 XML的例子Source小号包括DOMSource,SAXSource和StreamSource。
- 结果
-  
              Transformer对象,可用于在单个Thread执行转换,从不使用null。
- 异常
-  
              TransformerConfigurationException- 如果在解析Source时出现错误或者无法创建Transformer实例,则抛出该异常。
- 另请参见:
- XSL Transformations (XSLT) Version 1.0
 
 -  newTransformerpublic abstract Transformer newTransformer() throws TransformerConfigurationException 创建一个新的Transformer,执行Source到Result。 即“ 身份变换 ”。- 结果
- 可用于在单个线程中执行转换的Transformer对象,永远不为null。
- 异常
-  
              TransformerConfigurationException- 无法创建Transformer实例时。
 
 -  newTemplatespublic abstract Templates newTemplates(Source source) throws TransformerConfigurationException 将Source处理为Templates对象,该对象是源的编译表示。 然后可以跨多个线程同时使用此Templates对象。 创建Templates对象允许TransformerFactory对转换指令进行详细的性能优化,而不会影响运行时转换。- 参数
-  
              source- 包含URL,输入流等的对象
- 结果
- 
               能够用于转换目的的Templates对象,从不 
              null。
- 异常
-  
              TransformerConfigurationException- 解析构造Templates对象失败时。
 
 -  getAssociatedStylesheetpublic abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException 通过符合给定条件的xml-stylesheet processing instruction获取与XMLSource文档关联的样式表规范。 请注意,可以返回多个样式表,在这种情况下,它们就像应用于单个样式表中的导入列表或级联一样。- 参数
-  
              source- XML源文档。
-  
              media- 要匹配的媒体属性。 可以为null,在这种情况下将使用首选模板(即alternate = no)。
-  
              title- 要匹配的title属性的值。 可能为空。
-  
              charset- 要匹配的charset属性的值。 可能为空。
- 结果
- 
               甲 
              SourceObject适于传递给TransformerFactory。
- 异常
-  
              TransformerConfigurationException-一个异常是的分析过程中,如果出现错误occurings抛出source。
- 另请参见:
- Associating Style Sheets with XML documents Version 1.0
 
 -  setURIResolverpublic abstract void setURIResolver(URIResolver resolver) 设置在转换期间默认使用的对象,以解析document(),xsl:import或xsl:include中使用的URI。- 参数
-  
              resolver- 实现URIResolver接口的对象,或null。
 
 -  getURIResolverpublic abstract URIResolver getURIResolver() 获取转换期间默认使用的对象,以解析document(),xsl:import或xsl:include中使用的URI。- 结果
- 使用setURIResolver设置的URIResolver。
 
 -  setFeaturepublic abstract void setFeature(String name, boolean value) throws TransformerConfigurationException 设置此工厂创建的 TransformerFactory和Transformers或Template的功能。功能名称完全限定 URIs。 实现可以定义自己的功能。 一个TransformerConfigurationException如果这是抛出TransformerFactory或TransformerS或Template的IT创建不支持该功能。TransformerFactory可以公开特征值但无法更改其状态。所有实现都需要支持 XMLConstants.FEATURE_SECURE_PROCESSING功能。 当功能是:-  true:实现将限制XML处理以符合实现限制,并以实现定义的安全方式运行。 示例包括解析用户定义的样式表和函数。 如果出于安全原因限制XML处理,则将通过对注册的ErrorListener.fatalError(TransformerException exception)的调用来报告。 见setErrorListener(ErrorListener listener)。
-  false:实现将根据XML规范处理XML,而不考虑可能的实现限制。
 - 参数
-  
              name- 功能名称。
-  
              value- 功能状态为true或false。
- 异常
-  
              TransformerConfigurationException- 如果它创建的TransformerFactory或Transformers或Templates不能支持此功能。
-  
              NullPointerException- 如果name参数为null。
 
-  
 -  getFeaturepublic abstract boolean getFeature(String name) 查找功能的值。功能名称完全合格 URIs。 实现可以定义自己的功能。false返回如果这TransformerFactory或TransformerS或Template的IT创建不支持该功能。TransformerFactory可能会公开特征值但无法更改其状态。- 参数
-  
              name- 功能名称。
- 结果
- 
               该功能的当前状态, 
              true或false。
- 异常
-  
              NullPointerException- 如果name参数为null。
 
 -  setAttributepublic abstract void setAttribute(String name, Object value) 允许用户在底层实现上设置特定属性。 此上下文中的属性被定义为实现提供的选项。 如果底层实现无法识别该属性,则抛出IllegalArgumentException。实现JAXP 1.5或更高版本的所有实现都需要支持 XMLConstants.ACCESS_EXTERNAL_DTD和XMLConstants.ACCESS_EXTERNAL_STYLESHEET属性。- 对源文件中的外部DTD的访问仅限于 - XMLConstants.ACCESS_EXTERNAL_DTD属性指定的协议。 如果由于此属性的限制而在转换期间拒绝访问,则- Transformer.transform(Source, Result)将抛出- TransformerException。- 样式表中对外部DTD的访问仅限于 - XMLConstants.ACCESS_EXTERNAL_DTD属性指定的协议。 如果访问被创建一个新的变压器的过程中,由于该物业的限制否认,- TransformerConfigurationException将被抛出- newTransformer(Source)方法。- 通过样式表处理指令设置对外部引用的访问,Import和Include元素仅限于 - XMLConstants.ACCESS_EXTERNAL_STYLESHEET属性指定的协议。 如果访问被创建一个新的变压器的过程中,由于该物业的限制否认,- TransformerConfigurationException将被抛出- newTransformer(Source)方法。- 通过XSLT文档功能访问外部文档仅限于属性指定的协议。 如果访问被改造过程中,由于该物业的限制否认, - TransformerException将被抛出- Transformer.transform(Source, Result)方法。
 - 参数
-  
              name- 属性的名称。
-  
              value- 属性的值。
- 异常
-  
              IllegalArgumentException- 当实现无法识别属性时。
 
 -  getAttributepublic abstract Object getAttribute(String name) 允许用户检索底层实现的特定属性。 如果底层实现无法识别该属性,则抛出IllegalArgumentException。- 参数
-  
              name- 属性的名称。
- 结果
- value属性的值。
- 异常
-  
              IllegalArgumentException- 当实现无法识别该属性时。
 
 -  setErrorListenerpublic abstract void setErrorListener(ErrorListener listener) 为TransformerFactory设置错误事件侦听器,该侦听器用于处理转换指令,而不用于转换本身。 一个IllegalArgumentException如果抛出ErrorListener监听器是null。- 参数
-  
              listener- 新的错误侦听器。
- 异常
-  
              IllegalArgumentException- 当listener是null
 
 -  getErrorListenerpublic abstract ErrorListener getErrorListener() 获取TransformerFactory的错误事件处理程序。- 结果
- The current error handler, which should never be null.
 
 
-  
 
-