|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.xml.transform
类 TransformerFactory
java.lang.Object javax.xml.transform.TransformerFactory
- 直接已知子类:
- SAXTransformerFactory
-
public abstract class TransformerFactory
- extends Object
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 文档关联的 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() 创建执行从 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 |
构造方法详细信息 |
---|
TransformerFactory
protected TransformerFactory()
- 默认构造方法受到刻意的保护。
方法详细信息 |
---|
newInstance
public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError
-
获取
TransformerFactory
的新实例。此静态方法创建新的工厂实例。此方法使用以下顺序的查找程序来确定要加载的TransformerFactory
实现类:- 使用
javax.xml.transform.TransformerFactory
系统属性。 - 使用 JRE 文件夹中的属性文件 "lib/jaxp.properties"。此配置文件格式为标准的
java.util.Properties
且包含实现类的完全限定名,其中实现类的键是上述定义的系统属性。 JAXP 实现只读取一次 jaxp.properties 文件,然后缓存其值供以后使用。如果首次尝试读取文件时,文件不存在,则不会再次尝试检查该文件是否存在。首次读取 jaxp.properties 后,其中的属性值不能再更改。 - 如果可以,使用 Services API(在 JAR 规范中进行了详细描述)来确定类名称。Services API 将查找在运行时可用的 jar 文件中
META-INF/services/javax.xml.transform.TransformerFactory
中的类名称。 - 平台默认的
TransformerFactory
实例。
TransformerFactory
的引用后,它可以使用工厂来配置和获取分析器实例。 - 使用
-
- 返回:
- 新的 TransformerFactory 实例,永远不为 null。
- 抛出:
TransformerFactoryConfigurationError
- 如果实现不可用或不能被实例化。
newTransformer
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
。XMLSource
的示例包括DOMSource
、SAXSource
和StreamSource
。- 返回:
-
可用于在单个
Thread
中执行转换的Transformer
对象,永远不返回null
。 - 抛出:
TransformerConfigurationException
- 如果当分析Source
时发生错误,或不能创建Transformer
实例。- 另请参见:
- XSL Transformations (XSLT) Version 1.0
newTransformer
public abstract Transformer newTransformer() throws TransformerConfigurationException
-
创建执行从
Source
到Result
的复制的新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。- 返回:
-
适合传递给
TransformerFactory
的Source
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。