# ヘルプ・ボリュームの構成および記述

この章では、ヘルプ・ソース・ファイルの構成とコンポーネントについて説明します。また、ヘルプ・ソース・ファイルを処理して、オンライン・ヘルプ・ボリュームを作成する方法についての手順の例を示します。

## ヘルプ・ボリュームのコンポーネント

ヘルプ・ボリュームには、トップレベル・ボリューム・トピック（Part 要素に含まれる）、メタ情報（DocInfo 要素に含まれる）、ブック・コンポーネント（章、セクション、リスト、および表のような）、索引、および用語集という主要なタイプのコンポーネントがあります。

### トップレベル要素: Part

Part は、ヘルプ・ボリュームの構造におけるトップレベルの要素です。他のすべてのコンポーネントは、階層構造において、Part の下位要素です。

Part の下位の階層構造を、複数の Sect1 を含む複数の Chapter、複数の Sect2 を含む複数の Sect1、複数の Sect3 を含む Sect2、などのように、数階層にすることも可能です。しかし、階層内でユーザが迷わないようにするために、階層をできる限り浅くしておくべきです。

Part は、コンポーネントとして、オプションの DocInfo、必須の Title、オプションの TitleAbbrev、オプションの PartIntro、およびひとつまたは複数の Chapter のような他のブック・コンポーネントを、この順序で含むことが可能です。

Part は、共通の属性およびラベル属性をもちます。

### トピックとサブトピック

トピックとサブトピックは、Part の下に階層を形成します。通常、最初のレベルのトピックは、Chapter 要素を用いて、章に分割されます。章の内部では、Sect1 のサブトピックは Sect2 というタグ、Sect2 のサブトピックは Sect3 というタグ、というように、トピックはセクションとして構成されます。

HRDC.OrgH.mkr.3では、３つの章がある単純な階層を示しています。各章には、第１レベルのセクションがいくつかあります。３番目の章には第２レベルのセクションが2つ追加されています。

#### ヘルプ・ボリュームのトピック構成

    Part
            DocInfo
            Title
            Chapter
                    Sect1
                    Sect1
                    Sect1
            Chapter
                    Sect1
                            Sect2
                                    Sect3
                            Sect2
                    Sect1
                    Sect1
                            Sect2
                            Sect2
                                    Sect3

### エンティティ

設計者定義のエンティティは、文字列またはファイル名を指定します。エンティティ宣言は、エンティティ名とエンティティが表す文字列またはファイルを定義します。

エンティティは、次の場合に有効です。

- テキストの共通の文字列を参照するテキストが変更されたり、繰り返し入力したくないような場合に便利です。テキストを挿入したい場所では、エンティティ名を参照してください。

- 外部ファイルを参照する。 グラフィック・ファイルにアクセスするにはエンティティが必要です。<Graphic> 要素には Entityref 属性があり、これがグラフィック・イメージ・ファイルを参照します。

ヘルプ・ボリューム内の他のマークアップの前にすべてのエンティティの宣言を入力しなければなりません。定義済みのエンティティを入れるには、エンティティの参照を使用します。

エンティティの参照は、ヘルプ・ボリューム内であれば、どこでも使用できます。 DocBook ソフトウェアでヘルプ・ボリュームを処理する場合、各エンティティの参照は、そのエンティティが指すテキストまたはファイルで置換されます。 HRDC.OrgH.mkr.22では、エンティティの定義方法と使い方について説明しています。

### メタ情報

メタ情報は、ユーザの情報についての情報です。

DocBook マークアップでは、ヘルプ・ボリュームに関するメタ情報は、DocInfo 要素に含まれています。

DocInfo は、次の要素を次に示す順序で含むことが可能です。

- Title (必須)

- TitleAbbrev (任意)

- Subtitle (任意)

- ひとつまたは複数の AuthorGroups (必須)

- 任意の数の Abstracts (任意、ボリュームの内容に関する簡潔な記述

- RevHistory (任意)

- 任意の数の LegalNotices (任意、登録商標、著作権などに関する情報の提供)

ヘルプ・システムは、DocInfo のメタ情報を使用して、ヘルプ・ボリュームのタイトルとその著作権情報を表示します。要約の記述は、フロントパネルのデスクトップ・ヘルプ・ビューアによって表示されます。ヘルプ・ボリュームを表示できる他のアプリケーションもまたこの情報を使用できます。

HRDC.OrgH.mkr.15は、メタ情報セクションの作成方法を示しています。

### 用語集

用語集には、ヘルプ・ボリュームで使用されている用語に対する定義が入っています。用語が、GlossTerm 要素を使用して入力される場合、自動的にリンクになり、選択されると、その用語に関する用語エントリを表示します。

## 一般的なマークアップの指針

オンライン・ヘルプは通常のテキスト・ファイルで記述されています。特殊コード、またはタグを使用して、情報内の要素にマークを付けます。タグは、DocBook と呼ばれるマークアップ言語を形成します。

標準のテキスト・エディタを使用する場合、DocBook マークアップが入力されます。エディタがマクロ・パッケージを提供している場合、タグはコマンド・キーを使用すると、保存および挿入できます。DocBook マークアップは、構造化エディタを使用して生成することもできます。 (HRDC.Intro.mkr.24を参照してください)。

DocBook マークアップ言語は、章、セクション、サブセクションなどのハイレベル要素、段落、リスト、および表などのブロック単位の要素、強調された語、シンボルなどのロウレベルなインライン要素を定義する要素の階層を定義します。

### ソース・ファイル内のマークアップ

ほとんどの要素のマークアップは、開始タグと終了タグで構成されます。開始タグは、三角括弧 (< と >) の間に要素名を入れて入力します。終了タグも同様ですが、要素名の先頭に / (スラッシュ)が付きます。DocBook マークアップのタグでは、大文字・小文字の区別はありません。

    <Element attribute name="attribute value"> ... text ... </Element>

たとえば、本のタイトルの初めと終わりをマークするには、次のようにマークアップを使用します。

    <Title id="GSNW">Geographical Survey of Northern Wisconsin</Title>

ここで <Title> は開始タグ、</Title> は終了タグ、GSNW は Title 要素のID属性の値です。要素の複数の属性に値を指定する場合は、式 属性名="属性値" をスペースで区切ります。

## ヘルプ・ボリュームの例

次の標準的なマークアップは、入力に使用されるヘルプ・ボリュームとタグの重要な要素の例を示しています。インデントは、要素の階層関係を明示するためです。したがって、実際に記述するヘルプ・ファイルで、インデントを行う必要はありません。

    DocType
    Part
            DocInfo
                    Title
                    AuthorGroup
                    Abstract
                    LegalNotice
            Title
            PartIntro
            Chapter
                    Title
                    Sect1
                            Title
                            Para
                            Para
                            Sect2
                                    Title
                                    Para
                                    Sect3
                                            Title
                                            Para
                                            Para
                            Sect2
                                    Title
                                    Para
            Chapter
                    Title
                    Sect1
                            Title
                            Para
                            Para
                            Sect2
                                    Title
                                    Para
                            Sect2
                                    Title
                                    Para
            Glossary

## ヘルプ・ソース・ファイル

オンライン・ヘルプは、通常のテキスト・ファイルで記述されます。DocBook ソフトウェアで、これらのファイルを処理またはコンパイルし、ヘルプ・システムによって読み込むことができる実行時のヘルプ・ファイルを作成します。

### volume.sgm ファイルの作成

DocBook には、volume`.sgm` という名前のプライマリ・コントロール・ファイルが必要です。ここで、volume には、選択したボリューム名が入ります。

volumeは、必ず、一意かつ有意なものにしてください。volume が、一般的すぎる場合は、他のユーザが作成した別のボリュームと重複してしまう可能性があります。アプリケーションのヘルプを記述する場合、アプリケーションのクラス名を使用することを推奨します。

#### 複数のソース・ファイル

volume`.sgm` には、エンティティの宣言とヘルプ・ボリュームを作成するファイルへのエンティティの参照が記述されています。DocBook は、入力として単一の volume`.sgm` ファイルを必要としますが、作業を複数のソース・ファイルに分割することができます。追加のファイルは、ファイル・エンティティを使用して、volume`.sgm` にまとめられます。ファイル・エンティティは、他のファイルへのポインタのようなものです。そのファイルは、実際には、volume`.sgm` ファイル内でエンティティの名前が表示されたところであれば、どこでも挿入されます。参照されるファイルもまた、別のファイルを参照するエンティティを含むことができます。

#### 例

ヘルプ・ボリュームには６つの章があり、各章は独立したファイルであるとします。ファイルには、HomeTopic, Metainfo, TOC, Tasks, Reference, および Glossary があります。ヘルプ・ボリュームの volume`.sgm` ファイルには、６つのファイルそれぞれに対するファイル・エントリと、ファイルの処理を DocBook ソフトウェアに指示するエンティティ参照リストが含まれています。

    ...
    <!entity HomeTopic        FILE “HomeTopic”>
    <!entity MetaInformation  FILE “Metainfo”>
    <!entity TableOfContents  FILE “TOC”>
    <!entity Tasks            FILE “Tasks”>
    <!entity Reference        FILE “Reference”>
    <!entity Glossary         FILE “Glossary”>
    ...
    &HomeTopic;
    &MetaInformation;
    &TableOfContents;
    &Tasks;
    &Reference;
    &Glossary;

実行中の DocBook の詳細は、 HRDC.CrHV.mkr.3で説明しています。

## ファイル・マネージャのヘルプ・ファイル

ファイル・マネージャは、ヘルプ・ファイルを疑問符付きのファイル・アイコンで表現します。HRDC.OrgH.mkr.10のHRDC.OrgH.mkr.10には、ひとつのソース・ファイル (`.sgm` 拡張子のファイル) およびひとつの実行時ファイル (`.sdl` 拡張子のファイル) があります。マークアップ・ファイルをダブルクリックすると、標準エディタが編集用のファイルを開きます。ファイル (`.sdl` 拡張子のファイル) をダブルクリックすると、ヘルプ・ビューアを使用して実行時のファイルが表示されます。

### ヘルプ・ファイルによるファイル・マネージャ表示

実行時のヘルプ・ボリュームを作成するには、ファイル・マネージャにある `.sgm` ファイルを最初に選択してください。次に、ファイル・マネージャの[選択]メニューから[コンパイル]を選択してください。

### 関連項目

- `dthelpaction(4)` マニュアル・ページ

## 新規にヘルプ・ボリュームを記述する例

通常は、`help` ディレクトリの中にヘルプ・ファイルを入れます。この例では、スタンドアロンのヘルプ・ボリュームの作成および表示方法について示しています。（スタンドアロンのボリュームの場合、アプリケーションとの対話はありません。）

ヘルプ・ボリュームの作成および処理を行うには、次の手順にしたがいます。

1. ヘルプ・ファイル用のソース・ディレクトリを作成します。

2. マスタ DocBook ファイルを作成します。

3. 実行時ヘルプ・ファイルを作成します。

4. ヘルプ・ボリュームを表示します。

各タスクについては、次からこの節で説明します。テキスト・ファイルで使用されているマークアップ言語については、この章で後述します。DocBook のマークアップについては、HRDC.WrTop.mkr.1および共通デスクトップ環境 DocBook 文書型定義ガイドでさらに詳しく説明しています。

### ソース・ディレクトリの作成

1. ヘルプ・ファイルの作成および処理を行う `helpfiles` という名前のディレクトリを作成します。

2. 作成したばかりのディレクトリに `Commands.sgm` という名前のテキスト・ファイルを作成します。

   この例では、すべての情報は単一のファイルに格納されます。通常、ヘルプを記述しているシステムやアプリケーションについて完全に説明するためには、複数のファイルを使用します。

   `Commands.sgm` ファイルには、テキストと要素タグを格納します。< と > (三角括弧) 内の要素タグは、情報の構造を示します。

3. `Commands.sgm` ファイルに、次のマークアップ・テキストを入力します。

       <Chapter>
       <Title id="CommandSummary-id>Command Summary</Title>
       <Indexterm><Primary>commands<Primary></Indexterm>
       <Para>Your&product; is capable of the following operations:</Para>
       <ItemizedList>
       <ListItem><Para><Link Linkend="ChannelChange-id">ChannelChange</Link></Para></ListItem>
       <ListItem><Para><Link Linkend="VolumeUp-id"> VolumeUp </Link>       </Para></ListItem>
       <ListItem><Para><Link Linkend="VolumeDown-id"> VolumeDown </Link></Para></ListItem>
       <ListItem><Para><Link Linkend="VolumeMute-id"> VolumeMute </Link></Para></ListItem>
       </ItemizedList>
       <Para>Choose one of the hyperlinks (underlined phrases)
       to find out how to perform that operation.</Para>
       <Sect1 id="ChannelChange-s">
       <Title id="ChannelChange-t">Changing the Channel</Title>
       <Indexterm><Primary>channel<Secondary>changing</Secondary><Primary></Indexterm>
       <Para>Speak the command:
       <Programlisting> channel</Programlisting>
       followed by a number from <Command>one</Command>to <Command>ninety-nine</Command>.</Para>
       </Sect1>
       <Sect1 id="VolumeUp-s">
       <Title id="VolumeUp-t">Turning Up the Volume</Title>
       <Indexterm><Primary>volume<Secondary>changing</Secondary></Primary></Indexterm>
       <Para>Speak the command:
       <Programlisting>volume up</Programlisting></Para>
       <Para>For additional volume, speak the command:
       <Programlisting>more</Programlisting></para>
       <Para>(See also <Link Linkend="VolumeDown-id">VolumeDown</Link>)</Para>
       </Sect1>
       <Sect1 id="VolumeDown-s">
       <Title id="VolumeDown-t">Turning Down the Volume</Title>
       <Indexterm><Primary>volume<Secondary>changing</Secondary></Primary></Indexterm>
       <Para>Speak the command:
       <Programlisting>volume down</Programlisting></Para>
       <Para>To reduce the volume further, speak the command:
       <Programlisting>more</Programlisting></Para>
       <Para>(See also <Link Linkend="VolumeUp-id"> VolumeUp </Link> and <Link Linkend="VolumeMute-id">VolumeMute</Link>)</Para>
       </Sect1>
       <Sect1 id="VolumeMute-s">
       <Title id="VolumeMute-t">Turning Off the Sound</Title>
       <Indexterm><Primary>volume<Secondary>changing</Secondary></Primary></Indexterm>
       <Indexterm><Primary>sound<Secondary>on/off</Secondary></Primary></Indexterm>
       <Para>Speak the command:
       <Programlisting>sound off</Programlisting></Para>
       <Para>To restore the sound, speak the command:
       <Programlisting>sound on</Programlisting></Para>
       <Para>(See also <Link Linkend="VolumeDown-id">VolumeDown</Link> and <Link Linkend="VolumeUp-id">VolumeUp</Link></Para>
       </Sect1>
       </Chapter>

4. 情報にタイトルを付け、著作権情報とオンライン・ヘルプに関する他の情報を提供するテキスト・ファイルを作成します。

   この例では、`Commands.sgm` ファイルと同じディレクトリにある `Metainfo.sgm` という名前のファイルに次のテキストが格納されます。

       <DocInfo>
        <Title> Using the &product;</Title>
               <AuthorGroup><Author>Jim Jonas</Author>
                       </AuthorGroup>
               <Abstract> Help for Using the &product;.
                       </Abstract>
               <LegalNotice>
               <BlockQuote>
               <para>&copy; 1995 Voice Activation Company.
               All rights reserved.</para>
               </BlockQuote>
                       </LegalNotice>
       </DocInfo>

### マスタ DocBook ファイルの作成

1. 名前が volume`.sgm` の形式になるテキスト・ファイルを作成します。この例では、`voiceact.sgm` というファイル名になっています。

2. `voiceact.sgm` ファイルで、`Commands.sgm` ファイルと `Metainfo.sgm` ファイルの名前とエンティティ名を関連付けるエンティティを定義します。また、`Commands.sgm` ファイルと `Metainfo.sgm` ファイルで、（直接的または間接的に）使用されているエンティティも定義します。最後に、それぞれのエンティティ名で、`Commands.sgm` ファイルと `Metainfo.sgm` を参照します。

この例では、`voiceact.sgm` の内容は、次のようになります。`<!--…-->`内の要素はコメントなので、無視されます。

    <!-- Declare an entity for each of the source text files. -->
    <!entity MetaInformation  FILE “Metainfo”>
    <!entity Commands   FILE “Commands”>

    <!-- Define an entity that names the product and includes
            the trademark symbol (&tm;). -->

    <!entity product “VoAc&tm; Voice-Activated Remote Control”>

    <!-- Include the text files. -->
    <Part>
    &MetaInformation;
    &Commands;
    </Part>

### 実行時のヘルプ・ファイルの作成

1. 端末エミュレータで、次のコマンドを入力し、`/usr/dt/bin` ディレクトリが、検索パスに含まれていることを確認してください。

   `echo $PATH`

   ディレクトリが検索パスに含まれていない場合には、環境変数PATHに追加してください。やり方がわからない場合には、システムのドキュメンテーションを参照するか、あるいはシステム管理者に問い合わせてください。

2. ファイル・マネージャを開き、`helpfiles` ディレクトリに移動します。`voiceact.sgm` ファイルのアイコンを選択し、ファイル・マネージャの[選択]メニューから[コンパイル]を選択します。

   この手順により、実行時のバージョンのオンライン・ヘルプ・ボリューム (`voiceact.sdl`) を作成する DocBook ソフトウェアが実行されます。ステータスとエラー・メッセージが新規ファイルに格納され、volume`.log` という形式の名前付けられます。

3. `voiceact.log` ファイルを開き、エラーもなくファイルが処理されていることを確認します。エラーが発生している場合、必要に応じてテキスト・ファイルの編集および名前の変更を行って修正します。

端末エミュレータで、DocBook を手動で実行することもできます。

そのためには、次のコマンドを実行します。

`dtdocbook voiceact.sgm`

### ヘルプ・ボリュームの表示

`helpfiles` ディレクトリから、`voiceact.sdl` ファイルのアイコンをダブルクリックします。

これにより、デスクトップのヘルプ・ビューアを使用してヘルプ・ボリュームが表示されます。情報をスクロールしたり、ハイパーリンクを選択して、関連情報へジャンプできます。

端末エミュレータで、ヘルプ・ビューアを手動で実行することもできます。

そのためには、次のコマンドを実行します。新しいヘルプ・ボリュームが表示されます。

`dthelpview -h voiceact.sdl`

#### 関連項目

- hrdc.crhv.mkr.1の hrdc.crhv.mkr.1

- hrdc.cmds.mkr.1の hrdc.cmds.mkr.1

## トピック階層の作成

ヘルプ・ボリューム内のトピック階層は、Part から始まります。各ヘルプ・ボリュームには、Part が必ずひとつなければなりません。Part の下にある第１レベルのサブトピックは、<Chapter> タグを付けて入力しなければなりません。

サブトピックのレベルを追加する場合は、<Sect1>、<Sect2>、<Sect3>、<Sect4>、および <Sect5> のように入力します。DocBook のマークアップ言語は、５つのトピック・レベルをサポートしています。しかし、第3または第4レベルよりも下にある情報は、多くの読者にとってみつけにくいものです。

ヘルプ・ボリュームが表示されたら、ヘルプ・ウィンドウはそのトピック・ツリーにトピックのリストを表示します。<Chapter>、<Sect1>、<Sect2>、<Sect3>、<Sect4>、または <Sect5> がタグが入力されているトピックは、トピック・ツリーに自動的に表示されます。トピックをブラウズし表示するには、この方法が簡単です。

トピック内から他の関連情報を表示するには、ハイパーリンクを作成します。そのためには、それぞれのトピックに固有のIDを割り当て、ハイパーリンクが、ヘルプ情報内のどこでも特定のIDを参照できるようにします。

### 例

このサンプルに一致する階層を作成したとします。

    Tutorial for New Users
            Module 1: Getting Started
            Module 2: Creating Your First Report
            Module 3: Printing the Report
            Module 4: Saving Your Work and Quitting
    Task Reference
            Starting and Stopping
                    To Start the Program
                    To Quit the Program
            Creating Reports
                    To Create a Detailed Report
                    To Create a Summary Report
    Concepts for Advanced Users
            Using Report Hot Links
            Sharing Reports within a Workgroup
    Reference
            Command Summary
            Report Attributes Summary

その場合、ヘルプ・ボリュームのマークアップの概要は、次のようになります。（各トピックの本文や各トピックのIDは省略します。）

    <Part>
    <title>Welcome to ReportMaster</title>

    <chapter>
            <title>Tutorial for New Users</title>
            overview of chapter topic
            <sect1>
            <title>Module 1: Getting Started</title>
                    body of topic
                    </sect1>
            <sect1>
            <title>Module 2: Creating Your First Report</title>
                    body of topic
                    </sect1>
            <sect1>
            <title>Module 3: Printing the Report</title>
                    body of topic
                    </sect1>
            <sect1>
            <title>Module 4: Saving Your Work and Quitting</title>
                    body of topic
                    </sect1>
    </chapter>

    <chapter>
            <title>Task Reference</title>
            overview of chapter topic
    <sect1>
            <title>Starting and Stopping</title>
            body of topic
            <sect2>
                    <title>To Start the Program</title>
                    body of topic
                    </sect2>
            <sect2>
                    <title>To Quit the Program</title>
                    body of topic
                    </sect2>
    <sect1>
            <title>Creating Reports</title>
            body of topic
            <sect2>
                    <title>To Create a Detailed Report</title>
                    body of topic
                    </sect2>
            <sect2>
                    <title>To Create a Summary Report</title>
                    body of topic
                    </sect2>
            </sect1>
    </chapter>

    <chapter>
            <title>Concepts for Advanced Users</title>
            overview of chapter topic
            <sect1>
            <title>Using Report Hot Links</title>
                    body of topic
                    </sect1>
            <sect1>
            <title>Sharing Reports within a Workgroup</title>
                    body of topic
                    </sect1>
    </chapter>

    <chapter>
            <title>Reference</title>
            overview of chapter topic
            <sect1>
            <title>Command Summary</title>
                    body of topic
                    </sect1>
            <sect1>
            <title>Report Attributes Summary</title>
                    body of topic
                    </sect1>
    </chapter>
    </part>

各トピックの本体およびトピックのIDは、示していません。空白およびインデントは、読みやすくするためであり、実効性はありません。

#### 関連項目

- HRDC.OrgH.mkr.18では、トピックへのIDの割り当てについて説明しています。

- HRDC.WrTop.mkr.14では、ハイパーリンクの作成方法について説明しています。

### パートを作成するには

- 次のように Part 要素を使用します。

    <Part>
            <DocInfo>
                    <Title>Volume Title</Title>
                    <AuthorGroup>
                            <Author>author's name here</Author>
                    </AuthorGroup>
                    <Abstract>
                            <Para>abstract here</Para>
                    </Abstract>
                    <LegalNotice>
                            <BlockQuote>
                            <Para>copyrights etc. </Para>
                            </BlockQuote>
                    </LegalNotice>
            </DocInfo>
            <Title>Volume Title</Title>
            </PartIntro><Para>This is the home topic.</Para></PartIntro>
            <Chapter Id="chapid">
                    <Title>This Chapter</Title>
                    <Sect1 Id="sect1id">
                            <Title>Sect1 Heading</Title>
                            <Sect2 Id="sect2id">
                                    <Title>Sect2 Heading</Title>
                    ...
                    ...
                    ...
                            </sect2>
                    </sect1>
            </chapter>
    </Part>

パートには、オプションの DocInfo、必須の Title、オプションの TitleAbbrev、オプションの PartIntro、および Chapter または Section のような他のブック・コンポーネントをひとつまたはそれ以上、この順序で、含めることが可能です。

DocInfo が存在する場合、ヘルプ・ボリュームの Title は、２回現われることに注意してください。ひとつは、DocInfo 中であり、DocInfo に続く最初の要素として、もう一度現われます。

#### 例

ここに示すのは、パートの４つのサブトピックへのハイパーリンクがある、PartIntro 付きの Part の例です。

    </Part>
    <title>Report Master</title>
    <PartIntro>
    <Para>Welcome to the online help for Report Master. Please choose one of the following hyperlinks:</Para>
    <itemizedlist>
    <listitem><para><Link Linkend="Tutorial-id">Tutorial</Link> </para></listitem>
    <listitem><para><Link Linkend="Tasks-id">Tasks</Link></para></listitem>
            <listitem><para><Link Linkend="Concepts-id">VolumeDown</Link></para></listitem>
            <listitem><para><Link Linkend="Reference-id">VolumeMute</Link></para></listitem>
    </itemizedlist>.
    <Para>If you need help, press F1.</Para>
    </PartIntro>
    ...
    </Part>

上記のマークアップの出力は、次のとおりです。

### トピックを階層に追加するには

- 別のトピックを同じレベルに追加するには、その終了タグで要素を閉じ、その開始タグで開くことによって同じ要素を繰り返します。

  サブトピック（階層内でさらに１レベル下のトピック）を追加するには、前のトピックよりも１レベル下にある要素を使用します。

#### 例

現在のトピックが <Sect1> である場合、<Sect2> を使用してサブトピックを入力します。

    <sect1>
            <title>Creating Reports</title>
            body of the topic
            <sect2>
                    <title>To Create a Detailed Report</title>
                    body of the first subtopic
                    </sect2>
            <sect2>
                    <title>To Create a Summary Report</title>
                    body of the second subtopic
                    </sect2>
    </sect1>

２番目の Sect2 も Sect1 のサブトピックです。

親子兄弟のメタファは、階層内のトピック間の関係を、記述するのに使用されることもあります。前の例では、Sect1 トピックは両方の Sect2（子トピック）の「親」です。２つの Sect2 は、お互いに「兄弟」になります。３つのすべてのトピックは、Chapter のトピックの「子孫」です。

## メタ情報トピックの作成

DocInfo メタ情報セクションは、おもに情報に関する情報を記述しています。DocBook マークアップ言語によるヘルプ・ボリュームのメタ情報は、Part の最初のコンポーネントとして現われる DocInfo 要素に含まれます。DocInfo は、ヘルプ・ボリュームのタイトルと著者を含み、著作権と商標に関する法的な注意事項、およびボリュームの内容の要約を含むことも可能です。

DocInfo は、次の要素を次の順序で含むことが可能です。

- Title (必須)

- TitleAbbrev (任意)

- Subtitle (任意)

- ひとつまたは複数の AuthorGroups (必須)

- 複数の Abstracts (任意)

- ひとつの RevHistory (任意)

- 複数の LegalNotices (任意)

### メタ情報セクションを作成するには

1. 次に示すように、セクションを開始するために <DocInfo>、続けて必須の Title 要素を入力します。

       <DocInfo>
               <title>Volume Title Here</title>

2. 必要ならば、オプションの TitleAbbrev および Subtitle 要素を入力します。

3. 必須の AuthorGroup 要素を入力します。これは、ひとつまたは複数の Authors、Collabs、および CorpAuthors を含みますが、順序は任意です

4. 必要ならば、シンタクス・モデルにしたがって、オプションの Abstract および LegalNotice 要素を入力します。

       <Abstract Id="SDL-RESERVED-abstract">
               <Para>abstract here</Para>
       </Abstract>

       <LegalNotice Id="SDL-RESERVED-copyright">
               <BlockQuote>
                       <Para>© year & copyright holder's name</Para>
               </BlockQuote>
       </LegalNotice>

5. セクションを終了させるために、DocInfo 終了タグを入力します。

Abstract セクションの使用を推奨します。ヘルプ・ボリュームにアクセスするアプリケーションは、この情報を使用してボリュームの簡単な説明を行います。その抜粋は単純なテキスト・ウィンドウに表示される可能性があるので、DocBook のマークアップを取り込まないようにしてください。

#### 例

ここに示すのは、DocInfo 要素に含まれる典型的なメタ情報セクションのマックアップです。

    <DocInfo>
    <title>Report Master, Version 1.0</title>

    <AuthorGroup>
            <Author>Jim Jonas</Author>
    </AuthorGroup>

    <Abstract>
            <Para>This is the online help for the mythical Report Master application. This help includes a self-guided tutorial, a summary of common tasks, general concepts, and quick reference summaries.</Para>
    </Abstract>

    <LegalNotice>
            <BlockQuote>
                    <Para>
            Version 1.0
            &copy; Copyright Reports Incorporated 1995
            All rights reserved.
                    </Para>
            </BlockQuote>
    </LegalNotice>
    </DocInfo>

BlockQuite 要素は、著作権表示の改行を維持するために使用されます。`&copy;` エンティティは、著作権のシンボルを挿入します。

## 非階層トピックの追加

Chapter または Sect1、Sect2、Sect3、Sect4、Sect5 の要素タグが入力されているトピックは、自動的にトピック・ツリーに表示されます。タイトルがトピック・ツリーで選択されると、対応するヘルプ・トピックが一般ヘルプ・ダイアログ・ボックスに表示されます。

しかし、すでに作成されているトピック階層からは独立しているトピックを作成および表示したい場合もあります。これらの非階層トピックは、簡易ヘルプ・ダイアログ・ボックスにトピックを表示するカスタム定義リンクを作成する場合に有用です。

Appendix は、Sect 階層に結合されていないフリー・フロート・ヘッディングのためのタグです。これには、インライン要素を含めることが可能です。

Appendix は、ID属性、XRefLabel 属性、および Lable 属性も含む共通の属性をもちます。非階層トピックのために Appendix 要素を使用する場合、Role 属性の値は、“notoc” にすべきです。

### 非階層トピックを追加するには

- 次のようにして、BridgeHead 要素を使用して、非階層トピックを追加します。

      <Appendix id="bh-some-id" role="notoc">
              text of the topic
      </Appendix>

前提として、このトピックを表示する定義リンクが、ヘルプ・ボリューム中の他のトピック内に存在するものとします。

リンクは、以下に示すようになります。

    Here's a sample of a pop-up <link linkend="bh-some-id">
    definition link.</link>

語句 “definition link” が実際のハイパーリンクであり、破線の下線で表示されます。リンクを選択すると、簡易ヘルプ・ダイアログ・ボックスにトピックのテキストが表示されます。

#### 関連項目

- hrdc.wrtop.mkr.14

## トピックへのアクセス

DocBook 言語の多くの要素は、ID属性をサポートしています。IDは、トピックとトピック内の要素を識別するために内部的に使用される独自の名前です。IDは、DocBook の共通属性のひとつなので、共通属性をもつ要素は、すべてID属性をサポートすることができます。

IDは、一度しか定義されませんが、複数のハイパーリンクと相互参照は同じIDを参照できます。IDは、ユーザには見えません。

アプリケーションのヘルプを記述している場合、ユーザがヘルプを要求したときに表示される特定のトピックを識別するために、アプリケーションがIDを使用することもあります。

たとえば、アプリケーションのメニューを説明するいくつかのトピックを記述する場合などです。トピックに割り当てるIDは、アプリケーションの開発者によって使用されます。アプリケーション・コード内に同一のIDを定義することにより、開発者は特定のトピックを統合することができます。これにより、アプリケーションは、特定のメニューに関してヘルプが要求されたときに正しいトピックへアクセスし、表示することができます。

### ID名に関する規則

- ID文字列は、英字（AからZとaからz）、数字（0から9）、ピリオド（.）、およびマイナス記号（-）から成ります。ID文字列は、必ず英字で始まり、少くともそれらが現われるドキュメント内で一意でなければなりません。

- ID文字列では大文字・小文字の区別がありませんが、可読性を向上させるために、しばしば使用されます。

- ID文字列の長さは、128文字以内です。

- 単一のヘルプ・ボリューム内の各IDは、一意でなければなりません。

### 組み込みID

組み込みIDをもっている要素は、数個ありますが、設計者定義IDをサポートしていません。次の要素のそれぞれも新しいトピックを開始しますが、これらの要素は定義済みID（括弧内のもの）を持っています。

<PartIntro> | ( _hometopic)
<LegalNotice> in <DocInfo> | ( _copyright)
<Abstract> in <DocInfo> | ( _abstract)
<Glossary> | ( _glossary)
<Title> in <DocInfo> | ( _title)

### DocBook 要素にIDを追加するには

- 次のように、要素の開始タグ内にIDを指定します。

      <Element ID="id-string">

  ID文字列の値は、引用符で囲むことに注意してください。

共通属性をもつすべての DocBook 要素は、設計者定義IDをサポートします。それらの DocBook 要素を次に示します。

- Abbrev

- Abstract

- Anchor

- Appendix

- Author

- BlockQuote

- BridgeHead

- Chapter

- ComputerOutput

- CorpAuthor

- DocInfo

- Entry

- EntryTbl

- Example

- Figure

- Glossary

- GlossDiv

- GlossEntry

- GlossTerm

- Graphic

- Index

- IndexDiv

- IndexEntry

- InformalTable

- ItemizedList

- KeyCap

- LiteralLayout

- OrderedList

- Part

- PrimaryIE

- ProgramListing

- Quote

- RefEntry

- Reference

- Screen

- Sect1 - Sect5

- See

- SeeAlso

- SeeIE

- Seg

- SegListItem

- SegmentedList

- SegTitle

- Sidebar

- SpanSpec

- Table

- TBody

- TFoot

- TGroup

- Term

- Title

- TitleAbbrev

- ToC

- UserInput

- VariableList

- VarListEntry

ID指定をサポートする DocBook 要素のID指定に加えて、ドキュメント中の参照点にIDを設定するために、Anchor 要素を使用することができます。このとき、Anchor は、Linkend 属性の値として Anchor のID文字列を指定する Link のためのターゲットをマークすることができます。Anchor はインライン要素で、ほとんどすべての場所に現われることが可能です。Anchor は、空要素であり、内容はもちません。

Anchor は、ID、Pagenum、Remap、Role、および XRefLabel 属性をもつことができますが、ID属性のみ必須です。最低限、Anchor の開始タグは、IDをともなって現われなければなりません。

位置IDへのリンクを選択すると、ヘルプ・ビューアは、IDを含むトピックを表示し、IDの位置までウィンドウをスクロールします。

#### Anchor要素のシンタクス

    <anchor id="id-string">

#### Anchor 要素の例

    There is an Anchor <anchor id=“077-ch02-AN-7”> in this sentence.

## エンティティの使い方

エンティティには、文字列とファイルの内容を指定することができます。

エンティティ宣言は、エンティティ名と特定の文字列やファイル名とを関連付けることによりエンティティを定義します。

エンティティの参照は、`dtdocbook` で、ヘルプ・ボリュームを処理すると文字列やファイルの内容に置き換えられます。

エンティティは、次のときに有用です。

- テキストの共通の文字列を参照する。これは、引き続く類似テキストを変更したり、繰り返し入力したくないような場合に有用です。

  一度、テキストを表すエンティティを宣言すれば、テキストを挿入したいところで、エンティティ名を参照すれば済みます。

- 外部ファイル、特にグラフィック・ファイルを参照する。エンティティは、グラフィック・ファイルへのアクセス方法のひとつを提供します。

  Graphic 要素は、その属形を通じて、グラフィック・データを含む外部ファイルを指します。

  グラフィック・データを含むファイルは、必要ならばパス名を付加したファイル名を値とする Graphic の Fileref 属性を使用することによって、指定することができます。

  また、グラフィック・データを含むファイルが、エンティティを宣言している場合は、エンエィティ名を値とする Graphic の Entityref 属性を使用することによって、指定することができます。

File エンティティも、DocBook のソースを複数のファイルに分割するときに有用です。処理中のマスタ DocBook ファイルに他のファイルを取り込むには、エンティティの参照を使用します。

### エンティティの宣言に関する規則

- エンティティ名は、英字（AからZとaからz）、数字（0から9）、ビリオド（.）、およびマイナス記号（-）から成り、必ず英字で始まります。

- エンティティ名は、大文字でも小文字でも意味は変わりませんが、読みやすいように使い分けてください。

- エンティティ名の長さは、128文字以内です。

- 各エンティティ名は、単一のボリューム内では一意でなければなりません。

### テキスト・エンティティを作成するには

1. 次のようにエンティティを宣言します。

       <!entity Entityname "text string">

   Entityname は、エンティティの名前で、text string は、エンティティへの各参照に代わる文字列です。すべてのエンティティの宣言が、ヘルプ・ボリュームの文書型宣言に含まれなければならないことに注意してください。

2. text stringを挿入したい各位置には、次のようにエンティティの参照を入力します。

       &Entityname;

   `&` (アンパサンド) と `;` (セミコロン) は、DocBook ソフトウェアがエンティティの参照を適切に認識するために必要です。

#### 例

次の行は、“Society of Agricultural Engineers” という文字列が入っているAssocという名前のテキスト・エンティティを宣言しています。

    <!entity Assoc "Society of Agricultural Engineers">

次の文には、エンティティへの参照が記述されています。

    Welcome to the &Assoc;.

ヘルプ・ボリュームが DocBook ソフトウェアで処理されると、エンティティの参照は、エンティティの値に置き換えられます。そのため、文は次のように表示されます。

Welcome to the Society of Agricultural Engineers.

### ファイル・エンティティを作成するには

1. 次のようにエンティティを宣言します。

       <!entity Entityname SYSTEM "filename">

   Entityname は、エンティティの名前で、filename は、ファイルの名前です。キーワード SYSTEM は必須です。

2. 次のようにエンティティを参照します。

   - ファイルがテキスト・ファイルの場合、ファイルの内容を挿入したい各位置に次のエンティティの参照を入力します。

         &Entityname;

     & (アンパサンド) と ; (セミコロン) の文字は、DocBook ソフトウェアがエンティティの参照を適切に認識するために必要です。

   - ファイルがグラフィック・ファイルの場合、Entityref 属性の値として、次のようにエンティティの名前を入れます。

         <Graphic ID="some-graphic-id"Entityref=" Entityname"></Graphic>

#### 例:テキスト・ファイル・エンティティ

`file1`、`file2`、および `file3` という名前の３つのファイルと、<docinfo> … </docinfo> セクションがある４番目のファイルに、ヘルプ・ボリュームのテキストを記述したとします。次のようにして４つのファイルを volume`.sgm` ファイルに取り込むことができます。

    <!DOCTYPE DOCBOOK [
    <!entity DocInformation SYSTEM "docinfo">
    <!entity MyFirstFile SYSTEM "file1">
    <!entity MySecondFile SYSTEM "file2">
    <!entity MyThirdFile SYSTEM "file3">
    ...
    >]

    <Part>
    &DocInformation;
    <Title>My Home Title</Title>

    &MyFirstFile;
    &MySecondFile;
    &MyThirdFile;

#### 例:グラフィック・ファイル・エンティティ

単一のヘルプ・ボリュームのPartに図があり、図のグラフィック・イメージが `picture.tif` という名前のファイルに格納されているとします。次の例は、そのイメージが図でどのように使用されているかを示しています。

    <!DOCTYPE DOCBOOK [
    <!entity DocInformation SYSTEM “docinfo”>
    <!entity MyPicture SYSTEM “picture.tif”>
    ...
    ]>
    <Part>
    &DocInformation;
    <PartIntro><Title>A Simple Graphic</Title>
    <Para>Welcome to my application's help volume.</Para>
    </Part>
    <Figure>
    <Title>A Picture</Title>
    <Graphic entityref="MyPicture"> </Graphic>
    </Figure>
    </PartIntro>
    </Part>

テキスト “A Picture” は、図のタイトルです。

マークアップの出力は、次のとおりです。

#### 関連項目

- HRDC.WrTop.mkr.23