L'attribut identity DITA fournit un mécanisme pour identifier le contenu à récupérer ou à relier. La syntaxe d'appel des identificateurs est cohérente indépendamment du mécanisme d'appel.
L'attribut id affecte un identificateur unique à un élément, ce qui permet de le référencer.
Le caractère unique (scope of unicity) de l'attribut id
dépend du rôle de l'élément dans l'architecture DITA :
id du thème
doit être unique au sein de l'instance de document.
Une architecture thématique assemble les thèmes en un produit livrable par référence. Pour assurer la référence des thèmes,
l'attribut id est obligatoire sur l'élément <topic>.
L'identificateur complet d'un thème se compose de l'adresse URI de l'instance de document,
d'un caractère de séparation CROISILLON « # » et de l'identificateur du thème (tel que
http://some.org/some/directory/topicfile.xml#topicid). Les adresses URI sont décrites dans
le document RFC 2396. Comme à l'accoutumé avec les adresses URI, on peut utiliser une adresse URI relative
comme identificateur de l'instance de document tant que celle-ci est résolvable dans le contexte d'appel. Par exemple, dans un
répertoire de système de fichiers, le nom de fichier de l'instance de docuemnt suffit (tel que
some/directory/topicfile.xml#topicid). Au sein du même document, le seul identificateur du thème suffit
(tel que #topicid). Si l'élément <topic< est l'élément racine de
l'instance de document, les contextes hors de l'instance de document peuvent omettre l'identificateur du thème pour référencer
l'élément <topic> (tel que topicfile.xml). Si la cible contient
plusieurs thèmes frères sous l'égide d'un élément <dita> (tel que le type de document ditabase),
alors la référence se résoud au premier <topic> dans la cible, sauf pour les
éléments <topicref> résolus comme des directives d'inclusion (par exemple pour une sortie PDF),
auquel cas le fichier cible entier est inclus, sans qu'un thème spécifique ne soit visé.
L'identificateur du thème peut être référencé par d'autres éléments, dont les éléments <topicref>,
<link>, <xref>, ou des attributs conref pointant vers le thème,
ainsi qu'être utilisé comme partie de références vers le contenu du thème.
L'attribut id des thèmes DITA est de type ID dans XML, et doit donc être unique
au sein de l'instance de document.
topic>,
l'attribut id d'un élément contenu dans le thème doit seulement être unique au sein de l'élément <topic>
qui le contient immédiatement. Cette approche assure des références pérennes (maintainable) au contenu
parce que l'identificateur reste valide tant que l'instance de document, le thème et le contenu existent.
Les positions du contenu dans le thème, et du thème dans l'instance de document, peuvent changer sans invalider l'identificateur du contenu.
En outre, cette approche évite de récrire les identificateurs de contenu de thème pour empêcher les conflits de noms lors
de l'agrégation des thèmes.
L'attribut id est optionnel et ne doit être ajouté que pour rendre le contenu référençable.
L'identificateur complet du contenu de thème se compose de l'identificateur complet du thème, d'un caractère de séparation BARRE OBLIQUE « / » et de l'identificateur de contenu de thème (tel que http://some.org/some/directory/topicfile.xml#topicid/contentid). Comme noté auparavant, la portion identificateur de thème peut utiliser une adresse URI relative pour l'instance de document dans les contextes où l'adresse URI est résolvable (tel que some/directory/topicfile.xml#topicid/contentid).
On doit toujours inclure l'identificateur du thème conteneur lors de l'appel de l'identificateur d'un élément. On ne pourrait pas sinon distinguer l'appel d'un autre thème de celui d'un élément dans le même thème. Pour les références dans la même instance de document, on peut tout aussi bien omettre l'identificateur de l'instance de document (tel que #topicid/contentid).
L'attribut id des éléments dans les thèmes DITA n'est pas de type ID et n'est pas tenu
d'être unique au sein du document, quoiqu'il doive l'être au sein du thème.
Pour l'élément <anchor>, qui n'existe que pour identifier une position dans une carte comme cible des
références, l'attribut id est obligatoire. Pour les autres éléments, l'attribut id
est optionnel.
L'identificateur complet d'un élément de carte se compose de l'adresse URI absolue de l'instance de document de carte et de l'identificateur de l'élément (tel que http://some.org/some/directory/mapfile.xml#topicrefid).
Les attributs id des éléments <map> et <anchor>
sont de type ID et doivent obligatoirement être uniques au sein de l'instance de document. Les attributs id
des autres éléments dans la carte ne sont pas de type ID et ne sont pas obligatoirement uniques.
OASIS DITA Version 1.1 Architectural Specification — OASIS Standard, 1 August 2007
Copyright © OASIS Open 2005, 2007. All Rights Reserved.