Exclure certaines rubriques : traitement conditionnel au niveau de la rubrique

Si une rubrique complète doit être exclue du document de sortie dans un scénario de traitement conditionnel (c'est-à-dire que la condition s'applique à une rubrique complète), l'attribut de métadonnées doit être défini dans la rubrique de référence de la carte DITA.

Si vous souhaitez exclure une rubrique de la collection dans le document de sortie, vous avez plusieurs options :

  • Ne pas inclure la rubrique dans la carte DITA et créer une carte DITA différente lorsque que cette rubrique est nécessaire.
  • Définir un attribut de condition dans la rubrique afin que celle-ci puisse être filtrée lors du processus de compilation.
  • Définir un attribut de condition dans l'élément topicref de la carte DITA.

La meilleure option est de construire différentes cartes DITA selon le document de sortie, plutôt que d'essayer d'utiliser la même carte DITA avec de nombreux attributs de condition. En effet, il est beaucoup plus compliqué de mettre en place et de gérer les attributs de condition que de travailler avec différentes cartes, notamment si vous utilisez des cartes imbriquées.

Si vous ne trouvez pas pratique d'avoir plusieurs cartes DITA, la meilleure approche est d'appliquer le filtre au niveau de la carte DITA (c'est-à-dire que la valeur de l'attribut de condition s'applique à l'élément topicref). Toutefois, si la rubrique est également référencée dans la section reltable (tableau des relations) de la carte, vous devez également appliquer l'attribut de condition aux éléments topicref.

Si vous utilisez la méthode des conditions pour exclure une rubrique du document de sortie, la logique voudrait que l'attribut de condition de filtrage soit appliqué à l'élément racine de la rubrique et non pas à l'élément topicref (comme recommandé). Par exemple, si la rubrique est destinée uniquement aux administrateurs, les métadonnées de conditionnement doivent être placées dans la rubrique. Toutefois, si vous excluez l'ensemble du contenu d'une rubrique, vous risquez d'obtenir un fichier XML vide, c'est-à-dire, un fichier XML sans élément racine. Puisqu'un fichier XML doit avoir un élément racine, un tel fichier serait donc invalide et entraînerait une erreur de publication.

L'application d'un attribut de filtrage à l'élément topicref dans la carte DITA exclura uniquement la rubrique du document de sortie, s'il existe seulement une référence à cette rubrique. Lorsque vous appliquez des conditions dans une rubrique, vous devez faire attention à appliquer ces conditions à toutes les références de la rubrique et à ne laisser aucun élément topicref en suspens.