Module java.xml

Package javax.xml.transform.sax


package javax.xml.transform.sax
提供了与SAX特定转换相关的类。

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

SAXResult类允许设置一个ContentHandler作为来自转换的SAX2事件的接收器。

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

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

TransformerHandler接口允许从SAX2解析事件创建转换,这是一种“推”模型,而不是通常发生在转换中的“拉”模型。正常的解析事件通过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)以建立一个基本系统ID,从中可以解析相对URL。

SAXTransformerFactory.newXMLFilter(javax.xml.transform.Source)方法允许创建一个XMLFilter,它封装了“拉”转换的SAX2概念。生成的XMLFilters可以链接在一起,以便一系列转换可以发生,其中一个的输出成为另一个的输入。

自版本:
1.5