Introduction to the DAISY 2.02 DTB Fileset Logic
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.
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" /> [...]
master.smilfile is not present for some reason, it is actually possible to derive the same information from the
ncc.htmlfile, see below.
The Navigation Control Center (
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> [...]
ncc.htmluse 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
idattribute in the SMIL file.
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" />
src attribute contains a URI that points to the XML element that is currently synchronized.
srcattribute 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
idattribute in the XML Text Content document.
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.
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" />
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-end attributes. These specify the begin time and end time in the audiofile respectively.
id attribute contains a unique identifer of the <audio> element itself.
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>
There are two ways to include images in a DAISY DTB.
- Include the image in the XML Source Document using the <img /> element.
- 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?
Text is available under the terms of the DAISY Consortium Intellectual Property Policy, Licensing, and Working Group Process.