Technique du conref push

La technique de réutilisation en poussant le contenu (conref push) permet d'insérer le contenu d'une rubrique source dans une autre rubrique, sans nécessiter la présence d'un code spécial dans la rubrique où le contenu sera réutilisé.

La méthode de base pour utiliser les références de contenu consiste à d'abord référencer, dans l'attribut conref de l'élément d'une rubrique, l'élément d'un fichier source que l'on souhaite réutiliser, puis de récupérer ou tirer la valeur de cet élément.

DITA 1.2 met en place une méthode alternative de référencement. Elle permet de pousser ou d'injecter la valeur d'un élément source dans la rubrique où l'on souhaite réutiliser cette valeur. Cette technique est appelée conref push.

Pour comprendre l'utilité du mécanisme de conref push, nous allons prendre l'exemple d'un constructeur automobile produisant des guides de conduite qui sont personnalisés par les concessionnaires avant édition. Cette révision seulement concerner l'ajout simple d'un paragraphe avec les informations de contact locales. Il ne s'agit pas pour le concessionnaire de modifier le contenu fourni par le constructeur, dans la mesure où ce dernier devrait reprendre les changements lors de la modification du contenu.

Dans le mécanisme de réutilisation de référencement de contenu, les éléments de la rubrique cible (la rubrique où le contenu doit être inséré) doivent comporter des éléments id, car ce mécanisme permet soit de remplacer des éléments, soit d'en insérer avant ou après un élément donné.

Par exemple, il peut s'avérer nécessaire d'insérer les coordonnées du concessionnaire entre les deux paragraphes suivants :
<p id="regular_servicing">Vous devez faire réviser régulièrement votre voiture.</p>
<p>Les révisions ont lieu tous les...</p>

Le paragraphe à insérer est conservé dans la rubrique où les éléments du conref sont stockés. Pour insérer le paragraphe, il faut définir un attribut conref ainsi que des attributs conaction. L'attribut conref fait référence à l'emplacement où le contenu est inséré dans la rubrique cible. L'attribut conaction détermine si l'élément est injecté avant, après ou à la place de l'élément cible du conref. Si la rubrique source référencée par conref est inclue dans une carte DITA, le référencement de contenu est traité lors de la publication de cette carte.

Pour s'assurer de la validité de la rubrique après l'insertion de l'élément, les actions permettant l'injection de contenu avant ou après un élément requièrent un élément conteneur factice du même type que l'élément référencé dans la rubrique source référencée par conref.

Pour insérer un nouveau paragraphe à la suite du paragraphe révision_voiture, utilisez le code ci-dessous dans la rubrique source référencée par conref :
<p conaction="mark" conref="c_servicing.dita#service/regular_servicing" />
<p conaction="pushafter">
  Votre concessionnaire local est Snell Performance Vehicles.
</p>
Pour insérer un nouveau paragraphe avant le paragraphe révision_voiture, utilisez le code ci-dessous :
<p conaction="pushbefore">
  Vous pouvez faire réviser votre voiture chez Snell Performance Vehicles, votre concessionnaire local.
</p>
<p conaction="mark" conref="c_servicing.dita#service/regular_servicing" />
Pour remplacer le paragraphe révision_voiture, utilisez le code ci-dessous :
<p conaction="pushreplace" conref="c_servicing.dita#service/regular_servicing">
  Vous devez régulièrement faire réviser votre voiture chez Snell Performance Vehicles.
</p>
Les valeurs valides de l'attribut conaction sont les suivantes :
pushreplace :
remplace l'élément cible du conref par l'élément réutilisable.
pushbefore :
injecte l'élément réutilisable après l'élément cible du conref.
pushafter :
injecte l'élément réutilisable avant l'élément cible du conref.
mark :
utilisé comme conteneur dans la rubrique de réutilisation lors du recours aux actions pushbefore ou pushafter.