Class XMLHandlerRegistry


  • public class XMLHandlerRegistry
    extends java.lang.Object
    This class holds references to various XML handlers used by FOP. It also supports automatic discovery of additional XML handlers available through the class path.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.util.List<XMLHandler>> handlers
      Map containing XML handlers for various document types
      private static org.apache.commons.logging.Log log
      the logger
    • Constructor Summary

      Constructors 
      Constructor Description
      XMLHandlerRegistry()
      Default constructor.
    • Field Detail

      • log

        private static org.apache.commons.logging.Log log
        the logger
      • handlers

        private java.util.Map<java.lang.String,​java.util.List<XMLHandler>> handlers
        Map containing XML handlers for various document types
    • Constructor Detail

      • XMLHandlerRegistry

        public XMLHandlerRegistry()
        Default constructor.
    • Method Detail

      • setDefaultXMLHandler

        private void setDefaultXMLHandler​(XMLHandler handler)
        Add a default XML handler which is able to handle any namespace.
        Parameters:
        handler - XMLHandler to use
      • addXMLHandler

        public void addXMLHandler​(java.lang.String classname)
        Add an XML handler. The handler itself is inspected to find out what it supports.
        Parameters:
        classname - the fully qualified class name
      • addXMLHandler

        public void addXMLHandler​(XMLHandler handler)
        Add an XML handler. The handler itself is inspected to find out what it supports.
        Parameters:
        handler - the XMLHandler instance
      • addXMLHandler

        private void addXMLHandler​(java.lang.String ns,
                                   XMLHandler handler)
        Add an XML handler for the given MIME type and XML namespace.
        Parameters:
        ns - Namespace URI
        handler - XMLHandler to use
      • getXMLHandler

        public XMLHandler getXMLHandler​(Renderer renderer,
                                        java.lang.String ns)
        Returns an XMLHandler which handles an XML dialect of the given namespace and for a specified output format defined by its MIME type.
        Parameters:
        renderer - the Renderer for which to retrieve a Renderer
        ns - the XML namespace associated with the XML to be rendered
        Returns:
        the XMLHandler responsible for handling the XML or null if none is available
      • discoverXMLHandlers

        private void discoverXMLHandlers()
        Discovers XMLHandler implementations through the classpath and dynamically registers them.