Introduction to the DAISY 2.02 DTB Fileset Logic

Original Author(s): Markus Gylling
This article applies only to the DAISY 2.02 standard. For complete information on DAISY standards please visit the Standards area on the DAISY website.

What's the logic? SMIL

A DAISY DTB = a SMIL presentation

There are always one or more SMIL files present in the DTB fileset.

The SMIL files contain information about sequences of media objects (text elements in XML documents, segments of audio files, images) to present to the user in a synchronized (parallel) manner.

In the SMIL file, the element used to define a timing sequence is the <seq>. The element used to define parallel (temporally synchronized) timing is the <par>.



[...]
<seq>
  <par id="par01">
    <text src="document.html#fragment1" id="text01"/>
    <audio src="audio1.mp3" id="audio01"/>
  </par>
  <par id="par02">

    <text src="document.html#fragment2" id="text02"/>
    <audio src="audio2.mp3" id="audio02"/>
  </par>
</seq>
[...]

Using the SMIL files only, a DAISY playback device can make a linear sequential presentation of the whole book, that is, play it from beginning to end. The SMIL files contain all the sequence and syncronization information needed.

What's the logic? Master SMIL

To be able to provide a linear sequential presentation of the DTB, the order of the SMIL files (if more than one) must be known. For this purpose, in Daisy 2.02, the master.smil file is used. This document contains the SMIL file order.


[...]
<ref src="dtb_1.smil" title="Title" id="smil1" />
<ref src="dtb_2.smil" title="Chapter 1" id="smil2" />

<ref src="dtb_3.smil" title="Chapter 2" id="smil3" />
[...]

If the the master.smil file is not present for some reason, it is actually possible to derive the same information from the ncc.html file, see below.

Whats the logic? Navigation Control

The Navigation Control Center (ncc.html)

The user may intervene with the linear sequential presentation provided by the SMIL files alone.

To do this, the user activates a link in the ncc.html document. The Navigation Control Center contains a series of links to certain positions of the SMIL presentation.


[...]
<h1 class="title">
  <a href="dtb_1.smil#par1">Title</a>
</h1>
<span class="page-normal">
  <a href="dtb_1.smil#par2">1</a>

</span>
<h2>
  <a href="dtb_2.smil#par1">Chapter 1</a>
</h2>
<h2>
  <a href="dtb_3.smil#par1">Chapter 2</a>

</h2>
[...]

Note how the links in ncc.html use a URI that contains not only the name of the SMIL file, but also (following the # character) a fragment of that smil file. The target fragment is always the value of an id attribute in the SMIL file.


If you do not remember or know what a URI is, you are advised to read the URI section in the XHTML grammar overview.

Media Objects: Text

The SMIL <par> element has a child element named <text>. This is an empty element that only contains a reference to an external media object. It does not contain textual information in itself.

Typical syntax of the <text> element is:


<text src="document.html#fragment" id="id-value" />

The src attribute contains a URI that points to the XML element that is currently synchronized.

Note how the src attribute value uses a URI that contains not only the name of the XML Text Content document, but also (following the # character) a fragment of that document. The target fragment is always the value of an id attribute in the XML Text Content document.

The id attribute contains a unique identifer of the <text> element itself. This is here so that other URIs (for example, those in the NCC) can refer to this element.

Media Objects: Audio

The SMIL <par> element has a child element named <audio>. This is an empty element that only contains a reference to an external media object. It does not contain audio data in itself.

Typical syntax of the <audio> element is:


<audio src="audiofile.mp3"
       clip-begin="npt=1.000s"
       clip-end="npt=10.392s"
       id="id-value" />

The src attribute contains a URI that points to the audio file that is currently synchronized.

If this synchronization point does not include the audio file in its entirety, it is possible to specify that a only certain segment of the audio file should be played. This is done using the clip-begin and clip-end attributes. These specify the begin time and end time in the audiofile respectively.

The id attribute contains a unique identifer of the <audio> element itself.

Phrase Detection

If phrase detection has been activated in the production tool, the <par> element will have a <seq> child that contains several <audio> elements as children.


<seq>
  <audio [...] />
  <audio [...] />
  <audio [...] />
</seq>


Media Objects: Image

There are two ways to include images in a DAISY DTB.

  1. Include the image in the XML Source Document using the <img /> element.
  2. Include the image in the SMIL file using the <img /> element. This image will typically be a child of a <par> element, just like the <text> and <audio> elements.

Note that the second alternative is currently only supported by Sigtuna DAR 3.

Whats the difference of these two methods from a user point of view?

See also

DAISYpedia Categories: 


This page was last edited by PVerma on Thursday, February 21, 2013 03:39
Text is available under the terms of the DAISY Consortium Intellectual Property Policy, Licensing, and Working Group Process.