3.3.3. Propriétés de thème dans les thèmes et les cartes

Les propriétés d'un thème (y compris les attributs de métadonnée et les éléments de métadonnée) peuvent être spécifiés dans le thème même ou dans des références au thème dans les cartes.

Dans un thème, les propriétés peuvent être exprimées en utilisant des attributs de métadonnée sur l'élément <topic> ou en utilisant des éléments de publication, de gestion ou de métadonnée dans le prologue du thème.

DITA donne aux utilisateurs la possibilité d'appliquer des propriétés de thème à trois niveaux. On peut affecter des attributs de thème et des éléments de métadonnée dans l'élément <topic> même. On peut aussi affecter des propriétés comme attributs ou sous-éléments d'un élément <topicref> qui pointe vers le thème. Enfin, on peut affecter des propriétés aux éléments conteneurs ou ancêtres de l'élément <topicref> au sein de la carte. Comme les thèmes dans une branche de la hiérarchie de navigation ont typiquement des sujets ou propriétés communs, c'est un mécanisme commode pour affecter des propriétés à un ensemble de thèmes.

Lorsqu'une propriété se trouve à la fois dans la carte et dans le thème, les propriétés de la carte sont additives si la propriété (telle que le type d'un élément <audience>) admet une liste de valeurs. Si au contraire la propriété (telle que l'importance) admet une seule valeur, la propriété de la carte prend le pas sur la propriété du thème.

Exemple de métadonnée de type de public dans le prologue et dans le corps

Les éléments de métadonnée (<metadata>) dans le prologue (<prolog>) peuvent fournir plus d'informations à propos des valeurs utilisées dans les attributs de métadonnée sur le contenu. Toutefois, les métadonnées de prologue et les attributs de métadonnée peuvent également s'utiliser et s'exprimer indépendamment. La coordination montrée ici est possible mais pas obligatoire.

<prolog>
  <metadata>
    <audience name="AdminNovice"
              type="administrator"
              job="customizing"
              experiencelevel="novice">

  </metadata>
</prolog>
....
<p audience="AdminNovice ProgrammerExp">This paragraph applies to both 
novice administrators and expert programmers</p>

Dans l'exemple précédent, la valeur d'attribut "AdminNovice" est associée à l'élément <audience> de même nom, ce qui fournit aux auteurs et aux processus plus d'informations à propos du public en question, à savoir ici que le public "AdminNovice" regroupe les administrateurs en charge de la personnalisation et les novices en la matière.

Éléments de métadonnée partagés et l'attribut lockmeta

On peut associer des métadonnées de thème à un thème ou une branche de thèmes dans une carte. Par défaut, les métadonnées dans la carte complètent ou remplacent les métadonnées dans le thème. Si l'attribut lockmeta="no", alors les métadonnées dans la carte ne seront pas prioritaires sur celles dans le thème, et les conflits se résoudront en faveur du thème.

Dans une carte, les éléments de métadonnée sont créées au sein d'un élément <topicmeta>, ce qui associe les métadonnées à l'élément <topicref> ou un autre élément le contenant, plus les sous-éléments de cet autre élément. Par exemple, un élément <topicmeta> dans un élément <relcolspec> peut associer les métadonnées à tous les thèmes référencés dans une colonne <reltable>.

Les éléments de métadonnée dans une carte sont les mêmes que celles dans un thème, quoiqu'elles puissent être dans un ordre différent. Les métadonnées de la carte incluent également une description courte (<shortdesc>) et d'autres titres (<titlealts>), lesquels peuvent remplacer leurs équivalents dans le contenu. En résumé, la carte peut remplacer ou compléter toute chose à propos d'un thème sauf son contenu (dans l'élément <body> du thème) et son titre principal.