javax.xml.transform.stream (Java SE 26 & JDK 26)
Description: declaration: module: java.xml, package: javax.xml.transform.stream
Keywords: javax.xml.transform.stream package

# Package javax.xml.transform.stream

package javax.xml.transform.stream
Provides stream and URI specific transformation classes.

The `StreamSource` class provides methods for specifying `InputStream` input, `Reader` input, and URL input in the form of strings. Even if an input stream or reader is specified as the source, `StreamSource.setSystemId(String)` should still be called, so that the transformer can know from where it should resolve relative URIs. The public identifier is always optional: if the application writer includes one, it will be provided as part of the `SourceLocator` information.

The `StreamResult` class provides methods for specifying `OutputStream`, `Writer`, or an output system ID, as the output of the transformation result.

Normally streams should be used rather than readers or writers, for both the Source and Result, since readers and writers already have the encoding established to and from the internal Unicode format. However, there are times when it is useful to write to a character stream, such as when using a StringWriter in order to write to a String, or in the case of reading source XML from a StringReader.

Since:
  1.5

- Related Packages
  Package
  Description
  javax.xml.transform
  Defines the generic APIs for processing transformation instructions, and performing a transformation from source to result.
  javax.xml.transform.dom
  Provides DOM specific transformation classes.
  javax.xml.transform.sax
  Provides SAX specific transformation classes.
  javax.xml.transform.stax
  Provides StAX specific transformation classes.
- Classes
  Class
  Description
  StreamResult
  Acts as an holder for a transformation result, which may be XML, plain Text, HTML, or some other form of markup.
  StreamSource
  Acts as an holder for a transformation Source in the form of a stream of XML markup.