19.4. reltable

La table de relation (<reltable>) définit les relations entre les thèmes, d'après le modèle de table familier de rangées (<relrow>), colonnes (<relheader>) et cellules (<relcell>). Les éléments <relcell> peuvent contenir des éléments <topicref>, lesquels sont ensuite liés aux autres éléments <topicref> dans la même rangée (mais pas forcément dans la même cellule). Par défaut, le contenu d'un élément <reltable> n'a pas de sortie pour une navigation ou une table des matières (TOC), et ne sert qu'à définir les relations exprimables comme des liens de thème-à-thème.

Les tables de relation peuvent être utilisées conjointement aux hiérarchies et aux groupes afin de gérer tous les liens apparentés dans un ensemble d'information.

Exemple

Dans cet exemple, on définit une table de relation avec trois colonnes : une pour « concept », une pour « task » et une pour « reference ». Trois cellules sont définies dans une rangée. La première cellule contient un thème de concept : batsonar.dita. La deuxième cellule contient deux thèmes de tâche : batcaring.dita et batfeeding.dita. La troisième cellule contient deux thèmes de référence : batguano.dita et bathistory.dita.

<map>
 <reltable>
  <relheader>
   <relcolspec type="concept"/>
   <relcolspec type="task"/>
   <relcolspec type="reference"/>
  </relheader>
  <relrow>
   <relcell><topicref href="batsonar.dita"/></relcell>
   <relcell>
     <topicref href="batcaring.dita"/>
     <topicref href="batfeeding.dita"/>
   </relcell>
   <relcell>
     <topicref href="batguano.dita"/>
     <topicref href="bathistory.dita"/>
   </relcell>
  </relrow>
 </reltable>
</map>

Une vue tabulaire du balisage ressemblerait à ceci :

type="concept" type="task" type="reference"
batsonar.dita batcaring.dita, batfeeding.dita batguano.dita, bathistory.dita

En sortie, des liens devraient être ajouté aux thèmes qui sont dans la même rangée, mais pas dans la même cellule. Cela permet la conservation simple des relations parallèles : par exemple, ici les fichiers batcaring.dita et batfeeding.dita sont deux tâches qui nécessitent les mêmes informations de soutien (les thèmes de concept et de référence) mais qui ne seraient pas liées par ailleurs. Lorsque des thèmes dans la même cellule sont effectivement liés, l'attribut collection-type peut prendre la valeur "family". Si certaines cellules ou colonnes doivent seulement fournir une information de soutien et ne devraient pas se lier en retour à des thèmes dans d'autres cellules, on peut indiquer l'attribut linking="targetonly sur la cellule (<relcell>) ou la colonne (<relcolspec>).

Voici quels seraient les liens apparentés dans cet exemple :

batsonar.dita
batcaring.dita, batfeeding.dita, batguano.dita, bathistory.dita
batcaring.dita
batsonar.dita, batguano.dita, bathistory.dita
batfeeding.dita
batsonar.dita, batguano.dita, bathistory.dita
batguano.dita
batsonar.dita, batcaring.dita, batfeeding.dita
bathistory.dita
batsonar.dita, batcaring.dita, batfeeding.dita

Bien que l'apprentissage et la manipulation initiales de la table puissent prendre du temps, il s'agit d'une forme intrinsèquement plus efficace pour gérer ces liens. Il est également plus facile de visualiser et de gérer les modèles en utilisant la table ; par exemple, le fait que batcaring.dita et batfeeding.dita aient les mêmes relations par rapport à l'information de soutien apparaît clairement dans la table, tandis que cela demanderait des comparaisons et des comptes pour le déterminer juste d'après le sommaire de la liste de définition.

Contient :

Doctype Modèle de contenu
map, bookmap ( ( topicmeta) (optionnel) puis ( relheader) (optionnel) puis ( relrow) (un ou plus) )

Contenu par :

Doctype Parents
bookmap map, bookmap
map map

Héritage :

- map/reltable

Attributs :

Nom Description Type de donnée Valeur par défaut Obligatoire ?
title Un titre d'identification pour cet élément. CDATA #IMPLIED non
%topicref-atts-no-toc; (collection-type, type, scope, locktitle, format, linking, toc, print, search, chunk) Un ensemble d'attributs liés. Cf. la section 25.8. %topicref-atts; et %topicref-atts-no-toc;. entité paramètre sans objet pour une entité paramètre sans objet
%univ-atts; (%select-atts;, %id-atts;, %localization-atts;) Un ensemble d'attributs liés, décrit à la section 25.7. %univ-atts; entité paramètre sans objet pour une entité paramètre sans objet
%global-atts; (xtrf, xtrc) Un ensemble d'attributs liés, décrit à la section 25.2. %global-atts; entité paramètre sans objet pour une entité paramètre sans objet
class, outputclass Attributs communs, décrit à la section 25.9. Autres attributs DITA communs