Inline area generating LMs and Inline area containing LMs
and their corresponding FO nodes

In the listings below the LMs are followed by the FO nodes that
generate them.

The following LMs may occur in inline content
BidiLayoutManager extends LeafNodeLayoutManager: BidiOverride
ContentLayoutManager: Leader with use-content property set
ICLayoutManager extends LeafNodeLayoutManager: InlineContainer
InlineStackingLayoutManager: FObjMixed, Inline, BasicLink (anonymous
LeafNodeLayoutManager: Leader (anonymous subclass, may
        insert other LMs), Character, ExternalGraphic,
        InstreamForeignObject, PageNumber (anonymous subclass),
        PageNumberCitation (anonymous subclass)
RetrieveMarkerLayoutManager (depending on the marker): RetrieveMarker
TextLayoutManager: FOText
ToBeImplementedElementLayoutManager: MultiSwitch, MultiPropertySet,

The following LMs may contain #PCDATA or inline content
InlineStackingLayoutManager: Title
LeafNodeLayoutManager: Leader (anonymous subclass, may insert other

The following LMs may contain #PCDATA, inline or block content
InlineStackingLayoutManager: Inline, BasicLink (anonymous subclass),
LineLayoutManager: Block
ToBeImplementedElementLayoutManager: MultiCase, MultiToggle

For the FO nodes and their LMs, see AddLMVisitor.

For inline content, see the FO spec., sections 6.2 Formatting Object
Content, 6.6, Inline-level Formatting Objects, 6.9 Dynamic Effects:
Link and Multi Formatting Objects. For content models, see the FO
spec., section 6.

This is a block element that uses most of them (substitute some other
name for the graphic):

<fo:block language="en" country="US"
  hyphenate="true" text-align="justify">
  We start with some normal text.
  A character FO: <fo:character character="A"/>
  An external graphic: <fo:external-graphic src="Question.gif"/>
  An SVG graphic:
  <fo:instream-foreign-object id="svg">
    <svg:svg width="20" height="20" xml:space="preserve">
      <svg:g style="fill:red; stroke:#000000">
        <svg:rect x="0" y="0" width="15" height="15"/>
        <svg:rect x="5" y="5" width="15" height="15"/>
  <fo:inline background-color="blue">
    A text with a blue background.
  A ruled leader: <fo:leader leader-length="120pt" 
    leader-length.maximum="200pt" leader-pattern="rule"/>
  <fo:inline background-color="blue">
    A text with a blue background,
    <fo:inline background-color="red">
      and some text with a red background
      (<fo:basic-link internal-destination="svg">SVG</fo:basic-link>)
    inside it.
  A leader using a content pattern:
  <fo:leader leader-length="120pt" leader-length.maximum="200pt"
  This is page number <fo:page-number/>.
  The SVG graphic is on page number
  <fo:page-number-citation ref-id="svg"/>.
  This is a link to the
  <fo:basic-link internal-destination="svg"><fo:inline 
  We end with some normal text.

Note that Luca's patch causes a loop on this block. The null
implementation of AbstractLayoutManager.getNextKnuthElement causes
this. It should be modified to finish the LM:

public KnuthElement getNextKnuthElement() {
    return null;

Regards, Simon
Simon Pepping
home page:

Reply via email to