| 接口 | 描述 |
|---|---|
| TemplatesHandler |
可用于将SAX解析事件(解析变换指令)转换为“模板”对象的SAX ContentHandler。
|
| TransformerHandler |
TransformerHandler侦听SAX ContentHandler解析事件并将其转换为Result。
|
| 类 | 描述 |
|---|---|
| SAXResult |
作为转型结果的持有人。
|
| SAXSource |
作为SAX风格来源的持有人。
|
| SAXTransformerFactory |
此类扩展TransformerFactory以提供SAX特定的工厂方法。
|
This package implements SAX2-specific transformation APIs. It provides classes which allow input from ContentHandler events, and also classes that produce
org.xml.sax.ContentHandler events. It also provides methods to set the input source as an XMLReader, or to use a InputSource as the source. It also allows the creation
of a XMLFilter, which enables transformations to "pull"
from other transformations, and lets the transformer to be used polymorphically as an XMLReader.
The SAXSource class allows the setting of an XMLReader to be used for "pulling" parse events, and
an InputSource
that may be used to specify the SAX source.
The SAXResult class allows the setting of a ContentHandler to be the receiver of SAX2 events from
the transformation.
The SAXTransformerFactory extends TransformerFactory to provide factory methods for
creating TemplatesHandler, TransformerHandler, and XMLReader instances.
To obtain a SAXTransformerFactory, the caller
must cast the TransformerFactory instance returned
from TransformerFactory.newInstance().
The TransformerHandler interface allows a
transformation to be created from SAX2 parse events, which is a "push" model rather than the "pull" model
that normally occurs for a transformation. Normal parse events are received through the ContentHandler
interface, lexical events such as startCDATA and endCDATA are received through the LexicalHandler
interface, and events that signal the start or end of disabling output escaping are received via ContentHandler.processingInstruction(java.lang.String,
java.lang.String), with the target parameter being Result.PI_DISABLE_OUTPUT_ESCAPING
and Result.PI_ENABLE_OUTPUT_ESCAPING.
If parameters, output properties, or other features need to be set on the Transformer handler, a Transformer
reference will need to be obtained from TransformerHandler.getTransformer(),
and the methods invoked from that reference.
The TemplatesHandler interface allows the
creation of Templates objects from SAX2 parse
events. Once the ContentHandler events are complete,
the Templates object may be obtained from TemplatesHandler.getTemplates().
Note that TemplatesHandler.setSystemId(java.lang.String)
should normally be called in order to establish a base system ID from which relative URLs may be resolved.
The SAXTransformerFactory.newXMLFilter(javax.xml.transform.Source)
method allows the creation of a XMLFilter, which
encapsulates the SAX2 notion of a "pull" transformation. The following illustrates several transformations
chained together. Each filter points to a parent XMLReader,
and the final transformation is caused by invoking XMLReader.parse(org.xml.sax.InputSource)
on the final reader in the chain.