ElementMappingRegistry (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.fo

## Class ElementMappingRegistry

- java.lang.Object
- - org.apache.fop.fo.ElementMappingRegistry

-     public class ElementMappingRegistry
      extends Object

  This class keeps track of all configured ElementMapping implementations which are responsible for properly handling all kinds of different XML namespaces.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<String,Map<String,ElementMapping.Maker>>` | `fobjTable` Table mapping element names to the makers of objects representing formatting objects.
    `protected Map<String,ElementMapping>` | `namespaces` Map of mapped namespaces and their associated ElementMapping instances.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ElementMappingRegistry(FopFactory factory)` Main constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addElementMapping(ElementMapping mapping)` Add the element mapping.
    `void` | `addElementMapping(String mappingClassName)` Add the element mapping with the given class name.
    `ElementMapping.Maker` | `findFOMaker(String namespaceURI, String localName, Locator locator)` Finds the Maker used to create node objects of a particular type
    `DOMImplementation` | `getDOMImplementationForNamespace(String namespaceURI)` Tries to determine the DOMImplementation that is used to handled a particular namespace.
    `ElementMapping` | `getElementMapping(String namespaceURI)` Returns an ElementMapping class for a namespace URI if there is one.
    `boolean` | `isKnownNamespace(String namespaceURI)` Indicates whether a namespace is known to FOP.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### fobjTable

          protected Map<String,Map<String,ElementMapping.Maker>> fobjTable

      Table mapping element names to the makers of objects representing formatting objects.

    - #### namespaces

          protected Map<String,ElementMapping> namespaces

      Map of mapped namespaces and their associated ElementMapping instances.

  - ### Constructor Detail

    - #### ElementMappingRegistry

          public ElementMappingRegistry(FopFactory factory)

      Main constructor. Adds all default element mapping as well as detects ElementMapping through the Service discovery.
      Parameters:
        `factory` - the Fop Factory

  - ### Method Detail

    - #### addElementMapping

          public void addElementMapping(String mappingClassName)
                                 throws IllegalArgumentException

      Add the element mapping with the given class name.
      Parameters:
        `mappingClassName` - the class name representing the element mapping.
      Throws:
        `IllegalArgumentException` - if there was not such element mapping.

    - #### addElementMapping

          public void addElementMapping(ElementMapping mapping)

      Add the element mapping.
      Parameters:
        `mapping` - the element mapping instance

    - #### findFOMaker

          public ElementMapping.Maker findFOMaker(String namespaceURI,
                                                  String localName,
                                                  Locator locator)
                                           throws FOPException

      Finds the Maker used to create node objects of a particular type
      Parameters:
        `namespaceURI` - URI for the namespace of the element
        `localName` - name of the Element
        `locator` - the Locator instance for context information
      Returns:
        the ElementMapping.Maker that can create an FO object for this element
      Throws:
        `FOPException` - if a Maker could not be found for a bound namespace.

    - #### getDOMImplementationForNamespace

          public DOMImplementation getDOMImplementationForNamespace(String namespaceURI)

      Tries to determine the DOMImplementation that is used to handled a particular namespace. The method may return null for namespaces that don't result in a DOM. It is mostly used in namespaces occurring in foreign objects.
      Parameters:
        `namespaceURI` - the namespace URI
      Returns:
        the handling DOMImplementation, or null if not applicable

    - #### getElementMapping

          public ElementMapping getElementMapping(String namespaceURI)

      Returns an ElementMapping class for a namespace URI if there is one.
      Parameters:
        `namespaceURI` - the namespace URI
      Returns:
        the requested ElementMapping or null, if no ElementMapping for the namespace is available.

    - #### isKnownNamespace

          public boolean isKnownNamespace(String namespaceURI)

      Indicates whether a namespace is known to FOP.
      Parameters:
        `namespaceURI` - the namespace URI
      Returns:
        true if the namespace is known.

Copyright © 2025 Apache Software Foundation. All rights reserved.