This package implements SAX2-specific transformation APIs.
See: Description
Interface | Description |
---|---|
TemplatesHandler | A SAX ContentHandler that may be used to process SAX parse events (parsing transformation instructions) into a Templates object. |
TransformerHandler | A TransformerHandler listens for SAX ContentHandler parse events and transforms them to a Result. |
Class | Description |
---|---|
SAXResult | Acts as an holder for a transformation Result. |
SAXSource | Acts as an holder for SAX-style Source. |
SAXTransformerFactory | This class extends TransformerFactory to provide SAX-specific factory methods. |
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.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.