音声ブラウザご使用の方向け: ナビメニューを飛ばして本文へ ナビメニューへ

1. はじめに

Validatorを使う

Daisy 2.02 Validator はDaisy 2.02 DTB準拠テスト用のツールです。このValidatorを使ってDaisy 2.02 DTB を分析したり、DTB内に発見されたエラーおよび警告の状態の一覧を含むレポートを作成します。

エラーと警告の違いは重要なので、下記の「結果の解釈」セクションで詳述します。

準拠テストを実行する際、Validatorでは一連のテストがDTBに対して適用されます。このテストでは実際にDTB内で見られたデータと予想データが比較されます。例えばValidatorではDTBの総再生時間が計算され、その算出された予想値が既存の値と相関するかチェックされます。もし予想が一致していなければテストは失敗です。

ここで実行されるテストには幅広く多様な範囲があります。いくつかのテストは、失敗した場合、DTBが再生機器で読み取ることさえできない事実を示します。例えば、ファイルが一個または数個欠落もしくは破損しているのかもしれません。

しかしValidatorで実行される全テストがDTBの可読性の測定だけを目的としているのではありません。準拠テストとは可読性への影響度と関係なく、仕様に違反がないかをチェックするものです。多くの場合、ValidatorからDTBが完全準拠でないとレポートされたとしても、再生機器できちんと読み取れることがあります。例えば出版日やファイル数などの情報が見つからないか間違っている場合、そのことによって可読性に問題が発生することはありません。しかしValidatorではこれが単にエラーとしてレポートされます。これは仕様書の規準的記述への違反があったからです。

Validatorで実行されるテストの完全なリストと説明については Validator開発者手引書の付録1を参照してください。

Validatorで実行されないテストについては、下記のValidatorの範囲を参照してください。

Validatorを使うメリット

Validatorは以下の目的で使用できます。

・DTBの可読性をチェックします。これは「スマートな」測定方法で、エンドユーザがDTBそのものから起きる問題を経験することなく、DTBを読むことができることを確実にするために必要です。
・DTBの準拠をチェックします。多くの図書館とその他情報プロバイダは、アーカイブしたり配布する情報が完全に仕様に準拠しているか検証するのに非常に気を遣います。すべての種類の情報と同様に、DTBも原則的に長期間使用に耐えることを前提にしています。DTBが準拠である場合にのみ長期間使用が保証されます。

ずっと下で説明されているように、Validatorツールには既存のエラーの訂正に使用可能なDocument Editor (文書エディタ)も付属されています。これは付加的な機能(Validatorsの中核機能に組み込まれた部分ではない)で、利用するにはさらに詳しい技術知識が要求されます。

Validatorを使用する対象

Validatorは以下の目的で使用できます。

  • コンテンツ製作者。DTBを製作する団体には品質管理目的のツールが必要です。
  • 配布者。DTBを配布する団体には、配布製品が完全に動作するかを保証したり、ユーザから不良と認定されたDTBを効果的に診断するツールが必要です。
  • 製作ツール開発者。DTBを出力するシステムの開発企業には、システム機能を正しく検査するためのバリデーションツールが必要です。
  • 再生システム開発者。DTB用再生システムの開発企業には、デバッグおよびテストの中で使用するコンテンツの妥当性を検証するためのバリデーションツールが必要です。
  • 準拠テスト。DAISY OKチームのような準拠テスト機関には、製作ツール用準拠テストの作業を完了したり、再生システムの準拠テスト中に使用するテストコンテンツを検証するためのバリデーションツールが必要です。

使用方法とライセンス

Daisy 2.02 Validatorのバイナリ配布は、Daisy Consortiumから無償で入手できます。アプリケーションの使用はすべて自己責任のもとで行ってください。

Daisy 2.02 ValidatorのライブラリバージョンはLGPLライセンスのもとで使用可能です。詳細についてはhttp://www.gnu.org/licenses/licenses.html#LGPLを参照してください。

さらに詳しい情報についてはDaisy Software initiative (DSI) dsidtb.sourceforge.netを参照してください。

関連ツール

Daisy 2.02 Validatorのほかに、Daisy Consortiumでは以下の可読性および仕様準拠に関連するツールを提供しています。

Regenerator

Regeneratorとは、組織・団体が既存のDaisy 2.0 や 2.02 DTBを修理したりアップグレードできるよう設計されたソフトウェアツールです。このツールではDaisy 2.0 または 2.02 DTBを入力として、Daisy 2.02準拠のDTBを出力するため一連の操作が実行されます。

詳細についてはwww.daisy.org/tools/conversion.aspを参照してください。

Daisy 3 (ANSI/NISO Z39.86-2002) Validator

Daisy 3 (ANSI/NISO Z39.86-2002)規格に準拠して作られたDTBはDaisy 2.02 Validatorでは検証できません。これらの用途にはDaisy 3 Validatorを使用します。
詳細についてはwww.daisy.org/tools/validation.aspを参照してください。

2. インストールと動作環境

Daisy 2.02 ValidatorはWindows™ 98、ME、 2000 および XPで動作します。

Validatorをインストールする前に、Microsoft XML Core Services(MSXML)4.0 SP1以上およびDirect X 7以上がインストールされていることを確認する必要があります。これらのコンポーネントがインストールされていない場合は、以下のWebアドレスでダウンロードしてください。

MSXMLダウンロード
Dirext ダウンロード

Daisy 2.02 Validatorはテスト実行中に大量のコンピュータメモリを使用します。少なくとも128 MB RAMを搭載したコンピュータの使用が推奨されます。それ以上の容量のRAMを搭載したコンピュータを使用すればパフォーマンスはさらに向上します。

ネットワーク環境下でValidatorを動作中に、全ディレクトリパスが正しくセットアップされているかまずチェックしてください。[Document paths(文書パス)]ダイアログを開くには、メインメニューで[Settings(設定)]を選択して、その中にある[Document paths(文書パス)]をクリックします。この設定の変更手順については、下記の文書パスダイアログのユーザインターフェースレファレンスで説明しています。

3. Validatorを使う(クイックバージョン)

DTBを検証するには、メインメニューで[Candidates(候補)]を選択してから [Add single DTB(単一DTBを追加する)]を選択します。そうすると[File browser(ファイルブラウザ)]ダイアログが開きます。

image of an added candidate

検証しようとするDTBが格納されたディレクトリを検索し、NCCファイルを選択して[OK]をクリックします。image of the book icon本形のアイコンを伴ったブランチがメインウィンドウの左側にあるValidation Report View(バリデーションレポートビュー)に追加されます。メインメニューから[Run(実行)]を選択し、次に[Run All(すべて実行)]をクリックします。

このときValidatorではDTB上で準拠テストの実行が開始され、画面下のStatus bar(ステータスバー)には進捗状況が表示されます。図書のサイズによってはバリデーション処理に30秒から数分程度かかります。

バリデーションジョブが完了すると、Validation Report View(バリデーションレポートビュー)image of the book icon内のDTB候補アイテムのアイコンが赤色に変わります。完了時にはシステムから「ピン」音も発信されます。
DTB候補アイテムブランチを展開すると、バリデーションの結果を読むことができます(バリデーション処理中はこのブランチが「not validated(未検証)」と表示されます)。

image of error branches

候補がエラーや警告もなくすべてのテストをパスした場合には、[no errors(エラーなし)]というテキストがDTB候補ブランチに表示されます。テストが一つ以上失敗した場合、失敗したテストごとにアイテムがそのブランチに追加されます。

テストの失敗にはエラー(error)と警告(warning)の二つのカテゴリがあります。エラーはさらに、重大なエラー(critical error)と重大でないエラー(non-critical error)に分けられます。重大なエラーとはDTB内に深刻なエラーがあり、それが可読性に問題を与える場合があるということです。重大でないエラーとは仕様書要求事項違反のことですが、可読性を引き下げれば危険はありません。

警告は上記のいずれとも異なりますが、むしろ仕様での推奨に一致しない場合か、定義済みの一般的な方法や常識が適用されない場合に実行されます。

失敗したテストアイテムの一つを選択すると、エラーに関する情報がメイン画面の下部にあるError View(エラービュー)に表示されます。いくつかのエラーには訂正のための提案が含まれます。

テストの一つをダブルクリックするか[Enter]を押すと、特定のファイルに関連付けられていれば、そのファイルが画面右側の[Document Editor(文書エディタ)]ウィンドウに表示されます。ここではエラーを確認(ときには訂正)することができます。

単一候補については、外部xhtmlファイルへレポート(全テスト結果)を保存することもできます。このレポートは、簡単に印刷、HTMLブラウザで閲覧、または後の段階でValidatorにロードすることも可能になるよう構造化されます。レポートを保存するには、Validation Report View(バリデーションレポートビュー)内で候補を選択し、メインメニューで[File(ファイル)]を選択してから[Save Report(レポートの保存)]をクリックします。

4. Validatorを使う(クイックバージョン)

4.1 候補タイプ

異なる候補タイプ上でバリデーションを実行することができます。[単一ボリュームDTB]、[多重ボリュームDTB]またはDaisy 2.02 DTBファイルセットからすべてのタイプの[単一ファイル]を選択して検証することもできます。

候補タイプ コメント
単一DTBgraphic used for single DTB 完全なDTBを検証します。NCC文書が入力として必要です
多重ボリュームDTBgraphic used for multi volume DTB 完全なDTBを検証します。すべての多重ボリュームのNCC文書が入力として必要です。最後のNCCが追加されたらファイルオープンダイアログで[Cancel(キャンセル)]を選択してください。
単一ファイル-NCCgraphic used for single NCC NCC文書を内部的に検証し、文書間関係はチェックしません。
単一ファイル-SMILgraphic used for single SMIL SMIL文書を内部的に検証し、文書間関係はチェックしません。
単一ファイル-マスタSMILgraphic used for single Master SMIL マスタSMIL文書を内部的に検証し、文書間関係はチェックしません。
単一ファイル-コンテンツ文書graphic used for single Master SMIL XHTMLコンテンツ文書を内部的に検証し、文書間関係はチェックしません
単一ファイル-Discinfographic used for single discinfo Discinfo 文書を内部的に検証し、文書間関係はチェックしません

上記に示したように、単一ファイルのバリデーションは、DTB全体の準拠状態を保証する確実な方法ではありません。文書間関係(ファイル間リンクなど)は単一DTBまたは多重ボリュームDTBの選択肢が選択された場合のみチェックされるからです。

DTBの準拠状態を確実にするには、候補選択肢から[単一DTB]または[多重ボリュームDTB]を選択します。完全な妥当性チェックでは[単一ファイル] 選択肢に依存せず、修復中または前処理段階でのみ使用してください。

単一ファイル-コンテンツ文書選択肢はDTB製作以前のソース文書の検証に使用することもあるので覚えておいてください。

image of the add candidates menu

候補を追加するには、[Candidates(候補)]メニューを選択してから希望の選択肢をクリックします。いずれの場合もファイルブラウザダイアログが開いて、候補の位置にマウスポインタを合わせるよう指示されます。

4.2 バリデーションモード

Validatorでは三種類の異なるバリデーションモードが使用できます。デフォルトのモードは完全準拠バリデーションに設定されています。これは時間消費またはDTBの妥当性の観点からもっともよく使用されるモードです。このモードを使うと、Validatorテストマップ内の定義に従ってすべてのテストが完了します。

他の二つのモードは以下のとおりです。

image of light mode enabled in the candidate menu

Light Mode(ライトモード)
このモードを使うとDTBの機能性に対する重大なテストだけが実行されます。このモードにはファイル実存性、ファイル可読性、ファイルDTD妥当性およびファイル間リンクの整合性テストが含まれ、メタデータテスト、時間データテスト等は除外されます。
Disable Audio Tests Mode(オーディオテスト無効化モード)
このモードを有効にすると、オーディオファイル関連のすべてのテストが省略されます。オーディオを除外したDTBデータにだけアクセスする場合によく使われるモードです。

上記モードの有効化と無効化は候補メニューで実行できます。

4.3 バッチモード

いくつかの候補を同時追加してワンセッションで検証することができます。大量のDTBの検証が必要なとき、このように[バッチキュー]をセットアップして、例えば夜間Validatorにキューを処理させると便利な場合があります。

Validatorをバッチモードで実行するには、希望DTBか単一ファイルのすべてが追加されるまで候補の追加コマンドを繰り返すだけです。次に[Run(実行)]メニューで[Run All(すべて実行)] (CTRL+R)を選択することを確認してください。[Run Selected(選択の実行)] (CTRL+E)を使うと、選択された候補だけがキュー内で検証されます。

4.4 バリデーションの実行

image of the run menu

バリデーションは、[Run(実行)]メニューで[Run Selected(選択の実行)] (CTRL+E)または[Run All(すべて実行)] (CTRL+R)を使うと実行できます。[Run Selected(選択の実行)] を使うと候補リスト内で選択された(ハイライトされた)候補だけが検証され、[Run all(すべて実行)]ではすべての追加候補が検証されます。

また、選択したものを実行するには一本矢形のimage of the run selected button緑ボタンを、全選択を実行するには二本矢形のimage of the run selected button緑ボタンを使うこともできます。

DTBのサイズやその他環境(ファイル数、オーディオフレーズ数)によって、バリデーション処理は30秒から数分程度かかります。バリデーション中には現在の進捗や状態が画面下のStatus Bar(ステータスバー)に表示されます。

4.5 結果の解釈

候補のバリデーションが完了するとシステムから「ピン」音が発信され、その前は灰色image of the gray book iconの本形だったアイコンが赤色image of the gray book iconに変わります。

image of error branches

結果を確認するには、Validation Report View(バリデーションレポートビュー)内で候補を選択してブランチを展開します。候補がエラーや警告もなくすべてのテストをパスすると、DTB候補ブランチに[no errors(エラーなし)]というテキストが表示されます。テストが一つ以上失敗すると、失敗したテストごとにアイテムがそのブランチに追加されます。

失敗したテストはエラーおよび警告という二つの基本的なカテゴリに分類されます。

警告

エラーは対処が必要なDTB内の事象であるのに対し、警告はもっと軽い現象です。警告はふつう仕様書要求事項違反にも図書可読性に対する脅威にもあたりません。警告は概してValidatorが仕様推奨のデータを見つけられない場合に発せられます。すなわち警告とはオプションのデータが欠落していることを指摘するものです。

しかし、少なくとも警告カテゴリ内のアイテムを確認することを推奨します。たとえ仕様で要求されていなくても、重要な情報が警告カテゴリ内に表示されることがあります。例えば、多くの団体はナレータ情報を非常に重要視しています。メタデータエレメントncc:narratorは現行のDaisy 2.02仕様では必要とされないため、見つからない場合は警告としてレポートされます。

Validatorアプリケーション内のファイルを変更すると、エラーと警告のカテゴリをカスタマイズすることができます。例えば特定のメタデータエレメント(団体内固有の状況で発生)が見つからないか一定規則に従っていない場合、そのメタデータエレメントがエラーカテゴリで発生するよう設定できます。Validator開発者手引書内のVTMおよびADTDのセクションを参照してください。これは非常に高度な技術作業なので、すべて自己責任のもとで実行してください。

エラー

Validatorに失敗したテストがエラーと表示された場合は、つまりこのファイルの文法や構造の規則を規定した仕様書の一つで要求していることに対して違反が発生していると考えられます。その仕様書はDaisy 2.02仕様またはDaisy 2.02が依拠するW3C仕様の一つである可能性があります(通常は下記のユーザインターフェースレファレンスエラービューセクションで説明されているように、エラー情報には違反のあった仕様へのポインタが格納される)。

エラーカテゴリはさらに重大なエラーと重大でないエラーの二つのクラスに分けられます。これらのカテゴリは、バリデーションの可読性面に重点を置くユーザの一助として作られたものです。Validatorでは、DTBの状態を素早く概観できるように、重要カテゴリにネガティブな影響を及ぼす可能性のあるエラーを識別する試みが行われます。

しかしDTBの可読性面については、ライトモードバリデーション実行後に一切のエラーレポートが出力されていないことを確認すると、最適化してテストできるので覚えておいてください。

準拠テストの視点からは、重大なエラーおよび重大でないエラーのカテゴリは同程度に重要です。仕様書の要求事項違反は、エラーが図書の可読性に影響を与えるかどうかにかかわらず常に深刻なエラーです。

今日は再生機器で無害に見えたエラーが、明日の再生機器では致命的なエラーになる可能性があることを覚えておいてください。完全準拠によってのみDTBの寿命は保証されます。

結果カテゴリ

アイコンと名前 障害のタイプ 障害のクラス 注釈
image of the pass iconエラーなし     すべてのテストがパスしました。Validatorでは候補内に準拠に関する問題を発見できませんでした。
image of the warning icon警告 警告   仕様の推奨が一致しませんでした。
image of the error iconエラー エラー 重大または重大でない 重大でない場合:仕様書の要求事項に違反がありました。エラーはDTBの可読性には影響を与えないでしょう。
重大な場合:仕様書の要求事項違反がありました。エラーはDTBの可読性に影響を与える可能性があります。

障害の説明

Validation Report View(バリデーションレポートビュー)でエラーまたは警告のアイテムを選択すると、画面下のError View(エラービュー)内にエラーの情報が表示されます。アイテム上で[ENTER]を押すかダブルクリックすると、対応する文書(SMIL、XHTML)が画面右側のDocument Editor(文書エディタ)内で開きます。行列情報が提供可能な場合は、カーソルがエラーの発生した文書内の正確な位置に置かれます。

Error View(エラービュー)内の情報およびDocument Editor(文書エディタ)内の文書を使うと、問題を突き止めることができます。

Error View(エラービュー)内では失敗したテストができるだけ正確に説明されます。障害の説明は時にはかなり技術的なので注意してください。Daisyのテクノロジおよび XMLに不慣れだと、提供される情報そのものが技術的すぎるとさえ思われるかもしれません。

初めは不明瞭にみえていたエラーを理解するための基本の一つは、違反があった仕様書の要求事項を確認してみることです。コンピュータがオンラインになっている場合は、エラーと関連付けられたリンク(仕様そのものや時には仕様内の関連段落も示す)をたどれば確認できます。確認するには、Error View(エラービュー)内に指定されたWebアドレスをコピーアンドペースト(コピー、貼り付け)するか、Validation Report View(バリデーションレポートビュー)内のエラーを右クリックして[Goto Specification(仕様へ)]を選択します。

サポートと支援の詳細については、DaisyウェブサイトのKnowledge BaseおよびDaisy Consortiumサポートメーリングリストを参照しください。

障害説明のコンテンツに関する詳細情報については、ユーザインターフェースレファレンス[エラービュー]セクションを参照してください。

エラーを隠すエラー

エラーが他のエラーを隠している場合があるので注意してください。例えば、NCC文書が「不正な形式」またはDTDに対し無効となっている場合、Validatorでは後続のテスト(例えばNCCとSMILファイルのリンクのテスト)が全く実行できないということになります。言い換えると、バリデーションが文書内の重大なエラーのせいで未完のまま中断されてしまい、この時点では容易に発見できなかった追加のエラーがDTB内で発生している可能性があるということです。

このため図書を修正する場合は、エラーがレポートされなくなるまで、エラーの修正とバリデーションを繰り返すことが非常に重要です。

結果解釈に関するよくある質問

質問:なぜDTD 無効に関するレポートが複製されるのですか?

答え:コンテンツ文書以外の各文書は二つのDTDに対して検証されるからです。一つ目は「正規」DTD(W3C発行のXHTML 1.0または SMIL 1.0 DTD)です。二つ目はValidator開発者が作成した「カスタム」または「サブセット」のDTDです。「カスタム」または「サブセット」はよりきめの細かい(特にDaisy 2.02仕様関連の無効エラーを発見する)DTDです。「正規」DTDに対して妥当な文書が「カスタム」DTDに対して妥当でない場合があります。「カスタム」DTDに対して妥当な文書は「正規」DTDに対しても妥当です。さもなくば、そのようなエラーは開発者に報告したほうがよいでしょう。

質問:「属性ペアエラー」とは何ですか?

答え:「属性ペアエラー」というテキストを含むレポートはほとんどの場合、行方不明のメタデータか誤ったメタデータと関係しています。Validatorでは<meta/>エレメントが参照され、これらエレメントのname属性およびcontent属性の値が比較されます。このname属性およびcontent属性が「属性ペア」にあたります。

4.6 レポート文書

ValidatorレポートはXHTML形式の文書として保存することもできます。このレポートには図書内で発見されたすべてのエラーおよび警告のリストが格納され、このリスト内の各アイテムにはエラービュー内と同一の情報が格納されます。

image of the save report menu command

レポート文書はValidator内でも開けます。これを実行すると、Validator(またはコンピュータ全体)がシャットダウンされて再起動された場合でもセッションを回復できます。ただし文書エディタ内で文書を閲覧するには、DTBがバリデーション実行時と同一のフォルダ内に置かれている必要があります。
Validatorでは自動的にレポート文書は保存されないので注意してください。保存するには、 [File(ファイル)]メニューで[Save Report(レポートの保存)]を選択します。

4.7 精度、範囲、機能

精度

Validatorの出力レポートは100パーセントの精度を保証するものではありません。これは以下の理由によります。

  • Validatorが既存エラーの検知に失敗した可能性があります。
  • Validatorは計算ミスにより実際は有効な現象をエラーと報告することがあります。

Validatorの出力レポートはDTBの状態に関する表示とみなしましょう。Validator内の計算アルゴリズムは時間をかけて改善され、表示の精度も次第に上がっていきます。ただし、レポートを最終的な正しい記述と判断することはできません。

範囲
以下のアイテムはValidatorのテスト範囲には含まれません。
オーディオ - テキスト同期化精度
Validatorでチェックされるのはリンクの技術的妥当性のみで、リンクの精度はチェックされません。言い換えれば、原文で5ページを表すNCCアイテムが実際にはオーディオでは6ページを示している場合、この現象はValidatorでは通知されません。
オーディオ品質
劣化音質はアクセス不能なDTBを作り出しますが、Validatorではこのようなオーディオの分析はされません(ノイズ、シグナルレベル等)。

現実世界レファレンス
スペルミス、発音ミスおよびその他の誤ったレファレンスのような現実世界のエラーは、Validatorでは考慮されません。

機能性

以下のアイテムは現在Validatorのテストには含まれません。

PDTB
Validatorでは現在、プロテクトされたDTB(PDTB)は検証されません。
仮定のエンコードと実際のエンコード
Validatorでは現在、仮定のエンコードか実際のエンコードかは検証されません。同一文書内の異なるエンコード情報の値の整合性も検証されません。
非ローカルリソース
Validatorでは例えばウェブ上(http、ftp)など非ローカルリソースに対するポインタの精度のチェックは試行されません。URIシンタックスの妥当性はチェックされますが、URIが実際に解決するかどうかはチェックされません。
ADPCM2
DTBのオーディオファイルがADPCM2でエンコードされたときは、実在性以外はオーディオファイル整合性のすべてのテストが無効化されます。
スキッパビリティ
スキップ構造を持ったDTB(Daisy 2.02 Skippable Structures Recommendation参照)は一般的なDTDの妥当性とリンク整合性に関してテストされますが、スキップ構造の意味が正しいかどうか(例えば、SMILファイルのこのスキップ可能部分が本当にテキスト文書内の製作者注釈を参照しているか?)はテストされません。