# 構築準備

インフォメーション・システム・ツールキットのツールは、インフォメーション・マネージャで表示可能なドキュメントを構築するために、大量の異なる SGML ファイルを処理します。この節では、インフォメーション・マネージャでドキュメントを構築するときに必要なファイルについて説明します。

## 必要なファイル

インフォメーション・マネージャでブラウズ可能なブックを構築するには、次のファイルを用意しなければなりません。

- 「ブック・ソース・ドキュメント」 これらの SGML に準拠したドキュメントには、ブックのテキストおよびその SGML マークアップが含まれます。

- 「目次ファイル」 インフォメーション・マネージャのブックのそれぞれは、`dtinfoTOC.dtd(5)` に準拠したハイパーテキスト目次 (TOC) を必要とします。ハイパーテキスト目次 (TOC) は、`dtdocbook2infolib tocgen` コマンドを使用して作成することができます。

- 「スタイル・シート」 スタイル・シートは、ブックのフォーマット作成を管理します。インフォンメーション・マネージャでは、ブックのオンライン形式および印刷出力形式の両方について、スタイル・シートを指定することができます。スタイル・シートは、`dtinfoStyle.dtd(5)` に準拠していなければなりません。

- 「ブックケース規定」 `dtinfoBook.dtd(5)` に準拠するブックケース規定には、構築過程において、インフォメーション・マネージャによって必要とされるすべての SGML エンティティが含まれるか、その参照が作成されます。ブックケース規定は、単一のブックでも、多くのブックを含むインフォメーション・マネージャの完全なインフォメーション・ライブラリでも、その構築で使用することができます。

  「ブックケース規定の作成」 は、このドキュメントの作成方法について記述します。「ブックケース規定の例」で例を示しています。

## ブック・ソース

ブックケースの各ブックには、少くともひとつの SGML に準拠したドキュメントが必要です。単一の SGML ドキュメントが完全なブックになることもあります。また、完全なブックを形成する数個のドキュメントのうちのひとつのみになることもあります。

SGML ブック・ソースには、ひとつであっても数個あっても、ブックのテキスト（内容）およびその SGML マークアップがあります。エンティティ参照の使用により、ドキュメント・ソースは、別のファイルや外部のシステム・ユニットにある外部テキストおよび非テキストのエンティティへの参照も作成します。

エンティティ参照によって、指定されたエンティティが、SGML ドキュメントの参照ポイントに埋め込まれます。

文書型定義 (DTD) は、SGML ドキュメント・ソースと関連付けられていなければなりません。文書型定義は、タイトル、段落、リスト、表、グラフィックなどのような要素の構造的な関係性を定義します。

ほとんどの場合、文書型定義は、SGML ドキュメントの外部にあり、通常は各 SGML 準拠ドキュメントの先頭にある DOCTYPE 宣言により、SGML ドキュメントから参照されます。以下の例 「DOCTYPE 宣言」 を参照してください。

図 「SGML ドキュメント・ソース」 は、インフォメーション・マネージャのブックを作成するときに使用できるドキュメント（ハイパーテキスト目次と外部エンティティを含みます）間の関係を示しています。

### SGML ドキュメント・ソース

SGML 宣言は、SGML のパーサによって必要とされます。これは、具体的なドキュメントで有効な文字セットと SGML の区切記号を規定します。`dtinfo.decl(5)` は、インフォメーション・マネージャによって使用される SGML 宣言です。

インフォメーション・マネージャの宣言 `dtinfo.decl(5)` を、置き換えたり上書きしたりすることはできません。すなわち、インフォメーション・マネージャの SGML 宣言の OMITTAG は YES に設定されているため、文書型定義の要素宣言は、省略されたタグの最小化パラメータ（たとえば、`“-o” または “--”`）を含まなければなりません。詳細については、International Standards Organization (ISO) 8879 の Element Declaration を参照してください。

インフォメーション・マネージャの SGML 宣言 `dtinfo.decl` は、インフォメーション・マネージャとともに提供され、`dtdocbook2infolib build`、`dtdocbook2infolib validate`、および `dtdocbook2infolib update` コマンドを起動したときには、自動的に参照されます。

### DOCTYPE 宣言の例

    <!DOCTYPE Chapter PUBLIC
    “-//HaL and O'Reilly//DTD DocBook//EN”
    [
    <!ENTITY % ISOlist PUBLIC
     “-//Common Desktop Environment//ENTITIES ISO Catalog//EN”>
     %ISOlist;
     %ISOlat1;
     %ISOnum;
     %ISOpub;
     %ISOtech;
     <!ENTITY % halpubs SYSTEM “hal.gml” >
     %halpubs;
    ]>
    <CHAPTER ID=”CH-1015-3-1” LABEL=”3”><TITLE>Working in the
    X Environment</TITLE>
    <TITLEABBREV>Working in the X Environment</TITLEABBREV>
    <HIGHLIGHTS>
    <PARA>This chapter shows you how to begin working
    productively in the X environment. It describes how to:
    </PARA>
    …

SGML 準拠ドキュメントの作成方法を記述した書籍の一覧については、 「関連文書」 を参照してください。

## 目次

インフォメーション・マネージャのインフォメーション・ライブラリの一部として構築する各ブックには、ハイパーテキスト目次 (TOC) が必要です。ハイパーテキスト・リンクは、目次のセクション・タイトルを、それらのタイトルが参照する実際のオンラインのセクションに接続します。

インフォメーション・マネージャでは、目次は、ブックへのエントリ・ポイントとして表示されます。すなわち、デフォルトのブックへの線形パス（ユーザがあたかもブックのハードコピー版を読んでいるかのように参照できるパス）を確立します。ユーザが、目次中のセクション・タイトルを選択（その上でクリック）すると、ブラウザはリンクをたどって、ユーザのウィンドウにオンラインのセクションを表示します。

また、インフォメーション・マネージャにおいては、目次は、オンライン・ドキュメント内の案内の支援という重要な機能により、強力なハイパーテキストのナビゲーション・ツールでもあります。たとえば、目次によって提供される情報を利用して、インフォメーション・マネージャのグラフィカル・マップは、ブック内におけるセクションの相対的な位置を表示することができます。また、目次を利用してインフォメーション・マネージャのブック・リスト・ウィンドウの複雑なブック・リストは、ブックの構造に関する階層的な情報を提供します。

目次で必要なハイパーテキスト・リンクを設定するためには、インフォメーション・マネージャが、ユーザのドキュメント・ソース内のセクションを識別できなければなりません。これは、ユーザのブックの文書型定義へのインフォメーション・マネージャ設計様式の適用によって行われます。

ブックの目次を作成する前に、目次内でセクションとして参照されるべき文書型定義中の各要素を識別するために、インフォメーション・マネージャ設計様式を適用しなければなりません。これにより、インフォメーション・マネージャの目次ジェネレータが、セクションのタイトルとその一意のセクションIDの値を引き出すことが可能になります。 （「目次の設計様式」を参照してください。）

### 目次の作成

各ブックのための目次を作成するには、`dtdocbook2infolib tocgen` コマンドを使用します。

#### dtdocbook2infolib tocgen の実行

ここでは、目次の生成のために `dtdocbook2infolib tocgen` を使用する例を示します。`dtdocbook2infolib tocgen` を実行する前に、ブックのソース・ファイルが次のようになっていることを確認してください。

- インフォメーション・マネージャ設計様式が適用される文書型定義を含むか、あるいは文書型定義への参照を取り込んでいること。

- 文書型定義に基づく有効な SGML マークアップを含むこと。

この例の基本的な `dtdocbook2infolib tocgen` コマンド行を次に示します。

    dtdocbook2infolib tocgen -T /usr/pers -f TOC.file -id asg.toc -title “Acoustic Sound Generators” pref.sgm ch01.sgm ch02.sgm ch03.sgm appx.sgm

各オプションの意味は以下のとおりです。

`-T` `/usr/pers`

- 構築過程で、一時的ファイルが置かれるディレクトリを指定します。デフォルトは、環境変数 `TMPDIR` が使用されます。変数 `TMPDIR` が設定されていない場合は、`/usr/tmp` が使用されます。

`-f` `TOC.file`

- `dtdocbook2infolib tocgen` プロセスの出力が行われるファイル名を指定します。

`-id` `asg.toc`

- 新規に作成された目次ファイル内の目次識別子を指定します。`-id` の英数字の値（この場合 `asg.toc`）は、目次ファイルを目次が生成されたブック・ソース・ファイルの特定のセットと関連付けます。各ライブラリ内のブックケース間で一意の値を使用しなければなりません。

`-title` `“Acoustic Sound Generators”`

- 目次のタイトルを指定します。`-title` の値（この場合 `“Acoustic Sound Generators”`）が、新規に作成された目次ファイルのタイトルになります。

  目次のタイトルは、それが関連するブッックの目次を識別します。インフォメーション・マネージャのウィンドウに表示されると、この名前が目次ノードのタイトルとして現われます。

  名前の提供で `-title` フラグを使用しない場合、生成後に目次ファイルを開き、デフォルトの文字列 `$Title = “Table of Contents”` を適切なタイトルに置き換えることもできます。

`pref.sgm` `ch01.sgm` `ch02.sgm` `ch03.sgm` `appx.sgm`

- 目次のセクション・タイトルの一覧が生成されるドキュメント・エンティティの名前を指定します。

  ドキュメント・エンティティは、その内容がオンライン・ブックに現われる順序で、コマンド行から入力されるべきです。

`dtdocbook2infolib tocgen` プログラムは、インフォメーション・マネージャ設計様式が適用されたことを検証し、ドキュメント・エンティティをその文書型定義に対して検証します。

検証が正常に行われた後、`dtdocbook2infolib tocgen` は、ブック・ソース・ファイルと生成された目次ファイルから、セクションのタイトルとセクションの識別子を抽出します。

ブック・ソース・ファイルのセクションの追加や削除を行う場合には、目次を再生成しなければなりません。

## スタイル・シートの使用

スタイル・シートは、インフォメーション・マネージャにおけるブックのフォーマットされた表現形式を管理します。単一のスタイル・シートを使用して、インフォメーション・マネージャから印刷されたときのブックの印刷出力形式、およびインフォメーション・マネージャにおけるブックのオンライン表示形式の両方 を指定することができます。

また、単一のスタイル・シートを使用してブックケース内の複数のドキュメントのフォーマット方法を記述したり、複数のスタイル・シートを使用して同一のブックケース内の異なるドキュメント・タイプを処理することもできます。

- 図 「複数のスタイル・シートの使用方法」 は、ブック内のブックとセクションによる異なるスタイル・シートの使用方法を示しています。

- 「異なるレベルでのスタイル・シートの指定」 では、スタイル・シートが、ブックケースのレベル、ブックのレベル、およびセクションのレベルで、どのように指定されるかを説明しています。

- 「複数のスタイル・シートを使用したブックケースの例」 は、３つのブックにフォーマット形式の情報を提供する４つのスタイル・シートを使用するブックケース規定の例を示しています。

インフォメーション・データベースを一度構築すれば、`dtdocbook2infolib update`
コマンドを使用して、新規のスタイル・シート情報によるセクションの再フォーマットを行うことができます。 「構築されたブックケースのスタイル・シートの更新」を参照してください。

スタイル・シートの詳細については、 「スタイル・シートの作成」を参照してください。

### 複数のスタイル・シートの使用方法

図に示すように、デフォルトのスタイル・シート `Style01` は、別のスタイル・シートがブックのレベルまたはセクションのレベルで使用されない限り、ブックケース中のすべてのブックをフォーマットするために使用されます。デフォルトのスタイル・シートではないスタイル・シートが指定された場合、それが定義された特定のブックまたはセクションのフォーマットを行うときのみ有効となります。このとき、処理は、別のスタイル・シートが指定されない限り、デフォルトのスタイル・シートによって続行されます。

### スタイル・シートの定義

インフォメーション・マネージャのライブラリでは、各ブックケースのためのデフォルトのスタイル・シートを定義しなければなりません。（「ブックケース規定の作成」を参照してください。）

#### 異なるレベルでのスタイル・シートの指定

各スタイル・シートは、スタイル・シートのドキュメント自身の先頭で指定する一意の名前をもたなければなりません。ブックケースで使用されるすべてのスタイル・シートは、ブックケース規定の先頭にあるエンティティ宣言を使用して定義することができます。次に示すのは、スタイル・シートのセットのためのエンティティ宣言の例です。

    [
     <!-- Style sheets -->
     <!ENTITY Style01 SYSTEM “InfoMgrRN/style01.sty” >
     <!ENTITY Style02 SYSTEM “Perl/perl.sty” >
     <!ENTITY PrefSty SYSTEM “Preface/pref.sty” >
     <!ENTITY IDXSty SYSTEM “Index/IDX.sty” >
     ...............
     ...............
     ...............
    ]

宣言されたスタイル・シートは、エンティティ参照を使用して、ブックケース規定の内部から参照されます。 「複数のスタイル・シートを使用したブックケースの例」では、すべてのエンティティ宣言とスタイル・シートのエンティティ参照とともに完全なブックケース規定を示しています。

##### ブックケースのレベルでのスタイル・シートの指定

デフォルトのスタイル・シートは、ブックケースのレベルで指定されます。エンティティ参照は、そのブックケースのために定義された他のすべてのスタイル・シートに対して行われます。

BOOKCASE 要素の開始タグは、ブックケースの内容の一覧表記を開始します。これには、使用されるスタイル・シートと処理される SGML ドキュメントが含まれます。

ブックケースの最初のステートメント `<BOOKCASE StyleSheet=style01>` は `style01` をデフォルトのスタイル・シートとして命名します。BOOKCASENAME および BOOKCASEDESC 要素が指定された後、エンティティ参照が、ブックケースの内容をフォーマットするときに使用されるすべてのスタイル・シートのエンティティに対して作成されます。次に例を示します。

    <BOOKCASE StyleSheet=Style01>
     <BOOKCASENAME>INFOMGR</>
     <BOOKCASEDESC>Info Manager Release Notes</>

     <!-- Include the style sheets. -->

     &Style01;
     &Style02;
     &PrefSty;
     &IDXSty;

各エンティティ参照のアンパサンドとセミコロン、 `&Style01;`、 `&Style02;`、 `&PrefSty;`、および `&IDXSty;` は、エンティティ参照の開始・終了区切記号です。

##### ブックのレベルでのスタイル・シートの指定

BOOKCASE 要素で指定されるデフォルトのスタイル・シートは、別のスタイル・シートがブックのレベルまたはセクションのレベルで指定されない限り、ブックケースの各ブックのために使用されます。

BOOK 要素の開始タグは、ブックの内容の一覧表記を開始し、（デフォルトのスタイル・シートではない場合に）使用されるスタイル・シートを参照します。次に例を示します。

    </BOOK>

    <!-- Perl Manual -->
    <BOOK StyleSheet=Style02>

このステートメントは、`Style02` が Perl Manual SGML ソースをフォーマットするために使用されることを示しています。

ブックのソース・ファイルが処理された後、次の BOOK 要素の開始タグは、別のスタイル・シートが指定されない限り、最初の BOOKCASE 要素の開始タグで指定されたデフォルトのスタイル・シートの値に、スタイル・シートを再設定します。

##### セクションのレベルでのスタイル・シートの指定

セクション・レベルのスタイル・シートは、ブックケース・ファイルのブック要素の一覧表記内では指定されません。代わりに、インフォメーション・マネージャ設計様式を使用して、ブックの文書型定義 (DTD) において指定されます。インフォメーション・マネージャ設計様式は、指定されたスタイル・シートのフォーマット形式が適用されるブックの特定のセクション・レベルの要素を識別します。

関連情報については、以下を参照してください。

- 「スタイル・シートの作成」

- 「設計様式の理解」

### 複数のスタイル・シートを使用したブックケースの例

次に示すのは、３つのブックを定義し、４つのスタイル・シートを使用するブックケース規定の例です。このスタイル・シートのエンティティ、 `&PrefSty;` および `&IDXSty;` は、ブックの文書型定義で参照されます。

    <!DOCTYPE Bookcase PUBLIC
    “-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN”
    [
     <!-- Style sheets -->
     <!ENTITY style01 SYSTEM “InfoMgrRN/style01.sty” >
     <!ENTITY style02 SYSTEM “Perl/perl.sty” >
     <!ENTITY PrefSty SYSTEM “Preface/pref.sty” >
     <!ENTITY IDXSty SYSTEM “Index/IDX.sty” >
     <!ENTITY TOCSTY SYSTEM “TOC/TOC.sty” >

     <!-- Book documents declared as SUBDOC -->
     <!ENTITY tocfile SYSTEM “Small/small.toc” SUBDOC >
     <!ENTITY ch03 SYSTEM “Small/ch03.sgm” SUBDOC >
     <!ENTITY xlsc SYSTEM “Small/xlsc.sgm” SUBDOC >
     <!ENTITY rnotes.TOC SYSTEM “InfoMgrRN/rnotes.TOC” SUBDOC >
     <!ENTITY rnotes.N SYSTEM “InfoMgrRN/rnotes.N” SUBDOC >
     <!ENTITY perl.TOC SYSTEM “Perl/perl.TOC” SUBDOC >
     <!ENTITY copytrade.N SYSTEM “Perl/copytrade.N” SUBDOC >
     <!ENTITY about.N SYSTEM “Perl/02about.N” SUBDOC >
     <!ENTITY intro.N SYSTEM “Perl/1intro.N” SUBDOC >
     <!ENTITY start.N SYSTEM “Perl/2start.N” SUBDOC >
     <!ENTITY datatypes.N SYSTEM “Perl/3datatypes.N” SUBDOC >
     <!ENTITY form.N SYSTEM “Perl/4form.N” SUBDOC >
     <!ENTITY commands.N SYSTEM “Perl/5commands.N” SUBDOC >
     <!ENTITY perl.NDX SYSTEM “Perl/perl.NDX” SUBDOC >
     <!ENTITY comments.N SYSTEM “Perl/comments.N” SUBDOC >

    ]>
    <BOOKCASE StyleSheet=style01>
     <BOOKCASENAME>Information Manager</>
     <BOOKCASEDESC>Information Manager Release Notes</>

    <!-- Include the four style sheets. -->

     &style01;
     &style02;
     &PrefSty;
     &IDXSty;

    <!-- *****BOOK 1 - Small example book***** -->
    <BOOK>
     <TITLE>DocBook DTD Examples</>
     <SHORTTITLE>SGML Examples</>

     <TAB TabLoc=”RE-1015-XLSCLIENTS-1”>Manpage</>

     <TOCFILE>&tocfile;</TOCFILE>
     <FILE>&ch03;</FILE>
     <FILE>&xlsc;</FILE>
    </BOOK>

    <!-- *****BOOK 2 - Information Manager Release Notes***** -->
    <BOOK>
     <TITLE>Information Manager Release Notes</>
     <SHORTTITLE>Info Manager Notes</>

     <TAB TabLoc=”7M6zf5B0CM9X3cS”>Contents</>
     <TAB TabLoc=”wP3zf5B-BM9X3cS”>Features</>
     <TAB TabLoc=”yP3zf5B-BM9X3cS”>To Do</>
     <TAB TabLoc=”mJ6G0CB1LG9I8gW”>Link Demos</>
     <TAB TabLoc=”0K6zf5B-BM9X3cS”>Figures</>

     <TOCFILE>&rnotes.TOC;</>
     <FILE>&rnotes.N;</>
    </BOOK>

    <!-- *****BOOK 3 - Perl Manual***** -->
    <BOOK StyleSheet=style02>
     <TITLE>Perl Manual</>

     <TAB TabLoc=”Xmhyf5Bu6M9X3cS”>Contents</>
     <TAB TabLoc=”3tpQGzASEYy94aK”>About This Book</>
     <TAB TabLoc=”Oo9fP6B59WwA0YK”>Index</>
     <TAB TabLoc=”DNph.0BBMXwA0YK”>Comments</>

     <TOCFILE>&perl.TOC;</>
     <FILE>&copytrade.N;</>
     <FILE>&about.N;</>
     <FILE>&intro.N;</>
     <FILE>&start.N;</>
     <FILE>&datatypes.N;</>
     <FILE>&form.N;</>
     <FILE>&commands.N;</>
     <FILE>&perl.NDX;</>
     <FILE>&comments.N;</>
    </BOOK>

    </BOOKCASE>

この例のブックケース規定は、インフォメーション・マネージャとともに提供される `dtinfoBook.dtd` に準拠しています。

## ブックケース規定

ブックケースを構築してインフォメーション・ライブラリにするには、ブックケース規定を使用して、インフォメーション・マネージャのツールに何を構築するかを伝えます。

もっとも単純な形式のブックケース規定には、ブックケース名とブックケース記述、各ブックのフォーマットを記述するスタイル・シート、およびブックに準拠する SGML ドキュメントのための SUBDOC エンティティ参照があります。

ブックケース規定にブックのドキュメントを取り込むには、SGML SUBDOC エンティティ宣言
を使用しなければなりません。 ブックケース規定の構造は、`dtinfoBook.dtd` で定義されています。

ブックケース規定を作成する一般的な手続きは、「ブックケース規定の作成」で説明しています。

ブックケース規定で明記しなければならない情報には、次のものがあります。

ブックケース名

- この名前は、インフォメーション・マネージャおよび内部検索エンジンによって使用されます。これは、英数字で８文字以内かつブックケース内で一意でなければなりません。

ブックケース記述

- これは、ブックケースに準拠するブックの説明または形式です。 UNIX Administration Guides や Scientific Papers on Acoustic Sound Generation は典型的な例です。

ひとつまたは複数のスタイル・シート

- スタイル・シートには、SGML ドキュメントがオンラインと印刷の両方の形式でどのようにフォーマットされるかを定義するフォーマット指示の集まりがあります。ブックケース規定のすべてのブックのためのデフォルトのスタイル・シートとして、ひとつのスタイル・シートを指定しなければなりません。

  ブックケース規定でスタイル・シートを取り込んだり、ブックケース規定の先頭のエンティティ宣言によってそれらを参照することができます。 「ブックケース規定の例」を参照してください。

  単一のブックケース規定において、インフォメーション・マネージャが複数のスタイル・シートをどのように処理するかを理解するには、 「スタイル・シートの使用」 を参照してください。

  スタイル・シートの作成の詳細については、 「スタイル・シートの作成」 を参照してください。

ひとつまたは複数のブック

- ブックケースの各ブックで指定する必要がある情報には、以下のものがあります。

  ブック・タイトル

- ブックケースの各ブックの正式なタイトルです。ブック・タイトルの長さは、技術的に無制限です。しかしながら、タイトルは長さで50文字以内にすべきです。

ブック・タイトルの省略形

- オプションで指定する各ブック・タイトルの省略形です。 タイトルの省略形は、インフォメーション・マネージャの検索エンジンによって使用されます。技術的には、タイトルの省略形の長さは無制限ですが、20文字を超えないようにすべきです。

タブ情報

- タブは、インフォメーション・マネージャのウィンドウに表示されます。これは、バインダのタブの模擬であり、ユーザがオンライン・ブックの別のセクションにすばやく移動することを可能にします。

  ブックケース規定で指定するタブ情報には、ブラウザ・インタフェースで使用可能なブック内の名前とセクションの識別子があります。

  タブはオプションであり、ひとつまたは複数のタブをブックケースの各ブックに指定することが可能です。各タブのテキストの長さおよび与えられたブックのタブ数は、技術的に無制限です。しかしながら、`内容`、`はじめに`、`索引`などのように、相対的に短いタブ名を使用し、表示するタブ数を制限することによって、オンライン上での読みやすさは向上します。

目次 (TOC)

- ブックケース規定において定義される各ブックは、インフォメーション・マネージャの `dtinfoTOC.dtd` に準拠するハイパーテキスト目次がなければなりません。

  `dtdocbook2infolib tocgen` コマンドを使用して、インフォメーション・マネージャの目次を作成することができます。 「目次の作成」を参照してください。

ブック・ソース・ドキュメント

- 次に示すのは、各ブックを形成する SGML 準拠ドキュメントのエンティティです。

  これらのドキュメントは、別の文書型定義に合致する可能性があるため、構築過程においてソース情報を引き出すために、SGML SUBDOC エンティティを使用しなければなりません。

図 「ブックケース規定」 は、ブックケース規定とインフォメーション・ライブラリを構築するときに使用される他のドキュメントとの関係を示しています。

### ブックケース規定

### ブックケース規定の作成

ブックケース規定を作成するには、次のようにします。

1. `vi`、`emacs` のようなエディタや適切に構成された SGML エディタを使用して、ブック構築領域内で新規のファイルを開きます。必要ならば、以下に示す 「ブックケースの例」 やこのマニュアルに含まれるブックケース規定の例をコピーし、目的にしたがって修正することもできます。

2. ファイルの先頭で、ブックケースの文書型定義を指定します。次に例を示します。

       <!DOCTYPE Bookcase PUBLIC
       “-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN”
       [

   DOCTYPE 宣言の末尾にあるオープン・ブレイス（[）は、エンティティ宣言のセットが続くことを指示しています。 `dtinfoBook.dtd(5)` マニュアル・ページを参照してください。

3. エンティティ宣言を使用して、使用するスタイル・シートを指定します。 エンティティ宣言を使用して、複数のスタイル・シートを定義することもできます。

       <!-- Style sheets -->
       <!ENTITY style01 SYSTEM “style01.sty” >

4. SGML SUBDOC エンティティを使用して、ブックに合致したドキュメントを指定します。これには、目次も含まれます。

       <!-- Book files declared as SUBDOC -->
       <!ENTITY tocfile SYSTEM “small.toc” SUBDOC >
       <!ENTITY ch03 SYSTEM “ch03.sgm” SUBDOC >
       <!ENTITY xlsc SYSTEM “xlsc.sgm” SUBDOC >

5. 使用するすべてのエンティティを指定した後、クローズ・ブレイス（]）とクローズ宣言区切記号（>）でエンティティ宣言を閉じます。

       ]>

6. SGML 開始タグ <BOOKCASE> を入力し、ブックケースで使用するデフォルトのスタイル・シートを指定します。

       <BOOKCASE StyleSheet=sty1>

   この例では、BOOKCASE 要素の属性 `StyleSheet` には、値 `sty1` が指定されています。これは、スタイル・シート・ファイル `style01.sty` 内の STYLESHEET 要素の名前です。

   エンティティのサブセット宣言において、複数のスタイル・シートが宣言されている場合、ブックケースのデフォルトのスタイル・シートとして、それらのうちのひとつを指定することができます。

7. BOOKCASENAME 要素と BOOKCASEDESC 要素、およびその内容を入力します。この場合は、それぞれ、`SMALL` と `Demonstration small bookcase` です。

   BOOKCASENAME は、英数字８文字を超えることはできません。また、ピリオドを含むことはできません。

   次に、エンティティ参照を使用して、取り込まれるべきスタイル・シートを指定します。この場合は、`style01` です。

       <BOOKCASENAME>SMALL</>
       <BOOKCASEDESC>Demonstration small bookcase</>
       &style01;

   ブックケースのすべてのスタイル・シートを参照した後、ブックケースを形成するブックの指定を開始します。

   識別子の参照を使用して、異なるブックケースやブックケース内の異なるブックに、別々のスタイル・シートを割り当てることができます。 「スタイル・シートの使用」を参照してください。 スタイル・シートの作成の詳細については、「スタイル・シートの作成」を参照してください。

8. BOOK 要素の開始タグ、TITLE 要素とSHORTTITLE 要素、およびその内容を入力して、構築するブックを指定します。

       <BOOK>
       <TITLE>DocBook DTD Examples</>
       <SHORTTITLE>SGML Examples</>

9. ブックにバインダ・タブを設定している場合は、情報を記述します。

   各タブについて、TAB 要素の開始タグ（TabLoc 属性とその値を必要とします）、タブがブラウザに表示されたときに現われるテキスト（この場合は、“Manpage”）を指定しなければなりません。

       <TAB TabLoc=“RE-1015-XLSCLIENTS-1”>Manpage</>

10. ブックケース規定の先頭の SUBDOC エンティティ宣言によって参照される目次ドキュメントを含めるために、<TOCFILE> タグを使用します。

        <TOCFILE>&tocfile;</TOCFILE>

11. ブックケース規定の先頭の SUBDOC エンティティ宣言によって参照されるブック・ドキュメントを含めるために、<FILE> タグを使用します。

        <FILE>&ch03;</FILE>
        <FILE>&xlsc;</FILE>

    また、<FILE> タグの単一のセットで、複数のブック・ドキュメントの一覧を記述することもできます。次に例を示します。

        <FILE>&ch03; &xlsc;</FILE>

12. このブックのためのすべてドキュメントを参照した後、</BOOK> 終了タグを使用して、このブックを閉じます。

        </BOOK>

    ブックケースに含まれる各ブックについて、手順８から手順11を繰り返します。

13. すべてのブックを指定した後、</BOOKCASE> 終了タグを使用して、ブックケース規定を閉じます。

        </BOOKCASE>

完全なブックケースの例を 「ブックケース規定の例」に示します。

#### ブックケース規定の例

次に示すのは、小さなブックケース規定の例です。これは、単一のブックを含むひとつのブックケースを定義し、単一のスタイル・シートを使用しています。

以下の例におけるスタイル・シートは、エンティティ参照によって参照されますが、スタイル・シート `STYLE01` の完全なテキストは、ブックケース規定に含まれます。

    <!DOCTYPE Bookcase PUBLIC
    “-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN”
    [
    <!-- Style sheets -->
    <!ENTITY style01 SYSTEM “style01.sty” >

    <!-- Book files declared as SUBDOC -->
    <!ENTITY tocfile SYSTEM “small.toc” SUBDOC >
    <!ENTITY ch03 SYSTEM “ch03.sgm” SUBDOC >
    <!ENTITY xlsc SYSTEM “xlsc.sgm” SUBDOC >
    ]>
    <BOOKCASE StyleSheet=sty1>
    <BOOKCASENAME>SMALL</>
    <BOOKCASEDESC>Demonstration small bookcase</>
    &style01;

    <BOOK>
    <TITLE>DocBook DTD Examples</>
    <SHORTTITLE>SGML Examples</>

    <!-- Tab information -->
    <TAB TabLoc=”RE-1015-XLSCLIENTS-1”>Manpage</>

    <TOCFILE>&tocfile;</TOCFILE>

    <FILE>&ch03;</FILE>
    <FILE>&xlsc;</FILE>

    </BOOK>

    </BOOKCASE>

このブックケース規定の例は、インフォメーション・マネージャとともに提供される `dtinfoBook.dtd` に準拠しています。