Package org.apache.fop.fo
Class ElementMappingRegistry
java.lang.Object
org.apache.fop.fo.ElementMappingRegistry
This class keeps track of all configured ElementMapping implementations which are responsible
for properly handling all kinds of different XML namespaces.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<String,
Map<String, ElementMapping.Maker>> Table mapping element names to the makers of objects representing formatting objects.protected Map<String,
ElementMapping> Map of mapped namespaces and their associated ElementMapping instances. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addElementMapping
(String mappingClassName) Add the element mapping with the given class name.void
addElementMapping
(ElementMapping mapping) Add the element mapping.findFOMaker
(String namespaceURI, String localName, Locator locator) Finds the Maker used to create node objects of a particular typegetDOMImplementationForNamespace
(String namespaceURI) Tries to determine the DOMImplementation that is used to handled a particular namespace.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.
-
Field Details
-
fobjTable
Table mapping element names to the makers of objects representing formatting objects. -
namespaces
Map of mapped namespaces and their associated ElementMapping instances.
-
-
Constructor Details
-
ElementMappingRegistry
Main constructor. Adds all default element mapping as well as detects ElementMapping through the Service discovery.- Parameters:
factory
- the Fop Factory
-
-
Method Details
-
addElementMapping
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
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 elementlocalName
- name of the Elementlocator
- 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
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
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
Indicates whether a namespace is known to FOP.- Parameters:
namespaceURI
- the namespace URI- Returns:
- true if the namespace is known.
-