# Package org.apache.fop.fo

Classes, constants and basic infrastructure for the FO tree.

See: Description

Interface Summary
Constants: Definition of constants used throughout FOP.
FONode.FONodeIterator: Base iterator interface over a FO's children, offering three methods on top of the base interface methods.
FOValidationEventProducer: Event producer interface for XSL-FO validation messages.
GraphicsProperties: This interface provides access to properties necessary to calculate the size and positioning of images and graphics inside a viewport.
PropertyListMaker: A PropertyListMaker is a factory that creates PropertyLists.

Class Summary
CharIterator: Abstract base class for iterators that should iterate through a series of characters.
DelegatingFOEventHandler: This class delegates all FO events to another FOEventHandler instance.
ElementMapping: Abstract base class for Element Mappings (including FO Element Mappings) which provide the framework of valid elements and attributes for a given namespace.
ElementMapping.Maker: Base class for all Makers.
ElementMappingRegistry: This class keeps track of all configured ElementMapping implementations which are responsible for properly handling all kinds of different XML namespaces.
FObj: Base class for representation of formatting objects and their processing.
FObj.FObjIterator: Basic `FONode.FONodeIterator` implementation
FObjMixed: Abstract base class for representation of mixed content formatting objects (= those that can contain both child `FONode`s and `#PCDATA`).
FOElementMapping: Element mapping class for all XSL-FO elements.
FOEventHandler: Abstract class defining what should be done with SAX events that map to XSL-FO input.
FONode: Base class for nodes in the XML tree
FONode.GatherContextInfoFunction: Function for AdvancedMessageFormat to retrieve context info from an FONode.
FOPropertyMapping: This class creates and returns an array of Property.Maker instances indexed by the PR_* propId from Constants.java.
FOText: A text node (PCDATA) in the formatting object tree.
FOTreeBuilder: SAX Handler that passes parsed data to the various FO objects, where they can be used either to build an FO Tree, or used by Structure Renderers to build other data structures.
FOTreeBuilderContext: Context class providing information needed while building the FO tree.
FOValidationEventProducer.Provider: Provider class for the event producer.
NullCharIterator: Class providing an iterator for zero characters.
OneCharIterator: Class providing an iterator for one character.
PropertyList: Class containing the collection of properties for a given FObj.
RecursiveCharIterator: Kind of a super-iterator that iterates through child nodes of an FONode, in turn managing character iterators for each of them.
StaticPropertyList: A very fast implementation of PropertyList that uses arrays to store the explicit set properties and another array to store cached values.
StringCharIterator: Class providing an (FO flavored) char iterator for a string.
UnknownXMLObj: Class for handling generic XML from a namespace not recognized by FOP
UnknownXMLObj.Maker: Inner class for an UnknownXMLObj Maker
XMLObj: Abstract class modelling generic, non-XSL-FO XML objects.
XMLWhiteSpaceHandler: Class encapsulating the functionality for white-space-handling during refinement stage.

Exception Summary
ValidationException: Exception thrown during FO tree validation.

## Package org.apache.fop.fo Description

Classes, constants and basic infrastructure for the FO tree.