Omni Systems, Inc. Mif2Go User's Guide, Version 55
> 15 Converting to DITA XML > 15.1 Generating DITA XML with Mif2Go > 15.1.6 Understanding how Mif2Go generates DITA output
Mif2Go creates DITA XML for the following, based on
either structured or unstructured FrameMaker chapter (.fm
)
and book (.book
) files (not
FrameMaker XML files):
DITA specializations and constraints
Mif2Go uses two methods to identify DITA element boundaries in a FrameMaker document:
Mif2Go determines element nesting (which is not explicit
in unstructured FrameMaker) according to settings in the configuration
file. The <body>
wrapper starts after
any metadata, and continues until the end of the topic or until an element
mapped to related links appears. Mif2Go provides the <body>
and <related-links>
wrappers. Mif2Go wraps each image that has a title in a <fig>
element, along with the title.
Mif2Go supports concept
,
task
, reference
,
topic
, glossary
(for
DITA 1.1), map
, bookmap
(for DITA 1.1), and custom topic types. You can specify the topic type
in a DITAtopic marker. If
a FrameMaker file contains only a single type of topic, you can set a
default per file; then you would need markers only for exceptions. A
format mapped to the <title>
element
(at level 1) identifies the start of a topic. A topic ends at the start
of the next topic, or at the end of the file.
Mif2Go generates DITA <xref>
elements from FrameMaker cross references and hypertext links. For links
to target elements that do not already have IDs specified via DITAElemID
markers, Mif2Go uses either the newlink
marker content or the FrameMaker cross-reference numeric ID for the element
ID. If a target element contains both a newlink
marker and a cross-reference marker, the newlink
marker content becomes the element ID. If a target element has multiple
newlink markers, the content of the
first newlink marker becomes the element
ID.
Mif2Go moves all index entries in a paragraph to the
end, just before the closing tag of the paragraph element. When that
element is not valid as a container for <indexterm>
,
as is the case with <title>
, Mif2Go wraps the index entries in a <ph>
element, which is valid in many more elements (including <title>
).
If the <ph>
wrapper is not valid in that
location, it is up to the author to move the index marker in FrameMaker
to a place where the resulting <indexterm>
(or, if necessary, its <ph>
wrapper)
will be valid in DITA.
Mif2Go generates a DITA map for each FrameMaker chapter
file, and also for the FrameMaker book. The book map can include all
chapter content, or just reference the chapter maps. DITA <reltable>
elements are produced from ALinks; each distinct subject creates one
<relrow>
. The topic types are retained
from the topics themselves. The linking attribute is set to target or
to source in DITARelLinking
markers in the topics. See §16 Configuring
DITA maps.
DITA specializations and constraints
Mif2Go provides a simplified way to represent the hierarchical
information that is contained in the DTD (and in .mod
files) for specialized topic types. Mif2Go does not include class attributes in DITA output;
those are best left to the DTD to provide.
For DITA 1.2 you can impose a “no pernicious
mixed content” constraint by using constraint modules, without
specializing. You can produce constraints the same way as a specialization,
using Mif2Go utility dtd2ini.exe
on the local document type shell and referencing the result in your project
configuration file. (This one-time extra step is required as a result
of licensing.)
To include specializations or constraints in DITA output, see §32 Working with content models.