アクション・ファイルには、トピックおよび情報ビューに対して実行されるスクリプト記述アクションが含まれています。 現在、挿入アクションという 1 種類のアクションしかありません。 このアクションは、挿入ポイントと呼ばれる指定されたロケーションの情報ビューに トピックを挿入するために使用されます。 情報ビューとトピックは、どちらも、挿入ポイントとして使用することができます。 オプション ID を定義しているトピックのみ挿入ポイントとして使用することができます。 (情報ビューは常に ID を持っていなければなりません。)
挿入アクションを定義する場合は、to 属性がターゲットの挿入ポイントを指定します。 from 属性で指定されているトピックは、挿入されるトピックです。
以下に、トピックを挿入するための可能な方法を示します。
挿入ポイントの子として (最も一般的です)
挿入ポイントの最初の子として
挿入ポイントの最後の子として
挿入ポイントの直前の兄弟として (ナビゲーション・ツリーの同一レベルにある挿入ポイントの直前)
挿入ポイントの次の兄弟として (ナビゲーション・ツリーの同一レベルにある挿入ポイントの直後)
挿入アクションをネストすると、 親の挿入アクションが失敗した場合に実行する「代替」挿入アクションを定義することができます。 これは、インストールされるかどうかわからない他のプラグインに挿入ポイントがある場合に役立ちます。 トピックは別のプラグインのトピックに挿入することができますが、 (他のプラグインがインストールされていなかったために) 挿入アクションが失敗した場合は、 そのトピックをどこか別の場所にインストールすることができます。 挿入ポイントを満たした場合は、ネストされた挿入アクションは無視されます。
アクション・ファイルは、常に、そのアクションを単一の情報ビューに適用します。 トピックをそれぞれ異なる情報ビューにワイヤリングしたい場合は、情報ビューごとにアクション・ファイルが必要になります。 特定の情報ビュー内では、トピックは一度しか使用することができません。 ある情報ビューでトピックを 2 回参照する必要がある場合は、 同じ label と href を使用する (異なる id の) 別のトピック・エレメントを作成する必要があります。
最後に、トピックを「目次 (Contents)」情報ビューのトップレベルのトピックに統合します。 これを行うには、actions_All.xml という別のアクション・ファイルが必要になります (このファイルはトピックをすべて統合します)。
<actions infoview="com.example.helpexample.view_Contents">
<insert
from="com.example.helpexample.conceptsAll"
to="com.example.helpexample.conceptsRoot"
as="child"/>
<insert
from="com.example.helpexample.refAll"
to="com.example.helpexample.refRoot"
as="child"/>
<insert
from="com.example.helpexample.plainTasks"
to="com.example.helpexample.tasksRoot"
as="child"/>
<insert
from="com.example.helpexample.funTasks"
to="com.example.helpexample.funRoot"
as="child"/> </actions>
タスク関連の html ファイルが数多くあったことと、 これらのファイルの構造とナビゲーションは、 以下のように topics_tasks.xml ファイルで定義されていたことを思い出してください。
<topics id="tasksAll">
<topic id="plainTasks" label="Plain Stuff">
<topic label="Task1" href="doc/tasks/task1.html"/>
<topic label="Task2" href="doc/tasks/task2.html"/>
</topic>
<topic id="funTasks" label="Fun Stuff" >
<topic label="Task3_1" href="doc/tasks/task3_1.html"/>
<topic label="Task3_2" href="doc/tasks/task3_2.html"/>
</topic>
</topics>
上記のアクション・ファイルでは、 挿入を子アクションとして使用して、ID com.example.helpexample.plainTasks を持つトピックを受け取り、 そのトピックとそのサブトピックを、ID com.example.helpexample..tasksRoot を持つトピックの下に挿入しています。
<insert
from="com.example.helpexample.plainTasks"
to="com.example.helpexample.tasksRoot"
as="child"/>
また、アクション・ファイルは、さらに面白いタスクをいくつか受け取り、 それらを以下のアクションを使用して Web の "Fun Things" 領域に挿入しています。
<insert
from="com.example.helpexample.funTasks"
to="com.example.helpexample.funRoot"
as="child"/>