DAISY 2.01 Specification
STATUS: This is a formal recommendation of the DAISY Consortium. It has moved to formal recommendation status on September 21, 1999.
Document maintained by: George Kerscher
If you have any questions, comments, or suggestions please contact George Kerscher at kerscher@montana.com
Acknowledgments
Thanks to everyone who has helped to author the working drafts that went into the DAISY 2.01 specification, and to all those who have sent suggestions and corrections.
The authors of this specification, the members of the MarkUp Specification Team deserve much applause for their diligent review of this document, their constructive comments, and their hard work. A special thanks goes to:
George Kerscher, DAISY Consortium / Recording For the Blind and Dyslexic; Mark Hakkinen, Productivity Works; Harvey Bingham, Yuri Rubinski Insight Foundation; David Pawson, Royal National Institute for the Blind; Tatsu Nishizawa, Plextor Ltd; Dominic Labbé, VisuAide Inc.; Lynn Leith, Canadian National Institute for the Blind; Daniel Reinhard, Swiss Library for the Blind and Visually Impaired; Michael Moodie, National Library Service for the Blind and Physically Handicapped Library of Congress; Tom McCartney, Recording For the Blind and Dyslexic; Jason White, Web Accessibility Initiative; Edmar Schut, Dutch Library for the Visually and Print-handicapped Students and Professionals; Susanne Seidelin and Christian Wallin, Danish National Library for the Blind; Thomas Kalish, Association of Talking Book Libraries of Germany; Jan Lindholm, Labyrinten Inc; Tomas Johansson, Swedish Library of Talking Books and Braille; Brink Kuchenbrod and Chad Berkley, University of Montana.
1.0 Preface
This 2.01 specification extends the DAISY 2.0 specification. New functionality has been added that allows player developers to implement features for the end users. It is essential to note that this is an addition to the DAISY 2.0 specification. Essentially this is a module that can be added to increase the functionality. This specification is compatible with the XML DTBook 3.x Document Type Definition developed jointly by the DAISY Consortium and NISO.
2.0 Introduction
The DAISY 2.0 specification should be followed when creating the NCC that accompanies documents created under this 2.01 specification. The NCC is still an HTML file and functionality has been added to it and to the file set that makes up a DAISY Digital Talking Book. The DAISY 2.0 specification is based on HTML. The DAISY 2.01 extends the data representation to the XML DTBook DTD. The source text should be marked up according to that DTD and information about the DTD can be found at: http://www.loc.gov/nls/niso/. The documentation for the DTD can be found at: http://www.loc.gov/nls/niso/dtbook3doc.htm. The URL for the DTD is “http://www.loc.gov/nls/niso/dtbook3.dtd”. Also the DAISY Consortium has produced a set of Structure Guidelines associated with the DTD. Both the DTBook XML DTD and the Structure Guidelines should be used when preparing source files that are based upon this specification.
Producers should create their content using the XML DTD and follow the Structure Guidelines. Six classes of books are defined in the Structure Guidelines.
The extensions to the DAISY 2.0 specification are:
-
-
- User may turn on or off the reading of page numbers, if this is supported in the player. When page numbers are in the NCC direct navigation is already supported.
- User control of note reference, sidebars, and optional producer notes – These items may now be turned on or off by the end user, if the player supports this function. Footnotes, annotations, endnotes, and rear notes, along with non-essential producer notes, and floating sidebars can be turned on or off by the end user. These items may be placed in the NCC to make it easy for the end user to navigate to items they may have skipped.
- Resource list – This allows players to take advantage of the class attribute on structure elements. The player announcements may use these resources to tailor the description of items in the NCC.
-
3.0 Sidebars, Producer Notes, Note References and Page Numbers
The NCC may include references to elements that can be turned on or off by the end user. The default style for these items should be on. The end user may select a style to turn these items off. They may then use the NCC entry to navigate to these items for reading at a later time. This meets the user requirements documents produced by the EBU and NISO for DTB books. Note references , non-essential sidebars, optional producer notes, and page numbers fall into this category.
The “div” element should be used to indicate these items in the NCC body. The class attributes are:
-
-
- sidebar – for references to sidebars
- optional-prodnote – for optional producer notes
- note-pair – for a footnote, endnote, annotation, or rear note reference pair.
-
NOTICE: The note-pair is made up of two parts, the note reference with a class of “noteref”, and the note with a class of “note”. The note reference (noteref) is the normally super scripted character that points to the note, i.e. footnote, annotation, end note or rear note.
NOTICE: Page numbers are defined in the 2.0 specification.
3.1 Sidebar Example
<div id="x123" class="sidebar">
<a id="y123" href="filename.smil#z123">Sidebar</a>
</div>
3.2 Optional Producer Note Example
<div id="x1234" class="optional-prodnote">
<a id="y1234" href="filename.smil#z1234">Producer's Note</a>
</div>
3.3 Reference to Note Pairs (Footnotes, Annotations, End Notes, Rear Notes.)
The example below demonstrates the HTML document coding of a note reference:
<div class="note-pair">
<span id="xabc1" class="noteref">
<a id="xabc2" href="filename.smil#xabc3"><sup>1</sup></a></span>
<span id="xicg123" class="note" >
<a id="afj123" href="filename.smil#xamp3b">Note Text</a>
</span>
</div>
3.4 Example in SMIL File using the SMIL “Switch” Mechanism
In DAISY 2.01 the SMIL 1.0 system-required test attribute is used to control selective playback of content such as sidebars, footnotes, producer notes, and page numbers.
For the NCC sidebar example above the following usage of the switch mechanism in the SMIL file would be used. Let us assume the sidebar has two paragraphs. The SMIL entry would look like this:
<seq>
<par id="xabc1" system-required="sidebar-on">
<audio src="xabc.wav" clip-begin=...>
<text src="xabc.html#xabc2">
</par>
<par id="xabc2" system-required="sidebar-on">
<audio src="xabc.wav" clip-begin=...>
<text src="xabc.html#xabc3">
</par>
</seq>
The playback system would allow the user to control playback of document constructs by exposing to the user a list of optional content, such as the sidebar. If the user requests that sidebars not be presented, the system-required value of “sidebar-on” would not be active. In this case the playback system, when encountering the <par> element with system-required=”sidebar-on”, will ignore that element. On the other hand, if the sidebars are requested by the user, the playback system will set the “sidebar-on” value active, and will play any element with the attribute system-required=”sidebar-on”.
In DAISY 2.01, the following system required values are allowed:
sidebar-on
prodnote-on
footnote-on
pagenumber-on
4.0 Resource File Definition using CSS
Playback systems, both hardware devices and software, require a mechanism to provide audio descriptions of the structural elements of a book. Though some playback systems may support synthetic speech presentation of textual information, pre-recorded audio announcements are preferred as they are most natural and can be supported by all devices. Pre-recorded messages allow a playback device to correctly announce elements such as “chapter”, “section” or any other class name.
A resource file is one mechanism to achieve this functionality. Resources in this case are individual audio files, which are associated with structural elements. In traditional software development models, a single resource file may point to or contain multiple resource definitions. Presently, there are no standards existent for defining resource files for use in this particular application.
DAISY 2.01 uses Audio Style Sheets for defining this resource information. Audio Style Sheets are part of the W3C’s Cascading Style Sheet recommendation (see http://www.w3.org/TR/REC-CSS 2). In addition to providing resource definitions to be used by playback devices, Audio Cascading Style Sheets (ACSS) may be used for general audio styling during playback of DAISY 2.01 books.
Audio Style Sheets provide the necessary definition to associate an audio cue with a structural element. The structural element may be an element name (such as H1) or a class name (such as chapter). A playback device will interpret the Audio Style Sheet and use this information as needed in the user interface to describe elements to the user. Examples include position, “where am I” announcements, and structural summaries.
Generalized audio styling may be supported by a playback device to implement “earcons” and to format textual content for presentation with speech synthesis. This particular utilization of audio styles is not formally defined or required in DAISY 2.01.
4.1 Example of ACSS used as a Resource File
Here is an example of a file which associates an audio file with a document element (H1) and with two class names (“chapter” and “subhead”).
h1 {cue-before: uri("resources/en-h1.wav")}
.chapter {cue-before: uri("resources/en-chapter.mp3")}
.subhead {cue-before: uri("resources/en-subhead.mp3")}
The uri value points to the file which contains the audio to be associated with the element or class name. The location of the audio resource files is left to the producer. In this example, the audio resource files are stored in a “resources” sub-directory.
4.2 Associating the ACSS File with a Book
The standard mechanism for associating a Style Sheet with an HTML document is through the LINK element. The format of the LINK element is:
<link rel="stylesheet" href="en-resource.css" media="aural" title="Daisy Resource File">
In DAISY 2.01, the style sheet link reference should be contained in the NCC.HTML file. Individual HTML and XML source files may also include additional style sheet references for visual and audio presentation. These need to be specified in the documents themselves, using either the HTML or XML style sheet link element, and reference the media attribute value appropriate to the stylesheet.
5.0 Clarifications/Errata
5.1 Required Meta Data in NCC
The DAISY 2.01 specification incorrectly showed the meta data for language with out the DC: prefix. The language identifier should have the DC:language format.
5.2 Handling Unsupported or Unavailable Media Objects
If a player encounters a media type that it can’t play, it should not cause a catastrophic failure in the playback system. The default behavior should be to ignore missing or unsupported media objects. An example of this in a DAISY book is a text event with no associated audio event. A playback system will effectively skip the event, as, without the audio object, it has no implied or explicit duration.