El archivo de acciones contiene acciones de creación de scripts que se van a llevar a cabo en temas y vistas de información. Actualmente sólo hay un tipo de acción, la acción insertar, que se utiliza para insertar temas en ubicaciones especificadas de las vistas de información que reciben el nombre de puntos de inserción. Tanto las vistas de información como los temas pueden utilizarse como un punto de inserción. Sólo los temas que definen un identificador opcional pueden utilizarse como un punto de inserción. (Las vistas de información siempre deben tener identificadores.)
Al definir una acción de inserción, el atributo to especifica el punto de inserción de destino. El tema especificado en el atributo from es el tema que se está insertando.
A continuación, se muestran algunas maneras de insertar un tema:
Como un hijo del punto de inserción (la más común)
Como el primer hijo del punto de inserción
Como el último hijo del punto de inserción
Como el sibling anterior del punto de inserción (inmediatamente antes del punto de inserción al mismo nivel en el árbol de navegación)
Como el sibling siguiente del punto de inserción (inmediatamente después del punto de inserción al mismo nivel en el árbol de navegación)
Las acciones de inserción pueden jerarquizarse para definir acciones de inserción "alternativas" que deben efectuarse si la acción de inserción falla. Esto puede resultar satisfactorio cuando los puntos de inserción se encuentran en otros conectores que pueden estar o no instalados. Puede insertar el tema en otro tema del conector, y si la acción de inserción falla (debido a que el conector no está instalado), puede instalar el tema en cualquier otro lugar. Una vez satisfecho un punto de inserción, las acciones de inserción jerarquizadas no se tienen en cuenta.
Los archivos de acciones siempre aplican sus acciones a una sola vista de información. Si desea cablear los temas en vistas de información distintas, necesitará un archivo de acciones para cada una. Un tema sólo puede utilizarse una vez en una vista de información concreta. Si debe hacer referencia a un tema dos veces en una vista de información, tendrá que crear otro elemento de tema (diferente identificador) que utilice la misma etiqueta y el mismo href.
Ha llegado el momento de integrar finalmente los temas en los temas de nivel superior de la vista de información "Contenido". Para hacerlo, se precisa de otro archivo de acciones llamado actions_All.xml (ya que integra todos los temas).
<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>
Recuerde que existe una serie de archivos html relacionados con tareas y que la estructura/navegación de dichos archivos está definida en topics_tasks.xml , tal como se muestra:
<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>
En el archivo de acciones anterior se utiliza la inserción como una acción hijo para tomar el tema con el identificador com.example.helpexample.plainTasks e insertarlo, y sus subtemas debajo del tema con el identificador com.example.helpexample..tasksRoot
<insert
from="com.example.helpexample.plainTasks"
to="com.example.helpexample.tasksRoot"
as="child"/>
El archivo de acciones también toma algunas de las tareas más entretenidas y las inserta en el área "Fun Things" de la web utilizando la acción siguiente.
<insert
from="com.example.helpexample.funTasks"
to="com.example.helpexample.funRoot"
as="child"/>