Lors de la génération de publication depuis des sources où s’applique un traitement conditionnel, vous devez informer le transformateur ce que vous voulez montrer ou masquer.
La plupart des transformateurs ont recours à des fichiers ditaval. Ces fichiers indiquent quels attributs et quelles valeurs vont servir à filtrer votre contenu. Néanmoins, certains transformateurs font appel à d’autres méthodes, mais le principe reste le même.
Un fichier ditaval est un fichier XML, mais n’est pas un fichier DITA. En effet, les fichiers ditaval n’ont pas recours aux fichiers DTD de DITA ou à ses éléments. Depuis DITA 1.2, les fichiers ditaval ne sont plus référencés dans la carte DITA. À la place, le lien vers votre fichier ditaval est transmis à votre transformateur en tant qu’argument dans une ligne de commande.
Le nom de votre fichier ditaval dépend de vous, bien qu’il est judicieux de donner un nom explicite à votre fichier. Généralement, les fichiers ditaval sont conservés dans le même dossier que vos cartes, bien qu’il soit tout à fait possible de les conserver partout où le transformateur peut les atteindre.
En temps normal, vous aurez un fichier ditaval pour chaque carte.
<val> est l’élément racine d’un fichier ditaval. L’élément <val> contient un ou plusieurs élément <props> :
<val> <prop att="platform" val="iphone" action="exclude" /> </val>
Cet exemple montre la forme basique d’un élément <prop>.
- L’attribut att indique l’attribut visé par le traitement conditionnel, qui est dans ce cas « platform ».
- L’attribut val indique quelle valeur de l’attribut est concernée par le traitement conditionnel, qui est dans cas « iphone »
Note: Il est nécessaire de prêter attention à la casse lors de la définition de l’attribut val. Si la valeur de val est « iPhone », le traitement conditionnel ne prendrait pas en compte les attributs avec la valeur « iphone ».
- L’attribut action indique ce que le transformateur doit faire s’il trouve un attribut avec la valeur indiquée dans l’élément <prop>. Dans ce cas, tous les éléments avec l’attribut platform et la valeur « iphone » sont exclus de la publication, c’est-à-dire masqué.
Note: Les exemples suivants sont consultables dans le dossier d’exemples exemples_reutilisation_avance.zip. Les fichiers sont c_marquer_et_filtrer.dita et domestique.ditaval.
Exemple de traitement conditionnel
Dans cet exemple, un élément <ph> (phrase) se trouve au sein du second <p>. L’attribut product possède la valeur « canards_sauvages » :
<p>Pour avoir des canards en bonne santé, nous vous recommandons de les nourrir avec nos aliments.</p> <p>Toute notre gamme d'alimentation pour canard est composée de maïs fendillé, d'avoine, de riz et de graînes de sorgho. <ph product="canards_sauvages">Notre gamme d'alimentation pour canard sauvage inclut des vers et du poisson.</ph> </p> <p>Tous nos produits sont disponibles sous forme de sac de 5, 10 et 20 kilogrammes.</p>
Si vous générer une publication avec ce contenu sans mentionner de fichier ditaval, vous obtiendrez le résultat suivant :
Si vous utilisez un fichier ditaval qui vient exclure les éléments où product= »canards_sauvages » :
<val> <prop att="product" val="canards_sauvages" action="exclude" /> </val>
La publication obtenue serait la suivante :
Pour plus d’information sur les fichiers ditaval et leur utilisation, voir http://docs.oasis-open.org/dita/v1.2/os/spec/common/about-ditaval.html#ditaval
Contributors
- Simon Bate
- Jake Campbell
- Gretyl Kinsey
- Decarnelle Rémi (traducteur)