## C. Content model configuration

This section provides an annotated list of configuration sections, keywords, and acceptable values for settings in content-model configuration files.

See also:

§41. Working with content models

    ; ContentModel.txt describes sections used in DITAspecial.ini files,
    ; such as DITAconcept11.ini, as they are supported in dwhtm.dll h283.
    ; Most of it also applies to DocBook content model files; differences
    ; are marked in the descriptions below.

    [Topic]
    ;ModelName = name of type (usually a built-in) to be replaced after
    ; this file loads, effective only when this file is specified in
    ; [DITAContentModels] or [DocBookOptions]ContentModel in mif2htm.ini;
    ; overrides the default use of the filename (without "DITA").
    ModelName=concept
    ;
    ; TopicRoot = name of root element in the DITA or DocBook file for
    ; this type.
    TopicRoot=concept

    ; These two are DITA-only, not for DocBook:
    ; TopicStart = name of element that starts topic, such as "glossterm"
    ; (for glossary) or "title" (for every other type). When the Frame
    ; format mapped to this element in [DITATags] is also mapped to
    ; level 1 in [DITALevels], that format always starts a new topic.
    TopicStart=title
    ; TopicBody = name of its body element, such as conbody for concept.
    TopicBody=conbody

    ; PrologDType = PUBLIC name used in DOCTYPE header, double quotes
    ; are required.
    PrologDType="-//OASIS//DTD DITA Concept//EN".
    ; PrologDTD = SYSTEM name, such as "concept.dtd", can include a path,
    ; double quotes are required.
    PrologDTD="http://docs.oasis-open.org/dita/v1.1/CD01/dtd/concept.dtd".
    ;
    ;TopicDerivation = name of type from which it is derived, either one of
    ; the defined types (topic, concept, task, reference, glossary, or map)
    ; or another specialized type for which an .ini is available.  Needed
    ; iff the description in the rest of the sections is additive rather
    ; than complete in itself; omitted otherwise.  Not used for .inis that
    ; were generated by dtd2ini, which are always complete.
    TopicDerivation=topic
    ;
    ;DumpToFile = name with optional path of file in which to dump the
    ; tagset information (including error lists) after loading, for debug;
    ; default none, meaning don’t dump.  If the tagset is used more than
    ; once in processing the Frame file, it is dumped only the first time.
    DumpToFile=concept2dump.txt

    ; For DITA working examples of the following sections, see the files
    ; DITAtopic*.ini, DITAconcept*.ini, DITAtask*.ini, DITAreference*.ini,
    ; DITAglossary*.ini, DITAbookmap*.ini and DITAmap*.ini, where * is
    ; 10 for version 1.0 and 11 for version 1.1.  DocBook examples are
    ; docbook45b.ini (book as root) and docbook45a.ini (article as root).

    [TopicParents]
    ; Element name = possible parents.  All elements other than the topic
    ; type itself, amd its body type, must be listed on the left here.
    ; The two reserved parent names are "Any" (any parent is acceptable,
    ; mainly for inline elements) and "No" (for any elements present in
    ; the derived-from type that are excluded from this type).  If there
    ; is more than one possible parent, they must be defined as a single
    ; set, and listed in [ElementSets] below.

    [ElementSets]
    ; Name for set = list of elements.  This allows grouping of elements
    ; for use on the right side of [TopicParents] and [TopicFirst], so
    ; that the same set of parents can be used for more than one element.
    ; The lists of elements on the right here can include sets too, as
    ; building blocks.  The sets are roughly equivalent to the parameter
    ; entities used in the DITA DTDs.  Set names must start with "*", and
    ; sets can include other sets.  Included sets should preferably be
    ; defined above the sets including them; in any case, circular set
    ; references (set A includes set B and set B includes set A, directly
    ; or indirectly) will not work.

    [ElementTypes]
    ; Element name = list of properties: Block or Inline, Text, and
    ; Preform; default is Block without Text.  The Block and Inline
    ; properties determine whether returns are inserted before start
    ; tags and after end tags.  The Text property determines whether
    ; an attempt is made to wrap any invalid text (in an element that
    ; does not allow Text) in a valid container element, like <ph>.
    ; Preform determines whether whitespace within the element is
    ; retained as is; those elements are always block and allow text.
    ; For example:
    para=Block Text
    ph=Inline Text
    section=Block
    menucascade=Inline
    codeblock=Block Text Preform

    [TopicLevels]
    ; Element name = required level in topic, used only for elements that
    ; must be at a specific level, such as shortdesc, prolog, body, and
    ; related-links at level 1, and example and metadata at level 2.
    ; The content models generated by dtd2ini name only level 1 elements.

    [TopicFirst]
    ; Child element = parents, where child must be the first child of the
    ; specified parents; if child is not first, the current parent is
    ; closed and a new instance of it is started.  Used mainly for lists,
    ; as in dt=dlentry and pt=plentry, and for title=Any.  To add more
    ; than one parent when Any won’t do, specify them in [ElementSets].

    ; The remaining sections are used for DITA only, not DocBook:

    [TopicTables]
    ; Table name = name of section that describes it below.  All supported
    ; by this topic type (other than those defined in the type derived from)
    ; are defined here.  Note that multiple named tables can define variants
    ; of the same DITA TableType; the name is purely a Mif2Go identifier.
    ; A name can be undefined in a derived topic type by setting name=No.
    ; Since dtd2ini does not generate these sections, they must either be
    ; included in dtd2ini.ini as [AddedSections], or added to the generated
    ; content model .ini manually after dtd2ini produces it.

    ; These examples of table descriptions show all available table settings.

    [PropertyTable]
    TableType=properties
    ;ColCountMax default is 0, for unlimited, as for simpletable
    ColCountMax=3
    ;
    ;HeadRowMax default is 0, for unlimited head rows.
    HeadRowMax=1
    ; HeadRow is applied only to the initial rows, iff they are head
    ; rows in the Frame file.
    HeadRow=prophead
    ; All cells are used; to omit some, define another table name with
    ; fewer columns but the same TableType.
    HeadCell1=proptypehd
    HeadCell2=propvaluehd
    HeadCell3=propdeschd
    ;
    Row=property
    Cell1=proptype
    Cell2=propvalue
    Cell3=propdesc

    [SimpleTable]
    TableType=simpletable
    HeadRowMax=1
    HeadRow=sthead
    Row=strow
    Cell=stentry

    [ComplexTable]
    TableType=complex
    ; TableTitle default is No, for no title.
    TableTitle=Yes
    ; TableDesc default is no desc.
    TableDesc=desc
    ; TableGroup default is no group’
    TableGroup=tgroup
    ; ColSpec default is no column specs
    ColSpec=colspec
    ; The next three items are all colspec attributes
    ColNum=colnum
    ; ColSpecName is required if ColSpanNames=Yes or ColName is
    ; used, below. It is created using ColNamePrefix, below.
    ColSpecName=colname
    ColWidth=colwidth
    ;
    ; HeadGroup default is no group, use head rows only.
    HeadGroup=thead
    ; HeadRow Default is same row element as for body.
    HeadRow=hrow
    ; HeadCell default is same cell element as for body
    HeadCell=hentry
    ;
    ; BodyGroup default is no group, use body rows only.
    BodyGroup=tbody
    Row=row
    Cell=entry
    ;
    ; RowSpan is a cell attribute name; default is no rowspan.
    RowSpan=morerows
    ;
    ; ColSpanNames default is true to use names, false uses count.
    ColSpanNames=Yes
    ; The next four settings are all cell attributes.
    ; ColSpanCount is count of cells spanned, if ColSpanNames=No.
    ColSpanCount=span
    ; ColSpanStart is ref to first colspec name if ColSpanNames=Yes.
    ColSpanStart=namest
    ; ColSpanEnd is ref to last colspec name if ColSpanNames=Yes.
    ColSpanEnd=nameend
    ; ColName is ref to single colspec name for non-spanning cells.
    ColName=colname
    ; ColNamePrefix is for colspec names, default col as in DITA-OT.
    ColNamePrefix=col
    ; CellAlign default is No, when Yes use align and valign attrs.
    CellAlign=Yes

    [End]

Previous Topic: B. Element type default properties

Parent Topic: VIII. Reference

Sibling Topics:

A. Technical support for DITA2Go

B. Element type default properties