javax.xml.transform.sax

接口
此包实现特定于 SAX2 的转换 API。

请参见:
          描述

接口摘要
TemplatesHandler 可用于将 SAX 解析事件(解析转换指令)处理为 Templates 对象的 SAX ContentHandler。
TransformerHandler 侦听 SAX ContentHandler 解析事件,并将它们转换为 Result 的 TransformerHandler。
 

类摘要
SAXResult 充当转换 Result 的持有者。
SAXSource 充当 SAX 样式 Source 的持有者。
SAXTransformerFactory 此类扩展了 TransformerFactory 以提供特定于 SAX 的工厂方法。
 

软件包 javax.xml.transform.sax 的描述

此包实现特定于 SAX2 的转换 API。它提供了允许从 ContentHandler 事件输入的类,还提供了生成 org.xml.sax.ContentHandler 事件的类。它还提供了用于将输入源设置为 XMLReader,或使用 InputSource 作为源的方法。它还允许创建 XMLFilter,这支持从其他转换“拉入”的转换,并使转换器通过多种形式作为 XMLReader 使用。

SAXSource 类允许设置用于“拉入”解析事件的 XMLReader,以及用于指定 SAX 源的 InputSource

SAXResult 类允许设置用作来自转换的 SAX2 事件接收器的 ContentHandler

SAXTransformerFactory 扩展了 TransformerFactory,以提供用于创建 TemplatesHandlerTransformerHandlerXMLReader 实例的工厂方法。

要获取 SAXTransformerFactory,调用者必须强制转换从 TransformerFactory.newInstance() 返回的 TransformerFactory 实例。

@link javax.xml.transform.sax.TransformerHandler} 接口允许从 SAX2 解析事件创建转换,这是 "push"(推)模型,而不是转换中通常发生的 "pull"(拉)模型。正常解析事件通过 ContentHandler 接口接收,词法事件(例如 startCDATA 和 endCDATA)通过 LexicalHandler 接口接收,标记禁用输出转义的开始或结束的事件通过 ContentHandler.processingInstruction(java.lang.String, java.lang.String) 接收,目标参数为 Result.PI_DISABLE_OUTPUT_ESCAPINGResult.PI_ENABLE_OUTPUT_ESCAPING。如果要在 Transformer 处理程序中设置参数、输出属性或其他功能,则需要从 TransformerHandler.getTransformer() 获取 Transformer 引用,以及从该引用调用的方法。

TemplatesHandler 接口允许从 SAX2 解析事件创建 Templates 对象。当 ContentHandler 事件完成后,可以从 TemplatesHandler.getTemplates() 获取 Templates 对象。注意,应正常调用 TemplatesHandler.setSystemId(java.lang.String),以建立可以从其解析 URL 的基本系统 ID。

SAXTransformerFactory.newXMLFilter(javax.xml.transform.Source) 方法允许创建 XMLFilter,它封装了 "pull" 转换的 SAX2 概念。以下阐释了互相形成链的几种转换。每个过滤器均指向一个父 XMLReader,且通过调用链中最后的 reader 上的 XMLReader.parse(org.xml.sax.InputSource) 来引发最后的转换。