MDF Overview

Original Author(s): Lynn Leith

The MDF (Markup Definition File) is used by LpStudio/Pro and Sigtuna DAR. These programs take the XHTML Source document as input, and using the rules described in the MDF file they generate the NCC, Content document and SMIL files (= the DTB fileset) from this source document.

Note: "Content document" is the XHTML file in the DTB fileset that contains the full text. It is not the same as the "Source document", which is the full text document in the version prior to import into the production tool.

LpStudio/Pro and Sigtuna DAR each come with a default MDF file ("default.mdf") that can be used to generate the DTB fileset. It is also possible, and sometimes necessary, to create a new MDF file for a specific book. The details of this process are given below.

Note that that the MDF process is not a part of the DAISY standard itself; it is just a method used by the two production tools LpStudio/Pro and Sigtuna DAR. Another production tool may use a completely different method to generate the DTB fileset from a source document.

For each element encountered in the source document, the MDF file must contain instructions on how to treat this element when generating the DTB fileset. These instructions are:

  1. Include in NCC

    If Include in NCC is checked for the current element, this means that the current element should be included in the NCC document.

    Include in NCC should be enabled only for the following elements:

    • span class="page-normal"
    • span class="page-special"
    • span class="page-front"
    • h1,h2,h3,h4,h5,h6 with any class attribute
    • div class="group"
    • span class="noteref"
    • span class="sidebar"
    • span class="optional-prodnote"
  2. Linkback

    If Linkback is checked for the current element, this means that the element in the content document will contain a link into the SMIL file. In this way, any element (such as paragraphs, sentences, words) can be activated in the DAISY DTB by clicking on them in the text display window. This is what is reffered to as "local navigation"

    It is recommended to use linkback for all elements that have text synchronized with audio. This gives a very high quality DTB.

    It also recommended that when linkback is enabled, a stylesheet (CSS) should be associated with the book. This stylesheet should remove the default blue underlined text style of the link.

  3. Nested

    The nested checkbox should be checked if the current element is a child of another element that also has text, and if the child element should become a synchronization item of its own.

     <p>We strongly <em>emphasize</em> one word in this paragraph</p>

    If <em> is included in the MDF with nested checked, the word "emphasize" in the example above will become a separate synchronization item inside the paragraph.

    If <em> is included in the MDF with nested unchecked, the word "emphasize" in the example above will become a separate synchronization item apart from the paragraph. This should be avoided and should not be used.

    If instead <em> is deleted from the MDF, the whole paragraph will be one synchronization item.

  4. Level based on

    Level based on should be set to "nothing" except for headings, where "level based on" should have same value as heading depth.

     Current element is "<h2>" - "level based on" should be "2"

Use "default.mdf" if possible.

LpStudio/Pro and Sigtuna DAR contains a "default.mdf" file which may be sufficient for the production of most books. If it is not sufficiently extensive, you may only need to modify the default mdf slightly. If you modify the default MDF it should be saved under a new MDF file name.

Use the "import source" feature of the mdf editor screen

In the "file" menu of the MDF editor, you may choose the import source feature. It will analyze your source file and suggest MDF settings for each found element. Although it may be necessary to modify the suggested settings slightly, this can be a good way to create an MDF that is customized for a specific book.

Delete elements without text from the MDF

Normally, only elements with text nodes should be included in the MDF file. For example, the element <br /> should be deleted from the MDF, because it has no text.

Another example:
 <li>List item 1</li>
 <li>List item 2</li>

In this example, only "li" has text. Therefore, "ol" should be deleted from the MDF file.

Delete elements from MDF that you do not want as a separate synchronization item.

The example below demonstrates a situation where many producers would choose to delete "em" from the MDF file.

 <p>I was <em>very</em> surprised.</p>

See also

DAISYpedia Categories: 

This page was last edited by LLeith on Tuesday, August 10, 2010 12:02
Text is available under the terms of the DAISY Consortium Intellectual Property Policy, Licensing, and Working Group Process.