Il file di azioni contiene azioni di scripting da eseguire su argomenti e infoview. Attualmente esiste un solo tipo di azione, l'azione insert, che viene utilizzata per inserire argomenti nelle infoview su posizioni specifiche denominate punti di inserimento. Le infoview e gli argomenti possono essere utilizzati entrambi come punti di inserimento. Solo gli argomenti che definiscono un id facoltativo possono essere utilizzati come punto di inserimento (le infoview devono avere sempre un id).
Durante la definizione di un'azione insert, l'attributo to specifica il punto di inserimento di destinazione. L'argomento specificato nell'attributo from corrisponde all'argomento che sta per essere inserito.
Di seguito sono riportati i possibili modi per inserire un argomento:
Come elemento secondario di un punto di inserimento (il più comune)
Come primo elemento secondario del punto di inserimento
Come ultimo elemento secondario del punto di inserimento
Come pari livello precedente del punto di inserimento (appena prima del punto di inserimento sullo stesso livello nella struttura di esplorazione)
Come pari livello successivo del punto di inserimento (appena dopo il punto di inserimento sullo stesso livello nella struttura di esplorazione)
Le azioni di inserimento possono essere nidificate per definire azioni insert "alternative" da eseguire se l'azione insert principale non riesce. Ciò è utile quando i punti di inserimento sono ubicati in altri plug-in che potrebbero essere o non essere installati. È possibile inserire il proprio argomento nell'argomento di un altro plug-in, e se l'azione insert non riesce (poiché l'altro plug-in non è installato), è possibile installare l'argomento altrove. Una volta soddisfatto un punto di inserimento, le azioni insert nidificate verranno ignorate.
I file di azioni applicano sempre le relative azioni a una singola infoview. Se si desidera collegare i propri argomenti in differenti infoview, sarà necessario un file di azioni per ciascuna di esse. Un argomento può essere utilizzato una sola volta all'interno di una particolare infoview. Se è necessario referenziare due volte un argomento all'interno di una infoview, sarà necessario creare un altro elemento di argomento (con diverso id) che utilizza gli stessi label e href.
A questo punto si procederà con l'integrazione degli argomenti negli argomenti di livello superiore della infoview "Contenuto". Per effettuare questa operazione, è necessario un altro file di azioni che verrà denominato actions_All.xml (poiché integra tutti gli argomenti dell'utente).
<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>
Ricordare che si dispone di una serie di file html collegati ad attività, la cui struttura/esplorazione è stata definita da topics_tasks.xml nel modo seguente:
<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>
Nel file di azioni precedente, è stato utilizzato l'inserimento come azione secondaria per rilevare l'argomento munito di id com.example.helpexample.plainTasks e inserirlo, insieme ai rispettivi sottoargomenti, nell'argomento munito di id com.example.helpexample..tasksRoot
<insert
from="com.example.helpexample.plainTasks"
to="com.example.helpexample.tasksRoot"
as="child"/>
Il file di azioni rileva anche alcune delle attività di intrattenimento e le inserisce nell'area "Fun Things" del web utilizzando la seguente azione.
<insert
from="com.example.helpexample.funTasks"
to="com.example.helpexample.funRoot"
as="child"/>