26.5.3 Fixing up interpolated ancestries

Creating DocBook structure from formats necessarily involves some trial and error. When you see unexpected interpolation of inappropriate parent elements in your output, it is usually because you have not specified parents for a particular format-to-element mapping. For example, suppose you map paragraph format Ref to <para>, and use a Ref paragraph at the top level of each reference section, where <para> is not valid. On encountering a Ref paragraph in this situation, with no parents specified for the Ref format, DITA2Go would go through the list of valid parents for <para> in a reference section, and interpolate the first set that works.

The remedy is to figure out what would be a more appropriate lineage for the element in question. You could specify that lineage for the format in [DocBookParents] if it applies generally, or insert a DocBookParent PI marker in the paragraph for an isolated instance. In this example, the following mapping would produce better results:

[DocBookParents]
Ref = refentry refsect1

The DITA2Go search algorithm finds the shortest path, but that is not always the only shortest path, or the best path.

See also:

§26.4.2.3 Omitting invalid tags for default DocBook block elements

Previous Topic:  26.5.2 Designating DocBook ancestor elements

Next Topic:  26.5.4 Deciding when to fully specify ancestry

Parent Topic:  26.5 Nesting DocBook block elements

Sibling Topics:

26.5.1 Understanding how DITA2Go determines element nesting

26.5.2 Designating DocBook ancestor elements

26.5.4 Deciding when to fully specify ancestry

26.5.5 Specifying alternate ancestries for the same element

26.5.6 Specifying first-child status for nested elements

26.5.7 Specifying full ancestry for nested sections

26.5.8 Closing DocBook ancestor elements

26.5.9 Opening DocBook ancestor elements

26.5.10 Configuring multi-paragraph list items

26.5.11 Specifying DocBook element levels