この文書はDAISY Consortium の "DAISY 2.02 Specification (Recommendation, February 28 2001)"の日本語訳である。本文書の原文もしくは完全な情報は、"DAISY 2.02 Specification (Recommendation, February 28 2001)"を参照されたい。
この日本語訳は参考である。公式な文書ではなく、翻訳・解釈の正確性を保証していない。
2001年2月28日付勧告
Copyright © The DAISY Consortium 1998, 1999, 2000, 2001.
この文書は、DAISY デジタル録音図書(Digital Talking Book : DTB)フォーマットのバージョン2.02を定義する。DAISYフォーマットは、W3Cが定義したSGML(ISO 8879)アプリケーションXHTML 1.0とSMIL 1.0 に基づいている。このフレームワークを使用して、録音図書のフォーマットは、音声と同期された(マークアップされた)テキストから成るシーケンシャルかつ階層的な構造の中のナビゲーションを可能とするように表現される。
これはDAISYコンソーシアムの正式な勧告である。
Document maintained by: Markus Gylling
この文書は次のURLで利用することができる。: www.daisy.org/z3986/specifications/daisy_202.html
質問、意見、提案がある場合は、Markus Gylling のmarkus.gylling@tpb.seまで連絡してほしい。
George Kerscher, DAISY Consortium / Recording For the Blind and Dyslexic; Markus Gylling, DAISY Consortium / Swedish Library of Talking Books and Braille; James Pritchett, Recording For the Blind and Dyslexic; Heinz Zyset and Dorota Pograniczna and Matthias Ragaz, Swiss Library for the Blind and Visually Impaired; Lynn Leith and Barbara Freeze, Canadian National Institute for the Blind; Lars Sonnebo and Thomas Johansson, Swedish Library of Talking Books and Braille; Mark Hakkinen, isSound Corporation; Jan Lindholm and Diana Hiorth, Labyrinten Inc; Harvey Bingham, W3C Web Accessibility Initiative Invited Expert; David Pawson and Stephen King and Keith Gladstone, Royal National Institute for the Blind; Tatsu Nishizawa, Plextor Ltd; Dominic Labbé and Gilles Pepin, VisuAide Inc.; Michael Moodie and Lloyd Rasmussen, National Library Service for the Blind and Physically Handicapped Library of Congress; Tom McCartney and Rej Tanikella, 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; Brink Kuchenbrod and Chad Berkley, University of Montana; Daniel Dardailler and Philipp Hoschka, World Wide Web Consortium; Peter Toneby, Umeå University.
本仕様は、DAISY 2.01仕様 を拡張し、改訂したものである。これらの改訂は、DAISY 3/NISO DTB 仕様に本仕様を一致させることと、DAISY2.01仕様で曖昧だった点を明確にすることを意図したものである。
本仕様のこのバージョンで行われた主な改訂点は以下のとおりである。
DAISY 2.02仕様では、DAISY 2.0仕様と技術的に後方互換性がある。
定義: 本仕様におけるキーワード must,、must not、required、shall、shall not、should、should not、recommended、may と optional は IETF RFC 2119で記述されているとおりに解釈されるものとする。
本仕様はWorld Wide Web Consortiumによって定義されたXHTML 1.0とSMIL 1.0 の仕様を使用している。書誌情報とドキュメント内のメタデータはDublin Core Metadata Initiative に基づいている。
DAISY structure guidelines に定義されているように、DAISY 2.02規格は次のタイプのDTBをサポートしている。
DAISY 2.02規格に準拠するため、DTBには、ちょうど1個のNCC.HTMLドキュメントと1個以上SMILドキュメントがなくてはならない(must)。DTBの種類によるが、DTBには、1個以上の音声ファイル と1個以上のテキストコンテンツドキュメント(XHTML) があってもよい(may)。最終的に任意のMaster SMILドキュメントもDTBにあってよい(may)。
これらのドキュメントの構造とファイルタイプ及びDTBが提供する機能は、下のセクション2.1から2.5で定義されている。
NCCドキュメントには、DTBへのナビゲートが可能なエントリポイントのインデックスが格納されている。デフォルトの場合、これらのエントリポイントは、見出しの<h1>から<h6>とページの<span>要素で構成されている。<div>要素を用いることによって、テキストのブロック(グループ)もナビゲーションのために使用される。
NCCは、暗にDTBを構成する全てのメディアオブジェクトの連続再生順序を表す。これはナレーション および/または テキストの「フロー」として時々参照される。
NCCは、印刷物の目次(TOC)テーブルと必ずしも同一ではない。それは、印刷物ソースの目次(TOC)より多くの要素をしばしば持つだろう。つまり、NCCは、書籍の本文の内容と構造に基づいたTOCの拡張されたバージョンとしてもよい(may)。
NCCはXHTML 1.0 Transitional DTDに準拠したドキュメントであるべきである(should)。HTML 4.01の使用は、DAISY DTBのこのバージョンの仕様では、非推奨となった。
NCCドキュメントは"NCC.HTML"または"ncc.html"と名付けられなければならない(must)。
<head>要素は、次の子を包含しなければならない(must)。
NCC <head>要素は、子である<META>のセットを包含しなければならない(must)。これらは、技術的な説明のためのコンテンツだけではなく、書誌情報を持っている。
書誌メタデータのために、DAISY 2.02仕様は、国際的に認められ、幅広く受け入れられている15のデータカテゴリで構成されるツールであり、ドキュメントリソースの記述のために必要不可欠なルールである Dublin Core (DC) Metadata Initiative要素セットを使用している。DC要素セットは、デジタル録音図書の書誌記述の広い範囲をカバーしているが、DC要素セットの15のデータカテゴリでは充分にカバーできない不可欠な情報がいくつかある。DAISY DTB専用の追加要素は、そのために開発された。これらの追加要素は、"ncc"というプレフィックスがついた要素として設計されている。
<meta>要素の一般的な構文は次のとおり。
<meta name="metaname" content="value of metaname" scheme="scheme for value of metaname" />
name属性は、あるmetaステートメントの内容に対する名前を格納する。DAISY 2.02 のDTBでは、"dc:" または "ncc:"のプレフィックスによって識別される2つのカテゴリのmeta nameがある。
content属性はname属性の値を持つ。
"dc:" と"ncc:"プレフィックスは小文字であるべきである(should)。 しかし、これらの属性を読み取るときに、再生システムは大文字・小文字を区別してはならない(must not)。
印刷物ソースに関する追加情報の提供に対応するために、プレフィックス"ncc:"をもつmetanameとセットで、Dublin Core要素のラベルがmetaステートメントで使用される。それは"source"という言葉が前におかれたDublin Core要素のラベルで構成される。
1つの例外があることに注意してほしい。印刷物ソースの版に関する情報はmetaname の"ncc:sourceEdition"を使用することで含まれている。DCはまだ版に関するデータを含めるためのソリューションを持っていない。
scheme属性は、content属性の値がどのように解釈される必要があるかについての参照を持つ。このような参照は、単純な構文モデルで構成されてよい(may)。しかし、標準的には、規格の名前またはオーソリティリストである。ファイルまたは規格を参照していないスキーム名を使用することは意味があることではない。多くの場合、スキームがないことも必要である。
NCC.HTMLの<meta>要素セットは、次の定義リストに準拠しなければならない(must)。
上の定義リストに加えて、製作者固有のメタデータの問題をサポートするために、任意のメタデータ要素を使用することができる。そのようなメタデータ要素には、"prod:"というプレフィックスがつけられるべきであり(shall)、再生システムには無視されるべきである(shall)。
(すべての必須(mandatory)および一部の任意の要素が、この例に含まれている)
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Economics</title> <meta http-equiv="Content-type" content='text/html; charset="iso-8859-1"' /> <meta name="dc:title" content="Economics" /> <meta name="dc:creator" content="Richard G. Lipsey" /> <meta name="dc:creator" content="Paul N. Courant" /> <meta name="dc:creator" content="Douglas D. Purvis" /> <meta name="dc:creator" content="Peter O. Steiner" /> <meta name="dc:date" content="2000-09-05" scheme="yyyy-mm-dd" /> <meta name="dc:format" content="Daisy 2.02" /> <meta name="dc:identifier" content="DTB00345" /> <meta name="dc:language" content="EN" scheme="ISO 639" /> <meta name="dc:publisher" content="TPB" /> <meta name="dc:source" content="0-065-01022-1" scheme="ISBN" /> <meta name="dc:subject" content="Qb" /> <meta name="ncc:sourceDate" content="1993" scheme="yyyy" /> <meta name="ncc:sourceEdition" content="1" /> <meta name="ncc:sourcePublisher" content="Harper Collins" /> <meta name="ncc:charset" content="iso-8859-1" /> <meta name="ncc:generator" content="LpStudioGen 1.6" /> <meta name="ncc:narrator" content="Timothy Ocklind" /> <meta name="ncc:tocItems" content="1024" /> <meta name="ncc:totalTime" content="91:27:21" scheme="hh:mm:ss" /> <meta name="ncc:pageNormal" content="881" /> <meta name="ncc:maxPageNormal" content="881" /> <meta name="ncc:pageFront" content="27" /> <meta name="ncc:pageSpecial" content="45" /> <meta name="ncc:prodNotes" content="0" /> <meta name="ncc:footnotes" content="0" /> <meta name="ncc:sidebars" content="0" /> <meta name="ncc:setInfo" content="1 of 3" /> <meta name="ncc:depth" content="4" /> <meta name="ncc:kByteSize" content="1530000" /> <meta name="ncc:multimediaType" content="audioNCC" /> <meta name="ncc:files" content="97" /> <meta name="prod:recLocation" content="Studio 2" /> <meta name="prod:recEngineer" content="J Klein" /> </head>
DAISY 2.02 NCCの<body>要素は以下の子を包含しなければならない(must)。
DAISY 2.02 NCCの<body>要素は以下の子を包含してもよい(may)。
<h1> から<h6>、<span>と<div>以外の要素はNCC.HTML <body>の子として出現するべきである(shall)。
見出し参照は、章や節へのナビゲーションをサポートするために、DAISY 2.02 DTBで提供されるDTBにおける見出しは、XHTML見出し要素の1から6(<h1>から<h6>)によって表現される。見出し要素のコンテンツは印刷物ソースに見られるような章や節の名称であるべきである(should)。
見出し要素の一般的な構文は次のとおりである。
<hx class="value" id="value"><a href="smil#fragment">Heading content</a></hx>
見出し要素は、次の属性を持たなければならない(must)。
見出し要素は次の属性をもってもよい(may)。
見出し要素は、次の子要素をもっていなくてはならない(must)。
class属性は、追加のセマンテクスの情報を提供するために使用されてもよい(may)。見出し要素で使用されるクラスの属性の典型的な値は次のとおりである。
title、 jacket、front、title-page、copyright-page、acknowledgments、prolog、introduction、dedication、foreword、preface、print-toc、part、chapter、section、sub-section、minor-head、bibliography、glossary、appendix、index、index-category.
NCCの<body>の最初のエントリは、DTBのtitleセクションでなくてはならない(must)。使用される要素は<h1>でなければならない(must)。この見出しに使用されるclass属性は"title"でなくてはならない(must)。
HTML 4.01とXHTML 1.0とは対照的に、DAISY 2.02仕様は、見出しを適切にネストすることを要求する。levelをスキップすることができない。例えば、<h3>はいつも<h2>の後(または他の<h3>の後)に配置されなければならないし(must)、<h2>は<h1>の後(または他の<h2>)に配置されなければならない(must)。
... <h1>The nature of economics</h1> <h2>The economic problem</h2> <h2>Economics as a social science</h2> <h3>The scientific approach</h3> <h1>An overview of the market economy</h1> ...
... <h1>Demand, supply and price</h1> <h2>Demand</h2> <h2>Supply</h2> <h4>Quantity supplied</h4> <h3>Determination</h3> <h1>Elasticity</h1> ...
エンドユーザーのページへのナビゲーションをサポートするためにページ参照がDAISY 2.02 DTB内で提供される。DTB内で出てくるページは<span> 要素によって表現される。
<span>要素は、ページの先頭を識別する。<span>要素の内容は、印刷本に表示されるページ番号である。
<span>要素の一般的な構文は次のとおりである。
<span class="value" id="value"><a href="smil#fragment">span content</a></span>
<span>要素は、次の要素を包含しなくてはならない(must)。
<span>要素は、次の属性を包含しなければならない(must)。
ページに使用されるときに<span>要素で出てくるclass属性の値は次のとおりである。
テキストのブロック(group)は、ナビゲーションのために使用してもよい(may)。例えば、パラグラフ、リスト項目、またはテーブルの行は、そのような構造要素によって、ナビゲーションを提供するために、NCCで識別されてもよい(may)。NCCでは、グループ化要素の<div>は、これらのブロックをポイントするプレースホルダーとして使用される。<div>要素の内容は、エンドユーザーによって要求されるナビゲーションに関係して製作者によって決定される。フルテキストが使用されている場合、NCC内の<div>はユニークなIDを持つどのHTMLの要素を指し示すことができる。
<div>要素の一般的な構文は次のとおりである。
<div class="value" id="value"> <a href="smil#fragment">content</a></div>
<div>要素は、以下の属性を持たなければならない(must)。
<div>要素は、以下の要素を包含しなければならない(must)。
<div>要素で出現するclass属性の値は次のとおりである。
NCC.HTML内の<body>要素のそれぞれの子は同期に使用されるためのid属性を持たなくてはならない(must)。
id属性の値は、([A-Za-z])の文字 で始まらなくてはならない(must)。そして、その後に任意の数の文字、数字([0-9])、ハイフン(" - ")、アンダースコア("_")、コロン(":")、そしてピリオド(".")を続けてもよい(may)。
NCC.HTMLドキュメントの<body>要素のそれぞれの子はアンカー要素を持たなくてはならない(must)。href属性は、このアンカーをちょうど1個のリンクのソースアンカーにする。
<a>要素の一般的な構文は次のとおりである。
<a href="smil#fragment">document content</a>
<a>要素は、以下の属性を持たなくてはならない(must)。
ドキュメントの内容は常にアンカーの開始タグと終了タグの間に出現しなければならない(must)。
href属性は、ソースアンカー(NCC内の現在の位置)と参照先のアンカー(SMILドキュメント内の位置)の間のリンクを定義する。これはフラグメント識別子がリソース、すなわちSMILドキュメント内の位置のID指し示すURIとして表現される。
DAISY 2.02の書籍では、SMILの<par>や<text>要素に存在する参照先のアンカーが求められる(required)。要素の他の型へのポインタは出現してはならない(must not)。
参照先のアンカーとしての<par>要素の使用が推奨される(must not)。ターゲットが<text>要素である場合、<text>要素が親である<par>内の最初の要素であることを強く推奨する(recommended)。
NCC.HTML <body>の全ての子要素は同期ポイントをもたなくてはならない(must)。すなわち、それらはSMILファイル内の<par>または<text>要素内の参照先のアンカーを指し示すhref属性を持つ<a>要素をを持たなくてはならない(must)。
<body> <h1 class="title" id="econ_0001"><a href="econ0001.smil#ec1a_0001">Economics by Richard G. Lipsey et al..</a></h1> <h1 id="econ_0002"><a href="econ0002.smil#ec2a0001">Information about the talking book</a></h1> <h1 id="econ_0003"><a href="econ0003.smil#ec3a0001">Contents in Brief</a></h1> <span class="page-front" id="econ_0004"><a href="econ0003.smil#ec3a0002">iv</a></span> <span class="page-front" id="econ_0005"><a href="econ0003.smil#ec3a0003">v</a></span> <span class="page-front" id="econ_0006"><a href="econ0003.smil#ec3a0004">vi</a></span> ... <span class="page-normal" id="econ_0021"><a href="econ0008.smil#ec8a0003">1</a></span> <h1 class="part" id="econ_0022"><a href="econ0009.smil#ec9a0001">Part 1. The nature of economics</a></h1> <h2 class="chapter" id="econ_0023"><a href="econ0010.smil#ec100001">1. The economic problem</a></h2> <span class="page-normal" id="econ_0024"><a href="econ0010.smil#ec100002">2</a></span> <span class="page-normal" id="econ_0025"><a href="econ0010.smil#ec100003">3</a></span> <h3 id="econ_0026"><a href="econ0010.smil#ec100004">What is economics?</a></h3> <h4 id="econ_0027"><a href="econ0010.smil#ec100005">Resources and commodities</a></h4> <h4 id="econ_0028"><a href="econ0010.smil#ec100006">Scarcity</a></h4> <h4 id="econ_0029"><a href="econ0010.smil#ec100007">Choice</a></h4> <span class="page-normal" id="econ_0031"><a href="econ0010.smil#ec100008">4</a></span> ... <span class="page-special" id="econ_0934"><a href="econ0085.smil#ec850027">G-1</a></span> <h1 class="glossary" id="econ_0935"><a href="econ0086.smil#ec860001">Glossary</a></h1> <div id="econ_0936" class="group"><a href="econ0086.smil#ec860002">Glossary item 1</a></div> <div id="econ_0937" class="group"><a href="econ0086.smil#ec860003">Glossary item 2</a></div> <div id="econ_0938" class="group"><a href="econ0086.smil#ec860004">Glossary item 3</a></div> ... <h1 id="econ_0946"><a href="econ0088.smil#ec880001">Ending announcement</a></h1> </body>
NCCは、エンドユーザがオンまたはオフにすることができる要素への参照を包含してもよい(may)。これらの項目のデフォルトスタイルは、「オン」にするべきである(should)。注釈の参照 、 非必須サイドバー 、 任意の製作者の注釈 、そしてページ番号がこのカテゴリーに分類される。XHTML <span>要素は、NCC<body>でこれらの項目を指し示すために使用されなければならない(must)。
<span>要素には、次の属性を持たなくてはならない(must)。
<span>要素は、次の要素を包含しなくてはならない(must)。
<span>要素で出現するclass属性の値は次のとおりである。
<span class="sidebar" id="econ0047"> <a href="econ0056.smil#ec560004">Sidebar</a> </span>
<span class="optional-prodnote" id="econ0057"> <a href="econ0060.smil#ec600004">Producer's Note</a> </span>
<span class="noteref" id="ncc003"> <a href="smil001.smil#par002"><sup>1</sup></a> </span>
SMIL 1.0のシステムが要求するテスト属性は、サイドバー、footnote、製作者ノート、ページ番号のようなコンテンツの選択的な再生を制御するために使用されなければならない(shall)。システムが要求する属性は<par>要素の中で出現しなくてはならない(must)。
<par>要素上で発生するシステムが求める属性の値は次のとおりである。
上のNCCのサイドバーの例では、SMILドキュメント内のスイッチ機構の次の使用方法が使用されなければならない(shall)。(同じ構文は、製作者注釈とページ番号に適用される。)
<seq dur="123.45s"> <!--Par pre sidebar --> <par endsync="last" id="ec560003"> <text src="ncc.html#econ0046" /> <seq> <audio src="audio001.mp3" clip-begin="npt=0.000s" clip-end="npt=2.507s" id="phrs_0001" /> <audio src="audio001.mp3" clip-begin="npt=3.345" clip-end="npt=6.123s" id="phrs_0002" /> <seq> </par> <!--Par for sidebar --> <par endsync="last" id="ec560004" system-required="sidebar-on"> <text src="ncc.html#econ0047" /> <seq> <audio src="audio001.mp3" clip-begin="npt=6.123s" clip-end="npt=8.345s" id="phrs_0003" /> <audio src="audio001.mp3" clip-begin="npt=8.345ss" clip-end="npt=10.567s" id="phrs_0004" /> <seq> </par> <!--Par post sidebar --> <par endsync="last" id="ec560005"> <text src="ncc.html#econ0046" /> <seq> <audio src="audio001.mp3" clip-begin="npt=10.567s" clip-end="npt=22.347s" id="phrs_0005" /> <audio src="audio001.mp3" clip-begin="npt=22.347s" clip-end="npt=26.435s" id="phrs_0006" /> <seq> </par> </seq>
footnoteのSMIL構文は、サイドバーと製作者ノートとは異なる。ここでは、ネストされた<seq>要素が2つの <par>要素を格納するために使用されている。最初の<par>が注釈参照を格納し、2番目の<par>が注釈本体を格納している。次のSMILの構文は、上のNCC脚注例に相当する。
<body> <seq dur="123.45s"> <!--Par pre footnote --> <par endsync="last" id="par001"> <text src="ncc.html#ncc001" /> <seq> <audio src="audio001.mp3" clip-begin="npt=0.000s" clip-end="npt=2.507s" id="phrs_0001" /> <audio src="audio001.mp3" clip-begin="npt=3.507" clip-end="npt=6.507s" id="phrs_0002" /> <seq> </par> <!--nested seq begins here--> <seq> <!--Par for note reference --> <par endsync="last" id="par002"> <text src="ncc.html#ncc003" /> <seq> <audio src="audio001.mp3" clip-begin="npt=6.507s" clip-end="npt=7.507s" id="phrs_0003" /> </seq> </par> <!--Par for note body --> <par endsync="last" id="par003" system-required="footnote-on"> <text src="ncc.html#ncc003" /> <seq> <audio src="audio009.mp3" clip-begin="npt=7.507s" clip-end="npt=10.507s" id="phrs_0004" /> <audio src="audio009.mp3" clip-begin="npt=10.507s" clip-end="12.507s" id="phrs_0005" /> <seq> </par> <!--nested seq ends here--> </seq> <!--Par post footnote> <par endsync="last" id="par004"> <text src="ncc.html#ncc001" /> <seq> <audio src="audio001.mp3" clip-begin="npt=12.507s" clip-end="npt=14.507s" id="phrs_0006 /> <audio src="audio001.mp3" clip-begin="npt=14.507s" clip-end="npt=18.507s"" id="phrs_0007" /> <seq> </par> </seq> </body>
再生システム、ハードウェア装置とソフトウェアの両方は、書籍の構造的要素の音声による記述を提供するメカニズムを要求する。再生システムはテキスト情報の合成音声による読み上げに対応してよい(may)が、事前に録音された音声アナウンスメントのほうがより望ましい。ほとんど場合、そのほうが自然で、また、全てのデバイスで対応しているためである。事前に録音されたメッセージによって、再生デバイスは、"chapter"、"section"、その他のclass名のような要素を正しくアナウンスすることができる。
リソースファイルは、これを達成するために使用することができる。このケースのリソースは、構造要素と関係づけられた個々の音声ファイルである。従来のソフトウェア開発モデルでは、単一のリソースファイルが、複数のリソース定義を指し示すまたは包含してよい(may)。現在は、この特定のアプリケーションで使用するためにリソースファイルを定義するための既存の規格は存在しない。
音声スタイルシート(Audio Style Sheet)はこのリソース情報を定義するために使用される。音声スタイルシート(Audio Style Sheet)はW3CのCascading Style Sheet勧告の一部である 。再生システムが使用するリソース定義を提供することに加え、DAISY 2.02 DTBの再生中に、音声スタイルシート(Audio Cascading Style Sheet : ACSS) を一般的な音声スタイリングのために使用してもよい(may)。
音声スタイルシート(Audio Style Sheet)はオーディオキューと構造要素を関連づけるために必要な定義を提供する。構造要素は、要素名(たとえばh1など)、またはclass名(例えばchapterなど)にしてよい(may)。再生システムは、音声スタイルシート(Audio Style Sheet)を解釈し、エンドユーザーに要素を再生するためにこの情報を使用します。例としては、位置(「私はどこ」アナウンス)や構造情報が含まれる。
"earcons"を実装し、音声合成によってテキストコンテンツをフォーマットするために再生システムは、一般化されたオーディオのスタイリングをサポートしてもよい(may)。音声スタイルのこの特定の利用は、DAISY 2.02では、正式に定義されたものでははく、また要求されるものではない。
これは、音声ファイルファイルをドキュメント要素(h1)と2つのclass名("chapter"と"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")}
URI値は要素やclass名と関連付けられた音声を包含するファイルを指している。音声リソースファイルの場所は、製作者に委ねられる。この例では、音声リソースファイルを「リソース」のサブディレクトリに格納されている。
スタイルシートをXHTML文書と関連付けるための標準的なメカニズムは、<link>要素を介して行われる。<link>要素の形式は次のとおりです。
<link rel="stylesheet" href="en-resource.css" media="aural" title="daisy Resource File">
スタイルシートのリンク参照はNCC.HTMLファイルに包含されているべきである(should)。個別のXHTMLソースファイルに音声と映像の表現のための追加のスタイルシートへの参照も含めてもよい(may)。これらはXHTMLスタイルシート<link>要素を使用して、ドキュメント自身の中で指定されなければならないし(must)。スタイルシートに適合するメディア属性の値を参照しなければならない(must)。
テキストコンテンツが見出し、ページ、その他のコンテンツへ単純な参照に限定される、すなわちDTBのタイプ1 と2に適合するものならば、NCC.HTMLドキュメントをテキストコンテンツのキャリアとして使用してもよい(may)。DTBが幅広いテキストコンテンツを持つならば、すなわち、コンテンツがDTBのタイプ 3から6 に適合するものであるならば、追加のテキストコンテンツドキュメントの使用が求められる(required)。
追加のテキストコンテンツドキュメントはXHTML 1.0に準拠したドキュメントでなければならない(must)。HTML 4.01の使用は、DAISY DTBのこのバージョンの仕様では、非推奨となった。
テキストコンテンツドキュメントの<head>要素は次の子を包含しなければならない(must)。
テキストコンテンツドキュメントの<head>要素は次の子を包含してもよい(may)。
テキストコンテンツドキュメントの<body>では、パラグラフ、リスト項目、またはテーブル、整形済みのテキストなどのような、構造ブロック要素のロジカルな使用、シンプルな使用が推奨される(recommended)。テキストの整形するためにテーブルを使用することは推奨されない。また、フレームや他の視覚的な整形機能を使用することは推奨されない。
複数のXHTMLファイルを、テキストコンテンツをキャリアとして使用してもよい(may)。これはフルテキスト製品のDTBのケースになることがより頻繁になってもよい(may)。
正しくXHTMLファイルの順序を識別するために、XHTMLのlink要素を使用してもよい(may)。
<head> ... <link rel="start" href="first-file.html"> <link rel="previous" href="previous-file.html"> <link rel="next" href="next-file.html"> ... </head>
DAISY DTBのSMILドキュメントは、全ての、または定義されたセグメントのDTBコンテンツのテキストと音声の同期機能を提供するSMIL 1.0 に準拠したドキュメントである。テキストと音声が同期されたDAISY DTBの1つのSMILドキュメントは、そのドキュメント自身の内部が、常に連続的なシーケンスであり、テキスト 及び/または 音声メディアオブジェクトを参照する1つや数個の並列時間のグループ、または同期ユニットを格納している。
以下から、DAISY 2.02 DTBの中のSMIL 1.0の実装のためのドキュメント構造規定について述べる。
<head>要素は、次の子を持たなければならない(must)。
<head>要素は、次の子を持ってもよい(may)。
SMIL <head>で使用されている<meta>要素の構文はNCC.HTMLで使用されているものに対応している - 2.1.2セクションを参照すること。
また、SMIL <head>は、ドキュメントの<body>内の要素を抽象的なレンダリングサーフェイス上(視覚的または聴覚的に)にどのように配置するかを決定する<layout>要素を持ってもよい(may)。
<layout>要素 は、ドキュメントの<body>内の<text>要素がレンダリングされる時にどのように配置されるかを定義する。ドキュメントがlayout要素を包含していない場合、body要素の配置は、実装依存である。
<layout>要素の一般的な構文は次のとおりである。
<layout> <region id="value" /> </layout>
<layout>要素は次の子を包含しなくてはならない(must)。
<region>要素はの<text>要素の位置、大きさ、スケーリングを制御する。region要素は、位置づけ可能な要素のregion属性をregionのidの値にセットすることで、<text>要素に適用される。
<region>要素で出現する属性は次のとおりである。
DAISY 2.02 SMILの<body>要素は次の子を包含しなければならない(must)。
<seq>要素は、その子が時系列に整列される時間コンテナである。次の定義リストでは、<body>の子として出現する<seq>要素は、"main"<seq>として参照される。そして、ネストされた<seq>要素は"nested"としてとして参照される。
DAISY 2.02 SMILの"main"の<seq>要素は、以下の子を包含しなくてはならない(must)。
DAISY 2.02 SMILの"main"の<seq>要素は、以下の子を包含してもよい(may)。
DAISY 2.02 SMILのネストされた<seq>要素は、以下の子の1つを包含しなくてはならない(must)。
ネストされたの<seq>要素が異なるタイプの子を包含してはならない(must not)。
<seq>要素で出現する属性は次のとおりである。
<par>要素は時系列に子を整列させない時間コンテナである。<seq>要素とは反対に同時に出現する。言い換えれば、<par>要素内のメディアオブジェクトは、互いに同期されている。
DAISY 2.02 SMILの<par>要素は、以下の子を包含しなくてはならない(must)。
DAISY 2.02 SMILの<par>要素は、以下の子を包含してもよい(may)。
<par>要素で出現する属性は次のとおりである。
<text>要素は本質的持続時間のないメディアオブジェクトである。DAISY DTBのタイプ1〜5の場合 、その持続時間は、それが同期される音声によって決定されるだろう。
<text>要素で出現する属性は次のとおりである。
src属性の値は、メディアオブジェクトのURIである。この場合、現在同期されているXHTMLドキュメントのコンテンツ、例えば、見出し、ページ番号、ブロックテキストなどへのポインタである。
<text>要素のsrc属性がファイルNCC.HTMLを参照している場合、同じDTB内の他のtext要素がNCC.HTMLファイル以外のファイルを参照するsrc属性を持つべきではない(should not)。
<audio>要素は、本質的持続時間を持つメディアオブジェクトである。
<audio>要素で出現する属性は次のとおりである。
src属性の値は、メディアオブジェクトのURIである。この場合、現在同期されているオーディオを含むファイルへのポインタである。参照されたオーディオオブジェクトが全体として再生されない場合、下位の位置は、sub-clipの開始と終了を指定するclip-begin属性とclip-end属性によって定義される。いくつかの下位の位置が順次出現した場合は、それらはseq要素内に配置される。
clip-begin属性とclip-end属性の値は、クロック値が続いてのメートル法の指定子でなければならない(must)。SMIL 1.0仕様で指定可能なメートル法の指定子で、DAISY DTBのものは「通常再生時間(Normal Play Time)」を使用しなければならない(must)。メートル法の指定子は"npt"である。クロック値は、デフォルトのSMIL 1 timecount(秒)を使用して、法定のSMIL timecount値で表現されなければならない(must)。ミリ秒の分解能で秒の端数を指定することを強く推奨する(recommended)。
<par>は、同じタイプの数個のメディアオブジェクトを決して持ってはならない(must not)。例えば、多くて1個の<text>と1個の<audio>の参照などである(それもメディアオブジェクトがネストされた<seq>内に含まれていない場合に限られる)。
最初の<par>は全体の音声ファイルがどこでレンダリングされるべきかの例を示している。二番目の<par>はセグメント(下位の位置)に分割され、<seq>で記述される音声ファイルを示している。
<!DOCTYPE SMIL PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-SMIL/SMIL10.dtd"> <smil> <head> <meta name="ncc:generator" content="LpStudioGen v1.6" /> <meta name="dc:identifier" content="DTB00345" /> <meta name="dc:format" content="Daisy 2.02" /> <meta name="dc:title" content="Economics" /> <meta name="title" content="13. Monopoly" /> <meta name="ncc:totalElapsedTime" content="14:04:48" /> <meta name="ncc:timeInThisSmil" content="0:02:38" /> <layout> <region id="txtView" /> </layout> </head> <body> <seq dur="158.485s"> <par endsync="last" id="ec79_0002"> <text src="ncc.html#econ_0346" id="ec79_0003" /> <audio src="econ25000c.mp3 id="ec79_0004" /> </par> <par endsync="last" id="ec79_0005"> <text src="ncc.html#econ_0348" id="ec79_0006" /> <seq id="ec79_0007"> <audio src="econ25000d.mp3" clip-begin="npt=72.200s" clip-end="npt=74.659s" id="phrs_0011" /> <audio src="econ25000d.mp3" clip-begin="npt=74.659s" clip-end="npt=81.269s" id="phrs_0012" /> <audio src="econ25000d.mp3" clip-begin="npt=81.269s" clip-end="npt=91.691s" id="phrs_0013" /> <audio src="econ25000d.mp3" clip-begin="npt=91.691s" clip-end="npt=95.477s" id="phrs_0014" /> <audio src="econ25000d.mp3" clip-begin="npt=95.477s" clip-end="npt=110.575s" id="phrs_0015" /> <audio src="econ25000d.mp3" clip-begin="npt=110.575s" clip-end="npt=115.777s" id="phrs_0016" /> <audio src="econ25000d.mp3" clip-begin="npt=115.777s" clip-end="npt=119.980s" id="phrs_0017" /> <audio src="econ25000d.mp3" clip-begin="npt=119.980s" clip-end="npt=127.816s" id="phrs_0018" /> <audio src="econ25000d.mp3" clip-begin="npt=127.816s" clip-end="npt=135.288s" id="phrs_0019" /> <audio src="econ25000d.mp3" clip-begin="npt=135.288s" clip-end="npt=141.507s" id="phrs_0020" /> <audio src="econ25000d.mp3" clip-begin="npt=141.507s" clip-end="npt=158.485s" id="phrs_0021" /> </seq> </par> </seq> </body> </smil>
各SMILドキュメントの最初の<par>の最初の<text>要素は見出し要素(h1からh6)を参照しなければならない(must)。言い換えれば、各SMILドキュメントは、HTMLの見出しの同期の提供から開始しなければならない(must)。h1の見出しから開始することを推奨する(recommended )。これ以外にテキスト構造とSMILの間に必須となる関係はない。
音声ファイルとSMILドキュメントの間に必須となる関係はない。1つのSMILドキュメントが、(seqレベルあるいはclipレベルで)数個の音声ファイルを指し示してもよいし(may)、非連続な音声ファイルのセグメントを指し示してもよい(may)。
次は認められたSMILの<seq>セグメントの連続である。
... <audio src="econ0001.mp3" clip-begin="npt=0.000s" clip-end="npt=4.659s" id="phrs_0001" /> <audio src="econ0002.mp3" clip-begin="npt=74.659s" clip-end="npt=81.269s" id="phrs_0002" /> <audio src="econ0001.mp3" clip-begin="npt=4.659s" clip-end="npt=6.691s" id="phrs_0003" /> <audio src="econ0001.mp3" clip-begin="npt=6.691s" clip-end="npt=8.477s" id="phrs_0004" /> ...
また、次も認められたSMILの<seq>セグメントの連続である。
... <audio src="econ0001.mp3" clip-begin="npt=0.000s" clip-end="npt=4.659s" id="phrs_0001" /> <audio src="econ0001.mp3" clip-begin="npt=74.659s" clip-end="npt=81.269s" id="phrs_0002" /> <audio src="econ0001.mp3" clip-begin="npt=4.659s" clip-end="npt=6.691s" id="phrs_0003" /> <audio src="econ0001.mp3" clip-begin="npt=6.691s" clip-end="npt=8.477s" id="phrs_0004" /> ...
すべてのSMILファイルは、拡張子".smil"または拡張子".SMIL"を持たなくてはならない(must)。
SMILのファイル名には、文字([A-Za-z])、数字([0-9])、ハイフン("-")、アンダースコア("_")のみが使用されることを強く推奨する(recommended)。
Master SMILドキュメントは、 DTBコンポーネントのSMILドキュメントを再生順に並べたリストで構成される、任意の(optional)SMIL 1.0準拠ドキュメントである。
DTB内で他のSMILドキュメントとの容易な識別性を提供するために、Master SMILドキュメントは"master.smil" または "MASTER.SMIL"と名付けラれなkればならない(must)。
<head>要素は、以下の子を包含しなくてはならない(must)。
<head>要素は、以下の子を包含してもよい(may)。
DAISY 2.02 Master SMILの<body>要素は、以下の子を包含しなくてはならない(must)。
<ref>要素に出現する属性は次のとおりである。
<!DOCTYPE SMIL PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-SMIL/SMIL10.dtd"> <smil> <head> <meta name="dc:title" content="Economics" /> <meta name="dc:identifier" content="DTB00345" /> <meta name="dc:format" content="Daisy 2.02" /> <meta name="ncc:generator" content="LpStudioGen 1.6" /> <meta name="ncc:timeInThisSmil" content="91:27:21" /> <layout> <region id="txtView" /> </layout> </head> <body> <ref title="Economics by Richard G. Lipsey et.al." src="econ0001.smil" id="lpID_0001" /> <ref title="Information about the talking book" src="econ0002.smil" id="lpID_0002" /> <ref title="Contents in brief" src="econ0003.smil" id="lpID_0003" /> ... <ref title="Part 1. The nature of economics" src="econ0009.smil" id="lpID_0007" /> <ref title="1. The economic problem" src="econ0010.smil" id="lpID_0008" /> <ref title="2. Economics as a social science" src="econ0011.smil" id="lpID_0009" /> <ref title="3. An overview of the market economy" src="econ0012.smil" id="lpID_0010" /> ... <ref title="Ending announcement" src="econ0088.smil" id="lpID_0095" /> </body> </smil>
PCMファイルは、その形式タグとしてPCMを示すヘッダをつけてMicrosoft RIFF WAVEファイル形式を使用しなければならない(must)。PCMファイルは、ファイル拡張子 ".wav"を使用しなければならない(must)。
ISO / MPEGやMicrosoft RIFF WAVEのどちらかで定義されたMPEGファイルは、ヘッダとファイル構造を使用しなければならない(must)。MPEGオーディオの次のサブフォーマットがサポートされている: MPEG-1 Layer 2; MPEG-1 Layer 3; MPEG-2 Layer 2; MPEG-2 Layer 3。ISO / MPEGファイル形式を使用する場合、ファイル拡張子はそれぞれ".mp2"または".mp3"であるべきである(should)。
Microsoft RIFF WAVEファイルフォーマットを使用する場合は、ファイル拡張子は".wav"にするべきである(should)。
ISO / MPEGファイル形式とその拡張子を使用することが推奨される(recommended)。
ADPCM2ファイルには、ファイル拡張子の".wav"にしなければならない(must)。
音声ファイル名は、文字([A-Za-z])と数値([0-9])、ハイフン("-")とアンダースコア ("_"). のみを使用することを強く推奨する(recommended)。
NCC.HTMLはSMILとメディア(音声)ファイルとともにキャリアメディアのルートに配置されるべきである(should)。これはデフォルトのケースである。
しかし、このケースには以下の任意の例外が存在する。それらの例外は仕様で認められているものの、全ての再生デバイスがそのデフォルトと異なるケースを正しく処理できるとは限らないため、製作者はこれらを注意して使用するべきである(should)。
例えば、メディアのルートに配置されたNCC.HTMLは次のような見出し要素を持ってもよい(may)。
<h1 id="econ0128"><a href="./subfolder1/econ0065.smil#ec650001">Chapter 1</a></h1>
それに対応するSMILセクションは次のようになる。
... <par endsync="last"> <text src="../ncc.html#econ00128" id="ec650001" /> <seq> <audio src="./subfolder2/econ0034.wav" clip-begin=... /> <audio src="./subfolder3/econ0035.wav" clip-begin=... /> ...
DAISY 2.02準拠を達成するために、再生デバイスには、デフォルトのケースに準拠したDTBの再生に対応することのみが求められる(required)。
DAISY DTBが、そのサイズのために、いくつかの(2つ以上)のキャリアメディア上に配置しなければならない場合、次の方法が使用されなければならない(must)。
各キャリアメディアは、次のように追加された完全なNCCドキュメントを持たなければならない(must)。
<meta name="ncc:setInfo" content="1 of 3" />content属性の"1 of 3"、 "2 of 3"、 "3 of 3" は、メディアの順序を意味する。
次の例では、3つセットの2番目のディスクを示している。
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> ... other head elements ... <meta name="setInfo" content="2 of 3" /> </head> <body> <h1 id="ec001" class="title"> <a href=title.smil#info0001>Title section</a></h1> ... <h1 id="ec006"><a href=ch01.smil#ec01 rel="1 of 3">Chapter 1</a></h1> <h1 id="ec007"><a href=ch02.smil#ec01 rel="1 of 3">Chapter 2</a></h1> <h1 id="ec008"><a href=ch03.smil#ec01 rel="1 of 3">Chapter 3</a></h1> <h1 id="ec009"><a href=ch04.smil#ec01 rel="1 of 3">Chapter 4</a></h1> <h1 id="ec010"><a href=ch05.smil#ec01 rel="1 of 3">Chapter 5</a></h1> <h1 id="ec011"><a href=ch06.smil#ec01>Chapter 6</a></h1> <h1 id="ec012"><a href=ch07.smil#ec01>Chapter 7</a></h1> <h1 id="ec013"><a href=ch08.smil#ec01>Chapter 8</a></h1> <h1 id="ec014"><a href=ch09.smil#ec01>Chapter 9</a></h1> <h1 id="ec015"><a href=ch10.smil#ec01>Chapter 10</a></h1> <h1 id="ec016"><a href=ch11.smil#ec01 rel="3 of 3">Chapter 11</a></h1> <h1 id="ec017"><a href=ch12.smil#ec01 rel="3 of 3">Chapter 12</a></h1> <h1 id="ec018"><a href=ch13.smil#ec01 rel="3 of 3">Chapter 13</a></h1> <h1 id="ec019"><a href=ch14.smil#ec01 rel="3 of 3">Chapter 14</a></h1> <h1 id="ec020"><a href=ch15.smil#ec01 rel="3 of 3">Chapter 15</a></h1> </body> </html>
次の例は、上記のNCCの例にある"ch01.smil"に対応している。
<!DOCTYPE SMIL PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-SMIL/SMIL10.dtd"> <smil> <head> ...other head elements... <layout> <region id="txtView" /> </layout> </head> <body> <seq dur="4.024s"> <par endsync="last"> <text src="ncc.html#ec001" id="info0001" /> <audio src="please_insert_cd_1.wav" clip-begin="npt=0.000s" clip-end="npt=1.456s" id="info0004" /> </par> </seq> </body> </smil>
同じキャリアメディア上で1つ以上のDAISY DTBが提供される場合、次の方法が使用されなければならない(must)。
各DTBは別のフォルダ(ディレクトリ)に格納されなければならない(must)。キャリアメディアのルートには、メディア上の全てのDTBへのリンクを持つdiscinfo.htmlと呼ばれるファイルが作成される。このドキュメントは、セクション3.3.1で示されたように構造化されなければならない(must)。
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>CD Information</title> <meta http-equiv="Content-type" content='text/html; charset="iso-8859-1"' /> </head> <body> <a href="./book1/ncc.html">Economics</a> <a href="./book2/ncc.html">Ecology</a> </body> </html>
長いファイル名(8.3形式より長い)を可能にするファイルシステムの使用が求められる(required)。
CD-ROMでは、ISO 9660の拡張である"Joliet" の使用が推奨される(recommended)。"Romeo" ファイルシステムが使用してはならない(shall not)。
接頭辞 | ラベル | スキーム | 出現 |
ncc | charset | - | 必須(mandatory) |
dc | contributor | - | 任意* |
dc | coverage | - | 任意* |
dc | creator | - | 必須(mandatory)(作成者が知られている場合)* |
dc | date | ISO 8601 | 必須(mandatory) |
ncc | depth | - | 任意(推奨) |
dc | description | - | 任意* |
ncc | files | - | 任意(推奨) |
ncc | footnotes | - | 脚注が使用されている場合は必須(mandatory) |
dc | format | - | 必須(mandatory) |
ncc | generator | - | 任意 |
- | http-equiv | - | 任意 |
dc | identifier | - | 必須(mandatory) |
ncc | kByteSize | - | 任意 |
dc | language | ISO 639-1/ISO 3166 | 必須(mandatory)* |
ncc | maxPageNormal | - | 任意(推奨) |
ncc | multimediaType | - | 任意(推奨) |
ncc | narrator | - | 任意(推奨)* |
ncc | pageFront | - | 必須(mandatory) |
ncc | pageNormal | - | 必須(mandatory) |
ncc | pageSpecial | - | 必須(mandatory) |
ncc | prodNotes | - | 製作者のノートが使用されている場合は必須(mandatory) |
ncc | producedDate | ISO 8601 | 任意 |
ncc | producer | - | 任意 |
dc | publisher | - | 必須(mandatory) |
dc | relation | - | 任意* |
ncc | revision | - | 任意 |
ncc | revisionDate | ISO 8601 | 任意 |
dc | rights | - | 任意* |
ncc | setInfo | k of n | 複数のボリュームDTBなら必須(mandatory) |
ncc | sidebars | - | サイドバーが使用されている場合は必須(mandatory) |
dc | source | ISBN | 任意(推奨) |
ncc | sourceDate | ISO 8601 | 任意(推奨) |
ncc | sourceEdition | - | 任意(推奨) |
ncc | sourcePublisher | - | 任意(推奨) |
ncc | sourceRights | - | 任意 |
ncc | sourceTitle | - | 任意(タイトルが異なる場合は必須(mandatory)) |
dc | subject | - | 任意(推奨)* |
dc | title | - | 必須(mandatory) |
ncc | tocItems | - | 必須(mandatory) |
ncc | totalTime | hh:mm:ss | 必須(mandatory) |
dc | タイプ | - | 任意* |
* =このmeta要素は、NCC meta要素のセット内で複数回発生する可能性があります。
接頭辞 | ラベル | スキーム | 発生 |
dc | format | - | 必須(mandatory) |
ncc | generator | - | 任意 |
dc | identifier | - | 任意(推奨) |
ncc | timeInThisSmil | SMILクロック | 任意(推奨) |
- | title | - | 任意 |
dc | title | - | 任意 |
ncc | totalElapsedTime | SMILクロック | 任意(推奨) |
dc | format | - | 必須(mandatory) |
ncc | generator | - | 任意 |
dc | identifier | - | 必須(mandatory) |
ncc | timeInThisSmil | SMILクロック | 任意(推奨) |
dc | title | - | 必須(mandatory) |
XHTMLとSMILファイルは全て。標準的なXML検証ツールを使用して検証することができる。NCC及びXHTMLにある書籍のコンテンツは、XHTML 1.0 transitional仕様に対して検証することはできる。SMILファイルは、SMIL 1.0仕様に対するXMLパーサーで検証することができる。
検証ツールによるこれらの標準的なテストに加えて、いくつかのテスト用の書籍が利用可能となるだろう。DAISY 2.02仕様を満たしたいプレーヤーのメーカーは、内部テストをするためにこれらの仕様とテスト用書籍を使用するべきである(should)。このテストスイートで提供された書籍の全てがプレイヤーで再生することができたなら、プレイヤーのメーカーは、そのプレイヤーがDAISY 2.02準拠であることの証明を求めてもよい(may)。
オーサリングツールのメーカーは、オーサリングツールでこれらの仕様を満たすことができなければならない(must)。オーサリングツールがこれらの仕様を満たし、テストスイート資料のように実行したコンテンツを作成した場合、開発者は、オーサリングツールがDAISY 2.02準拠であることの証明を要求してもよい(may)。
DAISYコンソーシアムの証明を受けるためには、プレーヤーやオーサリングツールを、パフォーマンステストのためにDAISYコンソーシアムに提出しなければならない(must)。