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

# Interface TransformerHandler

All Superinterfaces:
  `ContentHandler, DTDHandler, LexicalHandler`

public interface TransformerHandler extends ContentHandler, LexicalHandler, DTDHandler
A TransformerHandler listens for SAX ContentHandler parse events and transforms them to a Result.

Since:
  1.4

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getSystemId()`
  Get the base ID (URI or system ID) from where relative URLs will be resolved.
  `Transformer`
  `getTransformer()`
  Get the `Transformer` associated with this handler, which is needed in order to set parameters and output properties.
  `void`
  `setResult(Result result)`
  Set the `Result` associated with this `TransformerHandler` to be used for the transformation.
  `void`
  `setSystemId(String systemID)`
  Set the base ID (URI or system ID) from where relative URLs will be resolved.

  ### Methods declared in interface ContentHandler

  `characters, declaration, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping`
  Modifier and Type
  Method
  Description
  `void`
  `characters(char[] ch, int start, int length)`
  Receive notification of character data.
  `default void`
  `declaration(String version, String encoding, String standalone)`
  Receives notification of the XML declaration.
  `void`
  `endDocument()`
  Receive notification of the end of a document.
  `void`
  `endElement(String uri, String localName, String qName)`
  Receive notification of the end of an element.
  `void`
  `endPrefixMapping(String prefix)`
  End the scope of a prefix-URI mapping.
  `void`
  `ignorableWhitespace(char[] ch, int start, int length)`
  Receive notification of ignorable whitespace in element content.
  `void`
  `processingInstruction(String target, String data)`
  Receive notification of a processing instruction.
  `void`
  `setDocumentLocator(Locator locator)`
  Receive an object for locating the origin of SAX document events.
  `void`
  `skippedEntity(String name)`
  Receive notification of a skipped entity.
  `void`
  `startDocument()`
  Receive notification of the beginning of a document.
  `void`
  `startElement(String uri, String localName, String qName, Attributes atts)`
  Receive notification of the beginning of an element.
  `void`
  `startPrefixMapping(String prefix, String uri)`
  Begin the scope of a prefix-URI Namespace mapping.

  ### Methods declared in interface DTDHandler

  `notationDecl, unparsedEntityDecl`
  Modifier and Type
  Method
  Description
  `void`
  `notationDecl(String name, String publicId, String systemId)`
  Receive notification of a notation declaration event.
  `void`
  `unparsedEntityDecl(String name, String publicId, String systemId, String notationName)`
  Receive notification of an unparsed entity declaration event.

  ### Methods declared in interface LexicalHandler

  `comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity`
  Modifier and Type
  Method
  Description
  `void`
  `comment(char[] ch, int start, int length)`
  Report an XML comment anywhere in the document.
  `void`
  `endCDATA()`
  Report the end of a CDATA section.
  `void`
  `endDTD()`
  Report the end of DTD declarations.
  `void`
  `endEntity(String name)`
  Report the end of an entity.
  `void`
  `startCDATA()`
  Report the start of a CDATA section.
  `void`
  `startDTD(String name, String publicId, String systemId)`
  Report the start of DTD declarations, if any.
  `void`
  `startEntity(String name)`
  Report the beginning of some internal and external XML entities.

- ## Method Details

  - ### setResult

    void setResult(Result result) throws IllegalArgumentException

    Set the `Result` associated with this `TransformerHandler` to be used for the transformation.

    Parameters:
      `result` - A `Result` instance, should not be `null`.
    Throws:
      `IllegalArgumentException` - if result is invalid for some reason.

  - ### setSystemId

    void setSystemId(String systemID)
    Set the base ID (URI or system ID) from where relative URLs will be resolved.
    Parameters:
      `systemID` - Base URI for the source tree.

  - ### getSystemId

    String getSystemId()
    Get the base ID (URI or system ID) from where relative URLs will be resolved.
    Returns:
      The systemID that was set with `setSystemId(String)`.

  - ### getTransformer

    Transformer getTransformer()

    Get the `Transformer` associated with this handler, which is needed in order to set parameters and output properties.

    Returns:
      `Transformer` associated with this `TransformerHandler`.