- java.lang.Object
-
- javax.xml.transform.sax.SAXSource
-
- All Implemented Interfaces:
- Source
- Direct Known Subclasses:
- JAXBSource
public class SAXSource extends 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
SAXParserFactory.setNamespaceAware(boolean awareness)
method.
-
-
Field Summary
Fields Modifier and Type Field and Description static String
FEATURE
IfTransformerFactory.getFeature(java.lang.String)
returns true when passed this value as an argument, the Transformer supports Source input of this type.
-
Constructor Summary
Constructors Constructor and Description SAXSource()
Zero-argument default constructor.SAXSource(InputSource inputSource)
Create aSAXSource
, using a SAXInputSource
.SAXSource(XMLReader reader, InputSource inputSource)
Create aSAXSource
, using anXMLReader
and a SAX InputSource.
-
Method Summary
Methods Modifier and Type Method and Description 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 Detail
-
FEATURE
public static final String FEATURE
IfTransformerFactory.getFeature(java.lang.String)
returns true when passed this value as an argument, the Transformer supports Source input of this type.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SAXSource
public SAXSource()
Zero-argument default constructor. If this constructor is used, and no SAX source is set using
setInputSource(InputSource inputSource)
, then theTransformer
will create an empty sourceInputSource
usingnew InputSource()
.
-
SAXSource
public SAXSource(XMLReader reader, InputSource inputSource)
Create aSAXSource
, using anXMLReader
and a SAX InputSource. TheTransformer
orSAXTransformerFactory
will set itself to be the reader'sContentHandler
, 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.
-
SAXSource
public SAXSource(InputSource inputSource)
Create aSAXSource
, using a SAXInputSource
. TheTransformer
orSAXTransformerFactory
creates a reader viaXMLReaderFactory
(if setXMLReader is not used), sets itself as the reader'sContentHandler
, 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.
-
-
Method Detail
-
setXMLReader
public void setXMLReader(XMLReader reader)
Set the XMLReader to be used for the Source.- Parameters:
reader
- A valid XMLReader or XMLFilter reference.
-
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.
-
getInputSource
public InputSource getInputSource()
Get the SAX InputSource to be used for the Source.- Returns:
- A valid InputSource reference, or null.
-
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 interfaceSource
- Parameters:
systemId
- The system identifier as a URI string.
-
getSystemId
public String getSystemId()
Get the base ID (URI or system ID) from where URIs will be resolved.
- Specified by:
getSystemId
in interfaceSource
- Returns:
- Base URL for the
Source
, ornull
.
-
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.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/xml/transform/sax/saxsource.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.