org.apache.fop.render

## Interface XMLHandler

- All Known Implementing Classes:
    AbstractGenericSVGHandler, AFPSVGHandler, Java2DSVGHandler, PCLSVGHandler, PDFSVGHandler, PSSVGHandler, XMLXMLHandler

      public interface XMLHandler

  This interface is implemented by classes that can handle a certain type of foreign objects.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `HANDLE_ALL` Used to indicate that all MIME types or XML namespaces are handled.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getNamespace()`
    `void` | `handleXML(RendererContext context, Document doc, String ns)` Handle an external xml document inside a Foreign Object Area.
    `boolean` | `supportsRenderer(Renderer renderer)` Checks if this XMLHandler supports handling an XML namespace for a particular renderer.

- - ### Field Detail

    - #### HANDLE_ALL

          static final String HANDLE_ALL

      Used to indicate that all MIME types or XML namespaces are handled.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### handleXML

          void handleXML(RendererContext context,
                         Document doc,
                         String ns)
                  throws Exception

      Handle an external xml document inside a Foreign Object Area.

      This may throw an exception if for some reason it cannot be handled. The caller is expected to deal with this exception.

      The implementation may convert the XML document internally to another XML dialect (SVG, for example) and call renderXML() on the AbstractRenderer again (which can be retrieved through the RendererContext).

      Parameters:
        `context` - The RendererContext (contains the user agent)
        `doc` - A DOM containing the foreign object to be processed
        `ns` - The Namespace of the foreign object
      Throws:
        `Exception` - If an error occurs during processing.

    - #### supportsRenderer

          boolean supportsRenderer(Renderer renderer)

      Checks if this XMLHandler supports handling an XML namespace for a particular renderer.
      Parameters:
        `renderer` - the renderer for which to check.
      Returns:
        true if this XML handler supports a particular renderer

    - #### getNamespace

          String getNamespace()

      Returns:
        the XML namespace for the XML dialect this XMLHandler supports, null if all XML content is handled by this instance.

Copyright © 2023 Apache Software Foundation. All rights reserved.