DAISY 2.02 Skippable Structures Recommendation

DAISY 2.02 Skippable Structures Recommendation

Recommendation, June 6, 2003

Table of contents

Status of This Document

This is a formal recommendation of the DAISY Consortium.

1 Background

The optional features described in the DAISY 2.02 specification as of October 2002, have not been implemented in production tools or in playback systems. Several Members of the DAISY Consortium serving students have been extremely vocal about the need for this feature! These technical individuals in collaboration with the technical DAISY staff described a strategy to implement these features that is completely independent of LpStudio/Pro or Sigtuna DAR. Organizations who wish to implement these features would be required to include additional markup in their source files and to use a post processing tool on the completed project to add this functionality. The Board directed work to proceed with the “Daisy 2.02 Skippable Structures Recommendation.”

Authors
Markus Gylling, DAISY
Edmar Schut,FNB
Niels Thøgersen, IBOS
Per Sennels, Huseby
George Kerscher, DAISY

2 Introduction

2.1 What are skippable structures and why would an organization want to implement them?

The DAISY 2.02 specification identifies optional skippable structures that empower an end user to configure their player to automatically “skip over” several types of elements found in most books and especially in student materials. Footnotes, optional producer notes, sidebars, and the voicing of page numbers are the items that this specification addresses. If the feature of skippable page numbering is added, a conforming player would allow the end user to turn off the automatic reading of page numbers as they are encountered. For example, in a leisure book, the page numbers may be intrusive to reading and implementing this feature in your Digital Talking Book (DTB) would mean that the end user has the option of hearing the page number or not. Likewise, many times the reading of footnotes or long figure descriptions is something the end user may choose to automatically skip with the press of a button.

NOTICE: Every skippable structure is a navigation point in the NCC. In this way, an end user may at any time easily navigate to the page number, footnote, endnote, rear note,optional producer note, or sidebar.

2.2 Who Should Read This Document

Developers of playback and reading systems
Developers will find the descriptions they need and references to supporting materials that enable the features to be implemented in their hardware players or their software reading system.
Developers of production tools
Commercial developers or member organizations creating tools to improve the efficiency of their production should read this specification, examine the supplemental materials, and also communicate with other organizations to avoid duplication of efforts.
Technical production staff
Both the designers of the Digital Talking Books (DTB) and the technical staff that will be creating the source files need to read this specification. A clear understanding of the markup will result in adding increased functionality to the DTB they create.

2.3 Design Goals

This recommendation is designed to be a simple process to implement Skippable Structures in DAISY 2.02 DTBs. The base specification for skippable content is described in sections 2.1.12 to 2.1.13.2 of the Daisy 2.02 specification.

2.3.1 The Recommendation MUST:

  • not challenge nor break current recording tools. The recording tool should be “unaware” of the process.
  • make it as simple and clear as possible for narrators.
  • be easy for playback systems to implement. It should demand as little additional intelligence as possible.

2.3.2 The Recommendation WILL

  1. introduce a pre-process rule set regarding
    1. content document markup and
    2. mdf syntax
  2. introduce a post-build process Skippability Tweaker Tool that modifies the file set.
  3. cover full text DTBs and NCC only DTBs. However, the primary focus is full text DTBs; additional markup work will be required for NCC only DTBs.
  4. use markup syntax that supports a possible future upward transform to DAISY 3.
  5. use markup syntax in this recommendation that allows for XML DTBook source mastering, followed by downward transform to XHTML 1.0.

2.3.3 This Recommendation is NOT Going To:

  • modify the DAISY 2.02 specification.
  • provide a markup tool(s) that supplies the required markup. This may follow as by-products, but is not a deliverable of this work.
  • directly provide player implementations
  • provide the transform sheets mentioned above

2.3.4 This Recommendation presupposes:

  • the use of a production tool using an MDF construct at project onset, such as LpStudio/Pro or Sigtuna DAR.
  • the use of an XHTML compliant markup tool to enhance existing source documents, or to create source files with required markup.

2.4 Overview of Process

The functionality of automatic skippability lies in the SMIL files. A “test” attribute is added to a portion of the SMIL and if this test evaluates to true, the portion is played. If the test evaluates to false, the portion is skipped. The attribute used for this purpose in the DAISY 2.02 specification is “system-required”, as defined in the W3C SMIL 1 specification section 4.4. The Skippability Tweaker Tool is a post-recording application that adds the system-required attribute to the appropriate portions of the SMIL file that have been identified. To do this the producer will need to:

  1. create the source document with special elements and class attributes for any skippable structure you want identified. The full text and NCC only markup requirements are described later in this document.
  2. In NCC only DTB, an additional text element is added to the source following the skippable structure. This next text item is important, because this will be the target position if the element is skipped.
    NOTICE: If the next element following a skippable structure is present, i.e. a heading is immediately following a page number, there will be no additional text element, because that text element will be the target after the skipped portion.
  3. Validate the source document using an internal subset DTD extension to the XHTML transitional DTD. This process is explained in detail in the section Markup Requirements in the Source Document below.
  4. Remove the inline extension reference to bodyref, because the presence of this inline extension is not supported in LpStudio/Pro or Sigtuna DAR.
  5. Use a MDF file that has these special elements and attributes identified and where link back, nested, and include in NCC are properly configured. This MDF file is included as part of the deliverables of this recommendation.
  6. The producer then uses their production tool and creates the project as usual using the imported source document.
  7. The project is recorded as usual, being certain to press next text after reading the content of the skippable element.
  8. Cleanup the project as usual.
  9. Create the master archive as usual.
  10. Validate the master archive using the 2.02 Validator as usual.
  11. Make a backup of this master archive as usual.
    NOTICE: If you need to modify the DTB in the future, this archive master that is unmodified by the Skippability Tweaker Tool will need to be used; LpStudio/Pro and Sigtuna DAR will not handle the DTB once modified.
  12. Create the distribution master as a single volume.
  13. Run the Skippability Tweaker Tool on the single volume distribution master. This will change and update the SMIL, NCC, and the master SMIL file.
  14. Validate the distribution master using the 2.02 Validator as usual.
  15. If a multi-volume DTB is to be created, a separate tool will be used for this process.
  16. Make a backup of the enhanced distribution master as usual.

2.5 Support In Players

As of May 2003, one software player has announced support for skippable structures. Apart from this, software or hardware players generally do not support skippable structures. Testing will need to be conducted to confirm that the presence of skippable structures will not interfere with the normal playback in players that do not support this feature. When presented with a DTB that includes skippable content, conforming players must not fail.

The DAISY Consortium is actively encouraging player developers and manufacturers to support skippable structures. To do this, the following is being made available:

  • this recommendation;
  • sample conforming valid DTB available via anonymous ftp at ftp.daisy.org;
  • support through the DAISY Technical Developments list;
  • evaluation of player implementations through the DAISY Technical Developments list;
  • recognition of supporting implementations on the DAISY Web site.

3 Deliverables

This recommendation includes items that are being delivered to the Members and Friends of the DAISY Consortium. They are:

Skippable Structures Enhancement Recommendation
This document
Skippability Tweaker Tool
This application is written in Microsoft Visual Basic™, using MSXML as main processor. It will be deposited as open source once completed. It is a post-processing application that should be used on documents that use the markup described in this recommendation. It will update the DTB fileset and add the syntactical constructs as identified in the DAISY 2.02 specification.
Skippability Tweaker Tool Manual
The documentation for the tool will be provided.
Two Sample DTB
One NCC only and one full text DTB will be provided and made available on the FTP site. These are very small and will be valid. It is expected that producers using this specification will produce other DTB that can be used for testing, but these are not provided as part of this specification.
Markup Definition File (MDF)
The MDF is included on the FTP site and has also been included as the default MDF with LpStudio/Pro.
Narrator and End User Style Sheets
The enhanced style sheets used in LpStudio/Pro have been developed. These ship with version 1.6. There are additional end user style sheets that applications may use.
Markup requirements
In this recommendation the markup requirements are defined. These must be used for the Skippability Tweaker Tool to work properly.
Source documents showing the markup examples
The source documents that were used to create the two sample DTB are provided for reference.

4 Player Behaviors

A DAISY 2.02 conforming player is not required to support skippable structures, because it is an optional feature. However, when skippable structures are encountered, the player is required NOT to fail.

The DAISY Consortium strongly recommends that player developers and manufacturers support skippable structures; it may be helpful to provide a general description of the expected player behaviors. Developers are free to innovate with skippable structures in order to differentiate their product in the marketplace; as such these behaviors are only suggestions that come from many hours of discussion.

4.1 General Considerations

In discussions with end users and developers, the notion of a configuration interface was discussed. This would allow a end user to set their reading preferences and have the player remember their preferred settings. These settings may be saved globally, or they may be saved on a per book basis. For example, an end user may want to have the reading of page numbers skipped for the current novel, and page numbers on for the textbook they are currently reading. Other player developers may select to have the end user configure their default settings and store these for all reading; any changes made for their current session would not be saved. For example, an end user may have the default setting to skip footnotes, but on a per session basis select the reading of footnotes as they reread the footnotes from the chapter they have just completed. A configuration interface might cycle through the various player provided options and the end user selects from the list and finally stores these as their default preferences.

Another idea is escapable or Next Text as part of end user control. If a player is currently playing a skippable structure, the end user may want to simply hit a single button and jump past it. For example, a long figure description, which is marked as an Optional Producer Note could be escaped by hitting the next text button. The player would jump past the current skippable structure. The player’s implementation may strongly influence how the end user may want to configure their player. If it is very easy to go to next text, they may choose to have more things read by default. There is a danger that should be identified; If an end user is not in a skippable structure, what will the player do? If it goes to the next par in the SMIL, an unknown portion of the book may have been skipped. This presents interesting user interface design considerations.

NOTICE: The markup requirements defined in this document identifies a target for the end of all skippable structures, which is the continued text. The conforming player will know exactly where to resume reading.

4.2 Page Numbers

Providing skippable page numbers is an interesting option for end users. In the analog world, page numbers were normally read for study materials and not included for leisure reading, because the voicing of page numbers is considered to be intrusive. Now, the option is provided to automatically skip the intrusive reading of page numbers. Producers may elect to insert page numbers and have the end user configure their player to skip these intrusions. This makes the same version of DTBs equally useful for leisure or for study.

Player provided Options:

  • Always play page numbers;
  • Always skip page numbers;
  • only play page numbers when the end user selects go to page;
  • other innovations?

4.3 Sidebars

Many books contain incidental, non-essential, and sometimes even distractive information. This may be in margins or boxed somewhere on the page. The common characteristic about sidebars, is that the information is not essential to the understanding of the book. If it is acceptable for the end user to skip certain margin and boxed information, or anything else that is set off from the normal flow of text, it should be marked as an sidebar.

In DAISY 3, the ANSI/NISO Z39.86-2002 specification, the element notice is defined. This is essential information that is normally in the margin , boxed or in some other way breaks the flow of text. The producer has the option of identifying things as either sidebars, which may be skipped, or notices, which are never skipped and must be positioned correctly in the reading order. Notices are not addressed in this specification, because it is not a skippable structure.

The producer may wish to markup notices that are essential with the class attribute of “notice”, however the Skippability Tweaker Tool will not do anything with this element. The tool will only address span elements with the class “sidebar”.

Player provided Options:

  • Always read sidebars;
  • always skip sidebars;
  • If playing a sidebar, allow escaping or going to next text;
  • other innovations?

4.4 Optional Producer Notes (optional-prodnote)

In accessible versions of documents braille transcribers and narrators will insert descriptive information in the document. These are generally referred to as “producer notes”. In some cases these are essential, such as safety information that is contained in a graphic that must be described. Other producer notes may be long figure descriptions that the end user may wish to skip. These optional producer notes are marked up as described later in this document. The player should provide options for the automatic skipping of these optional producer notes.

Player provided Options:

  • Always read optional producer notes;
  • always skip optional producer notes;
  • If playing an optional producer note, allow escaping or going to next text;
  • other innovations?

4.5 Optional Producer Notes and Page Numbers Nested Inside Sidebars

The expected player behavior of a producer note or a page number nested inside a sidebar is that if the sidebars are turned off, then the producer note and the page number should not be read. However, this is impossible to specify in DAISY 2.02. It is supported in DAISY 3, the ANSI/NISO Z39.86. In DAISY 3, there are new constructs that allow a whole series of associated parallel constructs to be ignored, or escaped.

The only situation where this problem will occur, is when reading of sidebars is turned off and optional producer notes or page numbers are turned on, and when the optional producer note or page number are nested inside the sidebar.

4.6 Footnotes, Endnotes, and Rear notes

Notes of any type referenced from within text are the most interesting and useful application of skippable structures. It is also the most difficult to describe. To make it clear, a list of definitions are provided:

note reference (noteref)
In the flow of normal text, many times you will see a superscripted number or symbol. This is a note reference and points to the note body contained either at the foot of the page, at the end of the chapter, or in an appendix at the rear of the book.
footnote
Footnotes are the body of a note found at the bottom of a page. The note reference is normally found somewhere on the current page.
endnotes
When the body of notes are collected at the end of the chapter instead of at the foot of the page, they are called endnotes.
rear notes
When the body of notes are collected at the rear of a book, normally in an appendix, they are referred to as rear notes.
note body reference (bodyref)
A note body reference is the linkage between the note reference and the footnote, endnote, or rear note. This linkage or association is made by a number or symbol that is superscripted in the text and is also superscripted in front of the body of the footnote, endnote, or rear note.
note body, or just the note
The content of a footnote, endnote or rear note; it does not matter where the note physically is in the book.

End users have told us that they want to be able to read (listen to) the note body where it is referenced; or select not to read (hear) the note body; or to hit a key and jump past the note; or to hit a button and read a note they have just read (heard) that was mentioned. This set of user requirements are all enabled with the markup and the modifications made to the SMIL by the Skippability Tweaker Tool. It is helpful to describe the options of this tool.

Narrators record the text of the document. When they come to a note reference, they hit the next text key, read the superscripted number or symbol, and hit next text and continue reading. The footnote, endnote, or rear note is not read at that time. The note body may be read later, when it is encountered in text. Of course, the producer is free to read the note body at any time in their production process, but it is not necessary to read it right after the note reference in the text.

the Skippability Tweaker Tool provides the options to:

  1. always MOVE the SMIL par that contains the note body to the spot immediately following the note body reference (bodyref). The provision of the association or linkage of the note body reference (bodyref) enables the linkage to be made;
  2. always COPY the SMIL par that contains the note body to the spot immediately following the note body reference (bodyref)
  3. Provide the option to MOVE footnotes, and to COPY endnotes and rear notes of the SMIL par that contains the note body to the spot immediately following the note body reference (bodyref).

The SMIL par is copied or moved, but the audio file remains unchanged. If it is copied, it would be placed twice. First immediately following the note reference, and a second time where it occurs in the text. In the case of moving footnotes and copying endnotes and rear notes, the footnote would not be read twice, but only where it is referenced. The endnotes and rear notes would be read twice, once where they were referenced and they would remain at the end of the chapter or at the rear of the book.

The construction of the data enables the functionality the users require; the interface design of the players must deliver the power to the end user.

If the reading of notes of all types is turned on, the player simply plays all content where it occurs. For example, if there are three note references at the end of a paragraph, the player would read the first note reference, followed by its note body; the second note reference followed by the second note body; and finally read the third note reference followed by the associated note body. The player might provide the ability to jump past the current note and it simply goes to the next item in the list. However, if the automatic reading of notes is turned off, the player must address the way it enables the end user to review notes.

There is NCC navigation to footnotes, endnotes and rear notes, but the following situation should be considered. An end user is washing dishes and is listening to a DTB. They have the automatic reading of notes turned off. The person hears an interesting note reference, stops washing dishes, drys their hands, walks over to the player, and hits the play footnote key. What does the player do?

If the player has a list for note references, whenever it encounters a note, it would add the note to the list. If the user requests to hear the most recent note, the player would play that note. But what about the situation of the three notes at the end of a paragraph as described above? It seems the player would play the most recently passed note, and allow the end user to read the prior note, and the one before that and so on. It might actually be that the player simply searches backwards in the SMIL for the current or most recent notes. There are some interesting issues about how far back the player might go, and where would it return after reading the note.

Player provided options:

  • always play the note;
  • if playing a note, allow escaping or going to next text;
  • enable a past note to be read;
  • enable previous note to be read, navigation through a list of past notes;
  • Other innovation?

5 NCC Only Narration Issues

The introduction of skippable elements in the structure will have no impact for narrators of full text DTBs. The audio will have to be synchronized to these elements in the same way as with other narrated elements in the book.

However, for NCC only books, skippability will change the situation for the narrator. Until now, the narrator only had to synchronize to section headers and page numbers. With the introduction of skippable elements the narrator will also have to synchronize the narration to the following elements:

  • Sidebars;
  • Optional producer notes;
  • References to notes ;
  • and the content of footnotes, endnotes, and rear notes.

In addition it will be necessary to synchronize to a continuation element that is placed after any of the above elements, if normal text continues after such an element.

A continuation element should also be placed after every page number, if that page does not start with a section header. This will ensure that, during playback, it is possible to skip the page numbers without missing the normal text following immediately after the page number. Once more, this means another element to synchronize to.

In line with this, though not for the same reason, it’s recommended to add a similar continuation element after each section header that’s not immediately followed by another section header (most likely on a lower level). With this element, the header of a section will be separated from the content of a section. Synchronization will of course be needed for this element too.

The continuation element after a page number or a section header will be removed from the source document when the Skippability Tweaker Tool processes the project. This implies that the text content of these elements should be helpful for the narrator. The end user will never see these elements.

The work flow for the narrator will change FROM:

  • Synchronize to a section header or page number, and narrate to the next section header or page header.
  • Synchronize to a section header or page number, and narrate to the next section header or page header.
  • etc

TO:

  • Synchronize to a section header, page number, sidebar, optional producer note, note reference, and the note body, and narrate the content of these elements.
  • Synchronize to the next element, which is likely to be a continuation element, and narrate the main text of the book up to the next section header, page number, sidebar, optional producer note, note reference, or note.
  • Synchronize to a section header, page number, sidebar, optional producer note, note reference, and note body, and narrate the content of these elements.
  • Synchronize to the next element, which is likely to be a continuation element, and narrate the main text of the book up to the next section header, page number, sidebar, optional producer note, note reference, or note.
  • etc

The screen shot below, taken from LpStudio/Pro’s recording window, shows the situation when the text after the section title “3.2 Moving the arms” is being narrated.

LpStudio/Pro recording window with an NCC Only book being recorded

Observe also, that after the text “Description: Figure 3.1” (an optional producer’s note) there is a continuation element with the text “3.3 Learning to fall before you are learning to walk, page 8 (continued)”. On a software based playback system, this element will be displayed on the screen, after skipping or reading the producer’s note, and the content of this element should contain text that is helpful to the end user.

6 MDF Requirements

This section describes a set of requirements for MDF (Markup Definition File) syntax. These requirements apply regardless whether the produced book is NCC Only or Full Text.

Note that the use of these requirements do not affect the validity and compliance of a DAISY 2.02 DTB. However, they are required to allow the Skippability Tweaker Tool to modify the DTB files correctly. If you use another tool than the Skippability Tweaker Tool to produce Daisy 2.02 DTBs with skippable structures, the rules described below are optional.

Note also that the default MDF that comes with LpStudio/Pro v1.6 or later, supports these requirements by default. In other words, if you use the LpStudio/Pro default MDF, the use of the Skippability Tweaker Tool will be possible without doing any MDF modifications.

[at the time of writing, it is not known whether Sigtuna DAR 3 will supply this MDF as well.] If you are not using LpStudio/Pro, please note that you can find this default MDF in the sub-folder “mdf” of the Skippability Tweaker Tool installation folder.

6.1 Mdf requirements – details

Page numbers (span.page-normal, span.page-special, span.page-front)
include in NCC: yes
nested: yes
linkback: yes
Sidebars (span.sidebar)
include in NCC: yes
nested: yes
linkback: yes
Optional Producer notes (span.optional-prodnote)
include in NCC: yes
nested: yes
linkback: yes
Note references (span.noteref)
include in NCC: yes
nested: yes
linkback: yes
Note body (div.notebody)
include in NCC: no
nested: yes
linkback: yes
Text continuation element (div.continued)
include in NCC: no
nested: no
linkback: yes

7 Markup Requirements in the Source Document

Those organizations who wish to use the Skippability Tweaker Tool are required to use very specific markup to identify the skippable structures. The full text documents may be produced natively in XHTML, as a downward transformation from DTBook, from Docbook, TEI or other XML vocabularies. If producers create a NCC only DTB, they will need to create the markup as well, but without the need for full text. The examples in this section will serve to explain the proper markup to use.

7.1 Internal Subset DTD Extension

The Internal Subset DTD extends the XHTML 1.0 DTD by declaring an additional bodyref attribute for the span.noteref element. This additional attribute contains a URI (either fragment only or file and fragment) that points to the corresponding div.notebody element. The Skippable Structures Enhancement Tool uses this URI while modifying the SMIL files.

A markup editor which has been customized for DAISY 2.02 source document creation may include a feature where this inline extension is added automatically. All the producer would need to do in this case is to remove the extension prior to import into the production tool.

In the Skippability Tweaker Tool, it is a user option to decide whether the finalized DTB shall include this extension, or whether it (and all bodyref attributes in the content document) shall be omitted. The default is to omit the DTD extension and bodyref attributes.

Note that while DTBOOK uses an IDREF token for the purpose of linking noteref with note, in the case of XHTML a URI must be used instead, since XHTML/Daisy 2.02 allows the producer to split a single source document into many documents – hence noteref and notebody may possibly be located in different files.

With the Internal Subset DTD extension included, the prolog of XHTML source document looks like below.



<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
<!ATTLIST span bodyref CDATA #IMPLIED>
]
>

7.2 Full Text Requirements and Samples

7.2.1 Page Numbers in Full Text

.
.
<h1>This is a heading</h1>
<p>Start of paragraph
..End of paragraph.</p>
<span class="page-normal">47</span>
<p>This is the first paragraph on page 47</p>
.
.

7.2.2 Sidebars in Full Text

.
.
<h1>Here is a heading</h1>
<p>In many textbooks, you will see text that is inserted in a frame,
  is printed on shaded or colored background or by other typographical
  means that designates it as a special part of the text.</p>
<span class="sidebar">Sidebar title
     <span> This is the first text element inside the sidebar. ..
...and this is the end of the first text element.</span>
     <span>You can have many text paragraphs in a sidebar, and your
     sidebars can include other elements</span>
</span>
<p>This is an ordinary text paragraph following the first sidebar</p>
<span class="sidebar">Here is a short sidebar text</span>
.
.
Comment: The first example above shows a sidebar that has two text elements contained inside the sidebar. The second one is a simple sidebar with a single text block and as no nesting inside the sidebar.

7.2.3 Optional Producer Notes (prodnote) in Full Text

.
.
<h3>This is a sub-section in text</h3>
<p>The producer of a Daisy book will sometimes want to insert a comment
  in the recording that explains something. If it is something that could
  be skipped, it can be marked as an optional-prodnote.</p>
<span class="optional-prodnote">This paragraph is formatted
  with italics in the printed book</span>
<p>Here is another ordinary text paragraph</p>
.
.
Comment: The span with class optional-prodnote identifies this as a producer note that can be skipped.

7.2.4 Producer Note nested Inside a Sidebar in Full Text

.
.
<p>This is a paragraph just before a sidebar...and here is the end of
  the paragraph. </p>

<span class="sidebar">
   <span<This is a paragraph of text inside the sidebar. </span>
      <span class="optional-prodnote">this part of the sidebar text
        is printed on shaded green</span>
   <span> This is the paragraph following the optional
     producer note.</span>
</span>
<p>The sidebar is finished now, and we read inside a normal text
  paragraph again.</p>
.
.
Comment: The example shows a sidebar with two paragraphs or text blocks. However, an optional producer note has been placed between the two text blocks.

7.2.5 Footnotes, Endnotes, and Rear notes in Full text

.
.
<h1>This is a heading</h1>
<p>In many textbooks, text paragraphs will contain references to notes
  residing somewhere else either on the current page, at the end of the
  current chapter or at the end of the book. Here is a note
  reference<span class="noteref" bodyref="#fn_0001">1</span> Then the
     paragraph continues.</p>
<p>This is another paragraph that follows the one with the note reference.
  It contains normal text.</p>
.
.
<p>This is the last paragraph, but just below is a half line followed
  by the footnote.</p>

<div class="notebody" id="fn_0001">Note 1: This is the text of
  the footnote 1 note</div>
.
.
Comment: If you have more than one source document, and if your note text is not in the current document, you can add the filename for the document with the note body to the bodyref-attribute.

 

Comment: Note that the textual content of the skippable element will appear in the NCC. In the case of page numbers and note references, this textual content is normally only a number. However, in the case of sidebars and producer notes, the textual content may be lengthy, and this may make the NCC somewhat cluttered. Therefore, you may use a method where the actual text appears in child elements of the sidebar or producer note. The sidebar in example 7.2.2 demonstrates this approach: here, only the sidebar title will appear in the NCC; whereas the actual text will not.

 

Note: in the current version of the Skippability Tweaker, the use of synchronized child elements within div.notebody is not supported. This is not a limitation of the recommendation itself.

7.3 NCC Only Requirements and Samples

7.3.1 Page Numbers in NCC Only

.
.
<h2>2.5 Proper clothing</h2>
  <div class="continued">Text following header</div>
  <span class="page-normal">6</span>
  <div class="continued">Text following page number</div>
  <span class="page-normal">7</span>
<h1>Chapter 3: The Process of Skiing</h1>
.
.
Comment: As there is text between the Section title (located somewhere on page 5) and the following page-break, it’s necessary to add a div element as a container for this part of the text. The same goes for all the text to be narrated on page 7. The Skippability Tweaker Tool will remove such elements, so the text content should guide the narrator. The end-user of the DTB will never see it.
However, as Chapter 3 starts on top of page 7, there is no text on this page that is associated with Section 2.5, so there is no need for a div element after the <span class="page-normal">7</span> element.

7.3.2 Sidebars in NCC Only

.
.
<h1>Chapter 1: The History of Skiing</h1>
  <div class="continued">Text following header</div>
  <span class="sidebar">Sidebar 1: Some famous skiers</span>
.
.
Comment: For the same reason mentioned above, there is a div element after the section header. If the sidebar had been followed by more text belonging to Chapter 1, it is necessary to add en extra div element, as shown below.
.
.
<h1>Chapter 1: The History of Skiing</h1>
  <div class="continued">Text following header</div>
  <span class="sidebar">Sidebar 1: Some famous skiers</span>
  <div class="continued">The History of Skiing, page 1 (continued)</div>
.
.
This prevents the text following the sidebar to be skipped, if the playback system is configured to skip sidebars. In this case the element will not be removed by the Skippability Tweaker Tool, so the text should be useful for the end-user.

7.3.3 Optional Producer Notes (prodnote) in NCC Only

.
.
<h2>2.2 Downhill skiing</h2>
  <div class="continued">Text following header</div>
  <span class="page-normal">3</span>
  <div class="continued">Text following page number</div>
  <span class="optional-prodnote">Description: Figure 2.1</span>
  <div class="continued">2.2 Downhill skiing, page 3 (continued)</div>
  <span class="optional-prodnote">Description: Figure 2.2</span>
  <div class="continued">2.2 Downhill skiing, page 3 (continued)</div>
  <span class="page-normal">4</span>
.
.
Comment: The extra div elements are present in the structure for the same reasons as mentioned above.

7.3.4 Producer Note nested Inside a Sidebar in NCC Only

.
.
<h1>Chapter 1: The History of Skiing</h1>
  <div class="continued">Text following header</div>
  <span class="sidebar">
    <span class="sentence">Sidebar 1: Some famous skiers</span>
    <span class="optional-prodnote">Description: Figure 1.1</span>
  </span>
  <div class="continued">The History of Skiing, page 1 (continued)</div>
.
.
Comment: If there is a picture to be described inside a sidebar, it can be marked up as displayed above.

7.3.5 Footnotes, Endnotes, and Rear notes in NCC Only

.
.
<h2>2.4 Using the sticks efficiently</h2>
  <div class="continued">Text following header</div>
  <span class="noteref" bodyref="#fn_0001">1</span>
  <div class="continued">2.4 Using the sticks efficiently,
    page 5 (continued)</div>
  <div class="notebody" id="fn_0001">Note 1</div>

  <span class="page-normal">6</span>
  <div class="continued">Text following page number</div>
  <span class="page-normal">7</span>
<h2>2.5 Proper clothing</h2>
.
.
Comment: In the example above there is a footnote somewhere in the text following the section header. In the markup for footnotes, the text for the note (the footnote body) is placed further down the page after the reference to the note.
Please note the id attribute on the note body and the bodyref attribute on the note reference. The value of these attributes guarantees the logical connection between these two elements.
Also note the <div class="continued"> element following the note reference. This is the text that follows the normally superscripted 1.

Note that the Skippability Tweaker Tool provides the option to move the note body to immediately follow the note reference.

.
.
<h2>2.3 Climbing the highest mountain</h2>
  <div class="continued">Text following header</div>
  <span class="page-normal">6</span>
  <div class="continued">Text following page number</div>
  <span class="noteref" bodyref="#fn_0001">1</span>
  <div class="continued">2.3 Climbing the highest mountain,
    page 6 (continued)</div>
  <span class="noteref" bodyref="#fn_0002">2</span>
  <div class="continued">2.3 Climbing the highest mountain,
    page 6 (continued)</div>
  <span class="page-normal">7</span>
.
.
<h2>2.4 Using the sticks efficiently</h2>
  <div class="continued">Text following header</div>
  <span class="noteref" bodyref="#fn_0003">3</span>
  <div class="continued">2.4 Using the sticks efficiently,
    page 8 (continued)</div>
  <span class="noteref" bodyref="#fn_0004">4</span>
  <div class="continued">2.4 Using the sticks efficiently,
    page 8 (continued)</div>
  <span class="page-normal">9</span>
  <div class="continued">Text following page number</div>
  <span class="page-normal">10</span>
  <div class="continued">Text following page number</div>
  <div class="notebody" id="fn_0001">Note 1</div>
  <div class="notebody" id="fn_0002">Note 2</div>
  <div class="notebody" id="fn_0003">Note 3</div>
  <div class="notebody" id="fn_0004">Note 4</div>
<h1>Chapter 3: The Process of Skiing</h1>
.
.
Comment: In the case above the note bodies are all placed at the end of the chapter in which they belong.

The Skippability Tweaker Tool provides the option to have the body of the notes at the end of the chapter either moved or copied to the location immediately following the note reference that is associated with the note body by using the bodyref attribute.

.
.
<html>
.
.
  <body>
    <h1 class="title">The Noble Art of Skiing</h1>
.
.
    <h1>Chapter 2: The Basics of Skiing</h1>
.
      <h2>2.1 Snow</h2>
.
      <h2>2.2 Downhill skiing</h2>
.
      <h2>2.3 Climbing the highest mountain</h2>
        <div class="continued">Text following header</div>
        <span class="page-normal">6</span>
        <div class="continued">Text following page number</div>
        <span class="noteref" bodyref="#fn_0001">1</span>
        <div class="continued">2.3 Climbing the highest mountain,
          page 6 (continued)</div>
        <span class="noteref" bodyref="#fn_0002">2</span>
        <div class="continued">2.3 Climbing the highest mountain,
          page 6 (continued)</div>
        <span class="page-normal">7</span>
.
.
      <h2>2.4 Using the sticks efficiently</h2>
        <div class="continued">Text following header</div>
        <span class="noteref" bodyref="#fn_0003">3</span>
        <div class="continued">2.4 Using the sticks efficiently,
          page 8 (continued)</div>
        <span class="noteref" bodyref="#fn_0004">4</span>
        <div class="continued">2.4 Using the sticks efficiently,
          page 8 (continued)</div>
        <span class="page-normal">9</span>
        <div class="continued">Text following page number</div>
        <span class="page-normal">10</span>
      <h2>2.4 Using the sticks efficiently</h2>
    <h1>Chapter 3: The Process of Skiing</h1>
.
.
    <h1>Notes</h1>
      <div class="notebody" id="fn_0001">Note 1</div>
      <div class="notebody" id="fn_0002">Note 2</div>
      <div class="notebody" id="fn_0003">Note 3</div>
      <div class="notebody" id="fn_0004">Note 4</div>
.
.
  </body>
</html>

7.4 Examples of Print Pages with Their Associated Markup

7.4.1 Page Example 1

Image of example page 1

7.4.1.1Example Full Text Markup

.
.
<span class="page-normal">7</span>
<p>he expressed admiration that David Tremble, the hardline leader
  of the Ulster Unionists, had displayed the special courage to change
  himself and then persuade others to follow". He went on to say that
  "The final victory of politict in Northern Ireland will be when it has
  become too mundane for the rest of the world to be bothered with", and
  concludes memorably with the words "In the toughests of crucibles,
  politics has demonstrated that it does not have to be the art of the
  futile. It can even be a calling with a claim to notibility".</p>
<h4>Ambition and the career politician</h4>
<p>"Politics is a spcetator sport", writes Julian Critchley
  (1995, p. 80). An enduring question which exercises Us spectators is
  "Why are they doing it?" Dr Johnson, in his typically blunt fashion,
  said politics was "nothing more nor less than a means of rising in the
  world". But we know somehow this is not the whole truth. Peter Riddell
  of The Times in his wonderfully perceptive book, Honest Opportunism
  (1993), looks at this topic in some detail. He quotes Disraeli, who
  perhaps offers us a more rounded and believable account of his interest
  in politics to his Shrewsbury constituents: "There is no doubt,
  gentlemen, that all men who offer themselves as candidates for public
  favour have motives of some sort. I candidly acknowledge that I have
  and I will tell you what they are: I love fame; I love public
  reputation; I love to live in the eye of the country"</p>
<p>Riddell also quotes F.E. Smith, who candidly gloried in the "endless
  adventure of governing men". For those who think these statements were
  merely expressions of nineteenth-century romanticism, Riddell offers
  the example of Richard Crossman's comment that politics is a "never
  ending adventure - with its routs and discomfitures, rushes and
  sallies", its "fights for the fearless and goals for the eager".
  He also includes Michael Heseltine whom he heard asking irritatedly at
  one of Jeffrey Archer's parties in 1986: "Why shouldn't I be Prime
  Minister then?" The tendency of politicians to explain their taste
  for politics in terms of concern for "the people" is seldom
  sincere. In the view of Henry Fairlie this is nothing more than
  "humbug", William Waldegrave agrees: "Any politician
  who tells you he isn't ambitious is only telling you he isn't for some
  tactical reason; or more bluntly, telling a lie - I certainly wouldn't
  deny that I wanted ministerial office; yes, I'm ambitious". </p>
<span class="sidebar">BOX 1.3 MINI BIOGRAPHY
<span>Michael Ray Dibdin Heseltine (1933- )</span>
<span>Conservative politician. Born Swansea and educated at Shrewsbury
  School and Oxford. Made money from property before becoming an MP in
  1966, ending up in the safe seat of Henley in 1974. Served as junior
  minister under Heath, where his energy was noted. He was originally
  somewhat too liberal for Mrs Thatcher but served her in Defence and
  Environment before resigning over the Westland dispute in 1986.
  Encouraged by Geoffrey Howe's resignation speech in November 1990,
  he stood against Thatcher for the leadership. He brought her down but
  failed to win, though winning office under John Major and becoming
  Deputy Prime Minister in 1995. His enthusiasm for things European
  won him enemies in the europsceptical Conservative Party in the
  mid-1990s but it was heart problems which prevented him from contesting
  the leadership in 1997.</span>
</span>
<p>As if more proof were needed, David Owen once said on television -
  and "he should know", one is tempted to say - that "Ambition drives
  politics like money drives the international economy". Riddell goes on in
  his book to analyse how the ambitious political animal has slowly
  transformed British politics. He follows up and develops Anthony
  King's concept of the "career politician", observing that a
  decreasing number of MPs had backgrounds in professions, or
  "proper jobs" in the Westminster parlance, compared with those
  who centred their whole lives on politics and whose "jobs" were
  of secondary importance, merely supporting the Westminster career. In
  1951 the figure was 11 per cent; by 1992 ii was 31 per cent. By
  contrast, the proportion of new MPs with "proper jobs" fell
  from 80 per cent to 41 per cent. Many of this new breed begin life as
  researchers for an MP or</p>
<span class="page-normal">8</span>
.
.

7.4.1.2 Example NCC Only Markup

.
.
<span class="page-normal">7</span>
<div class="continued">Text on page 7</div>
<h4>Ambition and the career politician</h4>
<div class="continued">Text after heading</div>
<span class="sidebar">Sidebar text</span>
<div class="continued">Continue text after sidebar</div>
<span class="page-normal">8</span>
.
.

7.4.2 Example Page 2

Image of example page 2

7.4.2.1 Example Full Text Markup

.
.
<span class="page-normal">7</span>
<h1>CHAPTER 1 - INTRODUCTION</h1>
<h2>1. LEGAL ENGLISH</h2>
<p>Most law can be expressed in ordinary English. Most of it is.
  But by the time lawyers get through mushing up ordinary English, very
  few English speakers and only some lawyers can recognize it. They throw
  in words that were headaches before the age of steam. They try to get
  by, stuffing law into sentences that aren't built to take the
  load. Instead of rejecting the rubbish and keeping the good in the
  language of the law, they swallow it whole. And end up with lawsick.</p>

<p>This is a quotation from one of the early advocates of plain legal
  English, David Mellinkoff, an American
  lawyer<span class="noteref" bodyref="#fn_0001">1</span>.
  In his very characteristic American way of putting things Mellinkoff
  sums up several of the major criticisms that have been levelled at
  legal English by laymen as well as lawyers for many years, not to say
   centuries.</p>

<p>The analysis of legal language and legal English is not a new
  phenomenon. Linguists and legal professionals<span class="noteref"
  bodyref="#fn_0002">2</span> have analysed legal texts
  with different objectives in mind, but most of them have come up with
  a list of characteristics that could easily fit Mellinkoff's
  description. Thus they talk about the highly formal collocations, the
  terms of art (i.e. the terms belonging to the profession), the
  abundance of law French and law Latin, the very long sentences, the
  highly nominal style, the lexical repetition, the limited number of
  connectors, etc.</p>

<p>However, there are several reasons why legal English is as it is. And
  why the legal profession seems to be reluctant to change their
  linguistic usage. One of them is the history of the English legal
  system, and another is connected with the role of language in law
  as the tool with which the profession works.</p>
<h2>2. HISTORICAL BACKGROUND</h2>
<p>This is not the place to go into the history of the English legal
  system in any detail, but only to point to a few major examples of
  historical events or developments that have influenced</p>
   <div class="notebody" id="fn_0001">1 Mellinkoff (1982:xi)</div>
   <div class="notebody" id="fn_0002">2 See eg Danet (1980 and 1985),
   Crystal and Davy (1969), Charrow, Crandall & Charrow (1982)</div>
<span class="page-normal">8</span>
.
.
Comments: In the example above the body text for the two footnotes is positioned exactly where it appears in the text. The note body can be positioned at the bottom of the page or elsewhere in your source document. You can use the options in the Skippability Tweaker Tool to control whether the SMIL par that contains the note body is always copied to the position following the note reference, if it is always moved to the position immediately following the note reference or if it is only moved when not being on the same page as the note reference

7.4.2.2 Example NCC Only Markup

.
.
<span class="page-normal">7</span>
<h1>CHAPTER 1 - INTRODUCTION</h1>
<h2>1. LEGAL ENGLISH</h2>
<div class="continued">Text</div>
<span class="noteref" bodyref="#fn_0001">1</span>

<div class="continued">Text</div>
<span class="noteref" bodyref="#fn_0002">2</span>

<div class="continued">Text</div>
<h2>2. HISTORICAL BACKGROUND</h2>
<div class="continued">Text</div>
<div class="notebody" id="fn_0001">1</div>
<div class="notebody" id="fn_0002">2</div>
<span class="page-normal">8</span>
.
.
In the example above, a number of <div class="continued"> tagsets are inserted to guide the narrator during his reading of this slightly complex page with three headings, two footnotes, and a pagebreak.

7.4.3 Page Example 3–Two Facing Pages

Image of example page 3 ( first page of two facing pages) Image of example page 4 (second of two facing pages)

7.4.3.1 Example Full Text Markup

.
.
<span class="page-normal">10</span>
<p>that are common to all mechanisms. These include the following:</p>
<p>Depletion of ATP</p>
<p>Acidification (drop in pH)</p>
<p>Rise in Ca2+</p>
<p>Activation of lytic enzymes</p>
<p>Each of the above events affects normal cellular structure and
  function, and the extent to which each event develops determines the
  manifestations of cell death. Potent lytic enzymes (including proteases,
  phospholipases, and endonucleases) are activated in cell death, and
  differential activation of the enzymes in this spectrum underlies the
   differences in how the cell is killed.</p>
<h4>Coagulation cell death (coagulation necrosis)</h4>
<p>Histologic analysis of coagulation cell death (or coagulation
  necrosis) reveals that cells have collapsed into dense amorphous
  eosinophilic masses. Here the contraction of denatured proteins has
  caused loss of basophilia, and the abnormal cytoplasmic proteinaceous
  debris stains intensely with eosin. Calcium may be deposited in the
  dying cell because of marked ionic imbalances. Nuclei of necrotic
  cells are shrunken, and chromatin is condensed to solid,
  structureless masses, a condition called pyknosis. Chromatin clumping
  is a consequence of both protease activity and a decrease in cellular
  pH (which occurs as lactate builds up in the degenerating cell).
  Coagulation cell death can be caused by many exogenous agents and
  mechanisms of injury that arise from within the animal, including
  these:</p>
<p>Ischemia and other forms of anoxia and hypoxia</p>
<p>Free-radical injury</p>
<p>Blockade of DNA synthesis and transcription</p>
<p>Blockade of pathways of peptide synthesis</p>
<span class="notice">FOCUS
<span>Acute Cell Swelling</span>
<span>ACUTE CELL SWELLING that arises from lytic agents includes
  a spectrum of cellular changes that begins with proteolysis and water
  intake and ends with diffuse disintegration of soluble cytoplasmic
  proteins. With time, cells continue to swell uniformly, and this
  leads directly to cellular lysis. Acute cell swelling in surface
  epithelium is especially revealing because acute swelling of
  epithelial cells often underlies the formation of blisters, ulcers,
  or other diagnostically useful lesions.</span>
<span class="optional-prodnote">4 boxes connected with one-way arrows in
  the printed book is here presented as a 4 separate paragaphs</span>
<span>Plasma membrane injury</span>
<span>leaky membrane</span>
<span>exit of K+ from cell; entry of Ca2+, Na+, and water</span>
<span>acute cell swelling</span>
<span class="pagenum">11</span>
<span>Histologic examination reveals that cells with acute swelling bulge
  from their normal limits. Swollen cells press on one another, and normal
  tissue architecture is distorted. In the cytoplasm, swelling of
  organelles causes a granular, cloudy appearance. Tiny granules of
  protein debris accumulate, and the cytoplasm becomes blurred and
  disorganized. Nuclei may undergo karyolysis, with disappearance of
  chromatin and other proteins. However, if lytic injury is rapid,
  nuclei shrink and move to the periphery of the cell.</span>
<img src="./images/ExtendedSidebarPhotoOne.TIF" alt="vascular
  degeneration photo 1" />
<span>Vacuolar degeneration is a generic term indicating the presence of
  vacuoles in the cytoplasm. In acute injury of some cells, water and
  proteins are sequestered in cytoplasmic vacuoles. Membrane-bound pumps
  rapidly move ions and water out of the cytosol and into the cisternae
  of the endoplasmic reticulum, which expands to create large fluid-
  filled cytoplasmic vacuoles. Vacuolar degeneration tends to occur in
   cells with large amounts of membranes that actively pump ions.</span>
<img src="./images/ExtendedSidebarPhotoTwo.TIF" alt="vascular
  degeneration photo 2" />
</span>
.
.
In the example above there is a notice spanning two pages. For this reason the markup of the page break and of the producer’s note must be nested inside the notice markup. This is an example of a notice and not a sidebar, because this information is essential to understanding the section; this is why the word “FOCUS” is used here. Notices are not skipped.

7.4.3.2 Example NCC Only Markup

.
.
<span class="page-normal">10</span>
<div class="continued">Text</div>
<h4>Coagulation cell death (coagulation necrosis)</h4>
<div class="continued">Text</div>
<span class="notice">first part of sidebar text
   <span class="sentence">Remaining notice text on first page</span>
   <span class="page-normal">11</span>
	last part of notice text</span>
   <div class="continued">Text</div>
<span class="page-normal">12</span>
.
.