javax.xml.transform.sax

Class SAXSource

Implemented Interfaces:
Source

public class SAXSource
extends java.lang.Object
implements Source

Acts as an holder for SAX-style Source.

Note that XSLT requires namespace support. Attempting to transform an input source that is not generated with a namespace-aware parser may result in errors. Parsers can be made namespace aware by calling the javax.xml.parsers.SAXParserFactory.setNamespaceAware(boolean awareness) method.

Version:
$Revision: 226183 $, $Date: 2005-04-08 12:39:14 +0200 (Fri, 08 Apr 2005) $
Author:
Jeff Suttor

Field Summary

static String
FEATURE
If TransformerFactory.getFeature(String) returns true when passed this value as an argument, the Transformer supports Source input of this type.

Constructor Summary

SAXSource()
Zero-argument default constructor.
SAXSource(InputSource inputSource)
Create a SAXSource, using a SAX InputSource.
SAXSource(XMLReader reader, InputSource inputSource)
Create a SAXSource, using an XMLReader and a SAX InputSource.

Method Summary

InputSource
getInputSource()
Get the SAX InputSource to be used for the Source.
String
getSystemId()
Get the base ID (URI or system ID) from where URIs will be resolved.
XMLReader
getXMLReader()
Get the XMLReader to be used for the Source.
void
setInputSource(InputSource inputSource)
Set the SAX InputSource to be used for the Source.
void
setSystemId(String systemId)
Set the system identifier for this Source.
void
setXMLReader(XMLReader reader)
Set the XMLReader to be used for the Source.
static InputSource
sourceToInputSource(Source source)
Attempt to obtain a SAX InputSource object from a Source object.

Field Details

FEATURE

public static final String FEATURE
If TransformerFactory.getFeature(String) returns true when passed this value as an argument, the Transformer supports Source input of this type.

Constructor Details

SAXSource

public SAXSource()
See Also:
javax.xml.transform.Transformer.transform(Source xmlSource, Result outputTarget)

SAXSource

public SAXSource(InputSource inputSource)
Create a SAXSource, using a SAX InputSource. The Transformer or SAXTransformerFactory creates a reader via XMLReaderFactory (if setXMLReader is not used), sets itself as the reader's ContentHandler, and calls reader.parse(inputSource).
Parameters:
inputSource - An input source reference that must be non-null and that will be passed to the parse method of the reader.

SAXSource

public SAXSource(XMLReader reader,
                 InputSource inputSource)
Create a SAXSource, using an XMLReader and a SAX InputSource. The Transformer or SAXTransformerFactory will set itself to be the reader's ContentHandler, and then will call reader.parse(inputSource).
Parameters:
reader - An XMLReader to be used for the parse.
inputSource - A SAX input source reference that must be non-null and that will be passed to the reader parse method.

Method Details

getInputSource

public InputSource getInputSource()
Get the SAX InputSource to be used for the Source.
Returns:
A valid InputSource reference, or null.

getSystemId

public String getSystemId()
Get the base ID (URI or system ID) from where URIs will be resolved.
Specified by:
getSystemId in interface Source
Returns:
Base URL for the Source, or null.

getXMLReader

public XMLReader getXMLReader()
Get the XMLReader to be used for the Source.
Returns:
A valid XMLReader or XMLFilter reference, or null.

setInputSource

public void setInputSource(InputSource inputSource)
Set the SAX InputSource to be used for the Source.
Parameters:
inputSource - A valid InputSource reference.

setSystemId

public void setSystemId(String systemId)
Set the system identifier for this Source. If an input source has already been set, it will set the system ID or that input source, otherwise it will create a new input source.

The system identifier is optional if there is a byte stream or a character stream, but it is still useful to provide one, since the application can use it to resolve relative URIs and can include it in error messages and warnings (the parser will attempt to open a connection to the URI only if no byte stream or character stream is specified).

Specified by:
setSystemId in interface Source
Parameters:
systemId - The system identifier as a URI string.

setXMLReader

public void setXMLReader(XMLReader reader)
Set the XMLReader to be used for the Source.
Parameters:
reader - A valid XMLReader or XMLFilter reference.

sourceToInputSource

public static InputSource sourceToInputSource(Source source)
Attempt to obtain a SAX InputSource object from a Source object.
Parameters:
source - Must be a non-null Source reference.
Returns:
An InputSource, or null if Source can not be converted.