TransformerFactory(示例,出错代码)
来源:互联网 发布:网络歌曲 喜欢你喜欢你 编辑:程序博客网 时间:2024/05/22 17:05
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
抽象类的一个具体子类。如果未定义此属性,则使用平台默认的属性。
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
- 如果实现不可用或不能被实例化。
newInstance
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 来加载工厂类。- 返回:
- 新 TransformerFactory 实例,永远不能为 null。
- 抛出:
TransformerFactoryConfigurationError
- 如果factoryClassName
为null
,或者不能加载或实例化工厂类。- 从以下版本开始:
- 1.6
- 另请参见:
- newInstance()
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
文档关联的样式表规范(或多个规范)。注意,可能返回几个样式表,在这种情况下它们作为导入列表或单个样式表中的层叠列表来使用。- 参数:
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。
setFeature
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。
getFeature
public abstract boolean getFeature(String name)
- 查找功能值。
功能名称为完全限定的 URI。实现可以定义其自己的功能。如果其创建的
TransformerFactory
或Transformer
或Template
不支持该功能,则返回false
。TransformerFactory
可以公开功能值,但不能更改其状态。 - 参数:
name
- 功能名称。- 返回:
- 功能的当前状态,
true
或false
。 - 抛出:
NullPointerException
- 如果name
参数为 null。
setAttribute
public abstract void setAttribute(String name, Object value)
- 允许用户设置底层实现上的指定属性。此上下文中的属性定义为实现所提供的一个选项。如果底层实现不识别该属性,则抛出
IllegalArgumentException
。 - 参数:
name
- 属性名称。value
- 属性值。- 抛出:
IllegalArgumentException
- 当实现不能识别属性时。
getAttribute
public abstract Object getAttribute(String name)
- 允许用户在底层实现上检索指定属性。如果底层实现不识别该属性,则抛出
IllegalArgumentException
。 - 参数:
name
- 属性名称。value
- 属性值。- 抛出:
IllegalArgumentException
- 当实现不能识别属性时。
setErrorListener
public abstract void setErrorListener(ErrorListener listener)
- 设置此 TransformerFactory 的错误事件侦听器,它将用于转换指令的处理,而不用于转换本身。如果
ErrorListener
侦听器为null
,则抛出IllegalArgumentException
。 - 参数:
listener
- 新错误侦听器。- 抛出:
IllegalArgumentException
- 当listener
为null
时。
getErrorListener
public abstract ErrorListener getErrorListener()
- 获取 TransformerFactory 的错误事件处理程序。
- 返回:
- 当前错误处理程序,它永远不应为 null。
- TransformerFactory(示例,出错代码)
- AlarmManager(示例,出错代码)
- NetworkInfo(示例,出错代码)
- AbstractTableModel(示例,出错代码)
- PrintWriter(示例,出错代码)
- Field(示例,出错代码)
- Calendar(示例,出错代码)
- SimpleDateFormat(示例,出错代码)
- SocketChannel(示例,出错代码)
- DefaultTableModel(示例,出错代码)
- Toolkit(示例,出错代码)
- SharedPreferences.Editor(示例,出错代码)
- MFC之AfxMessageBox(示例,出错代码)
- boost的MulticastSocket(示例,出错代码)
- Android学习笔记十二:Calendar(示例、出错代码、参数)
- Androin学习笔记二十五:InetAddress(示例,出错代码)
- Android学习笔记二十八:String(示例,出错代码)
- Android学习笔记三十三:ScanResult(示例,出错代码)
- Android安全攻防战,反编译与混淆技术完全解析(上)
- 商业级别Fortify白盒神器介绍与使用分析
- Java——List的实现类
- LeetCode 169. Majority Element
- 面向切面编程(AOP)的理解
- TransformerFactory(示例,出错代码)
- 《笨办法学Python》 第39课手记
- Android Studio 小技巧合集
- IOS开发之常见bug
- Redis学习到实战(一)基础与入门
- Android侧滑菜单(最简)
- Filter过滤器的强大功能
- 算法学习--图论
- AOP的基本概念理解