書誌情報を一度で確認!EPUBのOPF、StudioがOPFを生成するまでの流れ

OPFは手入力の書誌カードをそのまま写した一枚ではなく、EPUB内の資源と読む順序を束ねるパッケージ文書です。epub opfの検査では、metadata、manifest、spineの役割を分け、元設定から生成結果までをたどります。

4章から生成したOPFを再び開いた

4章の合成原稿にタイトル、著者、出版社、言語jaを設定して出力しました。結果はspine7、nav4、NCX4、画像0、valid=trueです。content.opfにはタイトル、言語、出版社があり、そのSHA-256は7073a5e4...a596493として記録されています。

失敗しやすいのは、manifestに章ファイルが並んでいるため読む順序も正しいと思い込むことです。実際の順序はspineとの対応で判断します。章の追加後に目次だけを見て済ませず、manifestの資源ID、spineの参照、navのリンクを同じ4章へ解決します。欠落があれば元の章選択へ戻って再出力します。

合格条件は、書誌3項目の一致、4章の資源宣言と順序、nav4件、NCX4件、ローカル構造検査の成功です。版番号や発行日がOPFへどう表現されるかは今回の合格項目に含めず、販売先の受理も保証しません。

manifest IDからspineとnavへ三方向にたどる

四章それぞれについて、manifestのIDとhref、spineのitemref、navのリンクを一行へ置きます。manifestに存在してspineにない資源は読書順へ入らず、spineにあってnavにない章は目次から直接到達できません。その差が設計通りかを判定し、欠落なら元の章選択へ戻ります。

OPFのタイトル、言語、出版社は書誌列で照合します。版や日付は今回の検索で確認していないため、同じ合格印を付けません。生成物のOPFを直接編集せず、設定と章構成を修正して再出力すれば、manifest・spine・navの関係を一つの操作から再現できます。

一章を外した負のパッケージで検査表を試す

四章のうち一章を収録対象から外した複製を作ると、manifest・spine・navのどの欄が不合格になるべきか確認できます。検査表が欠落章を示さずvalid値だけを見るなら、引き渡し検査として不足です。正常版と負の版のOPF、nav、NCXを別ハッシュで保存します。

書誌値は章欠落とは独立なので、負の版でもタイトルや出版社は正しい場合があります。書誌合格を理由に章構造を合格にせず、欄ごとの判定を維持します。

正常版へ戻すときは元の章選択を修正して再生成します。OPFへ一行を直接足すとXHTMLや目次との関係が再現できません。生成経路を守ることが、次回も同じ四章を作る条件です。

OPFは生成結果の「図」として読む

STUDIO-265の四章本は横書き、版1.5、spine7、画像0、欠落0、nav4件、NCX4件、valid=trueでした。OPFを開いたら、まずmetadataの作品名と言語、次にmanifestのID・パス・media-type、最後にspineのidrefを読みます。一章につき「元原稿→生成XHTML→manifest ID→spine順」の矢印を一本にします。

一章を外した複製でグラフ検査を試す

負の標本では第二章のmanifest itemを残したままspineから外すケースと、逆にspineのidrefだけ残してmanifest itemを外すケースを分けます。前者は読書順からの脱落、後者は参照先不明として検出されるべきです。二つを同時に壊すとどの検査が効いたか分からなくなります。

修復ではOPFを手で合わせず、元の章選択と順序を直し、Rune Studioから新しいEPUBを生成します。metadata、manifest、spine、navの四経路を新SHAで全検査します。

入力値とOPF値を同じ言葉で丸めない

画面に保存された版や発行日が、常に同じ文字列でOPFへ入るとは限りません。各入力項目に収録先と未収録を記録し、見つからない値は未合格とします。販売先受理と全リーダー表示も、このローカルOPF検査の範囲外です。

OPFの生成グラフを別担当へ渡す最終票

最終票の一行目にSTUDIO-265の入力パスとSHA-256、二行目に実行した画面名または命令、三行目に保存後の再読込値を記録します。このテーマで必要な比較列は「metadata、manifest ID、spine idref、nav href、元章」です。どの値が入力、保存、生成物、表示のどの層に属するかを空欄にせず書きます。

OPFグラフが不合格のときは、返り先をその層に限定します。入力なら読み込み複製、保存なら別名の復旧ファイル、生成なら新しいEPUB、表示ならReader名付きの再試験です。失敗したファイルを上書きせず、復旧結果に別SHAを付けることで、修正者と査読者が同じ差分を見られます。

この最終票の判定原則は「出力OPFを手で直さず入力設定から再生成する」ことです。ローカルの構造検査が合格しても、販売先受理、全Readerの同一表示、未操作のUIは別の未検証欄に残します。次の担当者が一枚の票から実測済みと未実測を読み分けられることが完了条件です。