コンテキスト・ヘルプ・コンテンツの説明とパッケージ

コンテンツ・ヘルプは、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 プラグイン) に定義されたコンテンツが最初に表示されます。  追加の説明とリンクが付加される順序は保証されません。

動的コンテンツ

動的コンテンツは、コンテキスト・ヘルプ・トピック・リンクでフィルターの形式でコンテキスト・ヘルプに使用することができます。例えば、特定のオペレーティング・システムで実行している場合にのみ、トピック・リンクをコンテキスト・ヘルプに表示する場合などに有効です。