コンテンツ・ヘルプは、UI コード で宣言されたコンテキスト ID を、説明とオンライン・ ヘルプの関連トピックへリンクのリストに関連付けることで記述さ れます。 これらの関連付けは、XML ファイルの内部で実行され ます。 プラグインごとに、コンテキスト・ ヘルプの関連付けが含まれた XML ファイルをいくつでも 作成することができます。 各コンテキスト ID の説明とリンクは、XML ファイルの <context> エレメントの内部で作成されます。 各コンテキスト・エレメントは、UI オブジェクトの 記述に使用されるオプション <description> エレメントを 1 つ、および オンライン・ドキュメンテーションにリンクする <topic> エレメントをいくつでも持つことが できます。
3.1 以降、コンテキスト・エレメントは、 「ヘルプ」ビューのコンテキスト・ヘルプ情報の表示に 使用されるデフォルト・タイトルを、オプションで オーバーライドすることができます。
<contexts> <context id="panic_button" title="Panic Button Title"> <description>This is the panic button.</description> <topic href="tasks/pushing_the_panic_button.htm" label="Pushing the panic button"/> <topic href="reference/panic_button.htm" label="Panic Button Reference"/> </context> ... </contexts>
コンテキストを XML ファイルに記述すると、プラグイン・マニフェストでコンテキスト・ファイルを参照することができます。 上の例ではコンテキスト ID が完全には修飾されていないことに注意してください。 これは、コンテキスト ID を定義したプラグインのマニフェスト内にコンテキスト・ファイルが組み込まれている限り、許可されています。 つまり、コンテキスト ID は、XML ファイルを組み込んだプラグインの ID で解決されます。
プラグインは、org.eclipse.help.contexts 拡張ポイントを使用してコンテキスト・ファイルを組み込みます。
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" /> </extension>
コンテキスト・ファイルは、plugin 属性を 入れることによって、他のプラグインから参照すること ができます。 これで、コンテンツ・センシティブ ・ヘルプを含むすべてのドキュメンテーションを 1 つの プラグインにグループ化して、それを UI コード・ プラグインまたはその他の関連プラグインから参照する ことが可能になります。
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" plugin="com.example.helpExample" /> </extension>
ご覧のとおり、1 つ以上のプラグインに含まれる 1 つ以上のファイルにコンテキストを、柔軟に編成することができます。 主な考慮事項は、 ファイルのコンテキスト ID が正しく解決されているかと いうことです。 コンテキスト ID を完全修飾して いない場合、コンテキスト ID を宣言したプラグインの コンテキスト XML ファイルをコントリビュートする必要があります。 コンテキスト ID をコンテキスト XML ファイル で完全修飾した場合、XML ファイルの場所 およびコンテキストをコントリビュートするプラグインを非常に 柔軟に指定することができます。
異なるプラグインから同じコンテキスト ID の コンテキスト・ヘルプをコントリビュートする機能によって、別の レベルの柔軟性が生まれます。 これは、例えば、 ユーザーの構成にインストールされるかどうか分からない、一連のさまざまな ドキュメンテーション・プラグインが 存在する場合に便利です。 これで、各ドキュメンテーション・プラグインが 個別にコンテキストを宣言することが可能になります。 エンド・ユーザーには、そのウィジェットの ID 用に コンテキストを提供したすべてのプラグイン用の、マージ されたコンテキスト・ヘルプ・コンテンツが表示されます。
コンテキスト ID を宣言したドキュメンテーション・ プラグインが存在しないときには、ウィジェットの 完全修飾コンテキスト ID を使用する必要があることに 注意してください。 複数のプラグインが同じコンテキスト ID の コンテキスト・ヘルプを提供する場合、コンテキストを 宣言したプラグイン (UI プラグイン) に定義された コンテンツが最初に表示されます。 追加の説明とリンクが付加される順序は保証され ません。