2.3. Organisation de la définition DTD

Les types de document DITA OASIS sont mis en œuvre avec un ensemble de modules DTD. Quelques modules sont utilisés par chaque type de document DITA, d'autres ne le sont que par des thèmes ou des cartes, et certains ne le sont que dans des spécialisations spécifiques.

Définitions DTD contre modules

Une caractéristique significative de la mise en œuvre DITA est qu'elle accorde plus d'importance aux modules qu'à la définition DTD réelle. Toutes les déclarations de types d'élément et d'attribut sont faites dans des modules, lesquels sont intégrés en un type de document à l'aide d'un interpréteur de commandes de type de document (document type shell). Les implémenteurs sont libres de créer de nouvelles définitions DTD, qui réorganisent les modules, introduisent de nouveaux modules ou les suppriment, comme cela est approprié. Par exemple, la définition DTD de thème standard d'OASIS comprend tous les domaines de thème standards ; en revanche, bien que la définition DTD de thème par défaut permette l'imbrication de thèmes, il n'est pas possible d'inclure des concepts. Une nouvelle définition DTD peut changer l'une de ces caractéristiques ou les deux et être toujours valide ; la définition DTD peut ajouter ou supprimer des domaines, et elle peut autoriser un thème à contenir des concepts, ou autoriser la création de types différents au même niveau, comme dans le type de document ditabase. Lors de la création d'une nouvelle définition DTD ou de la modification d'une définition existante, les utilisateurs ne devraient pas oublier de donner un nouvel identificateur public à la définition nouvelle ou modifiée, afin que les divers outils DITA ne confondent pas la nouvelle définition avec la version par défaut OASIS.

Description des modules DITA

Chaque spécialisation requiert qu'un ou plusieurs modules définissent les éléments de cette spécialisation. Toute définition DTD utilisant une spécialisation doit inclure les modules de cette spécialisation.

Outre les modules spécifiques d'une spécialisation, chaque définition DTD DITA utilise plusieurs fichiers. Ceux-ci sont inclus dans les modules de base des thèmes ou des cartes, et il n'est donc pas nécessaire de les référencer dans la définition DTD : ils sont déjà inclus avec le module de thème ou de carte.

Les tableaux suivants décrivent chacun des modules DTD livrés avec le standard DITA OASIS.

Tableau 1. Description de thème et ses modules de spécialisation
Fichier de module commun Fonction Utilisé dans la DTD
topic.mod Définit tous les éléments utilisables au sein du type de thème de base. Doit être inclus dans toute DTD DITA fondée sur des thèmes.
concept.mod Définit les éléments utilisés dans la spécialisation concept. concept.dtd, ditabase.dtd
glossary.mod Définit les éléments utilisés dans la spécialisation glossary glossary.dtd, ditabase.dtd
reference.mod Définit les éléments utilisés dans la spécialisation reference. reference.dtd, ditabase.dtd
task.mod Définit les éléments utilisés dans la spécialisation task. task.dtd, ditabase.dtd
Tableau 2. Description de carte et ses modules de spécialisation
Fichier de module commun Fonction Utilisé dans la DTD
map.mod Définit tous les éléments utilisables au sein du type de carte de base. Doit être inclus dans toute DTD DITA fondée sur des cartes.
bookmap.mod Définit les éléments utilisés dans la spécialisation bookmap. bookmap.dtd
Tableau 3. Description des modules de domaine
Fichier de module commun Fonction Utilisé dans la DTD
indexingDomain.ent, indexingDomain.mod Définit les entités et éléments utilisés par le domaine indexing. bookmap.dtd, concept.dtd, ditabase.dtd, glossary.dtd, map.dtd reference.dtd, task.dtd, topic.dtd
highlightDomain.ent, highlightDomain.mod Définit les entités et éléments utilisés par le domaine highlighting. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
programmingDomain.ent, programmingDomain.ent Définit les entités et éléments utilisés par le domaine programming. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
softwareDomain.ent, softwareDomain.mod Définit les entités et éléments utilisés par le domaine software. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
uiDomain.ent, uiDomain.mod Définit les entités et éléments utilisés par le domaine user interface. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
utilitiesDomain.ent, utilitiesDomain.mod Définit les entités et éléments utilisés par le domaine utilities. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
mapGroup.ent, mapGroup.mod Définit les entités et éléments utilisés par le domaine map group. map.dtd, bookmap.dtd
xnalDomain.ent, xnalDomain.mod Définit les entités et éléments utilisés par le domaine xNAL. bookmap.dtd
Tableau 4. Description des autres modules communs utilisés par les fichiers précédents
Fichier de module commun Fonction Utilisé au sein du module
commonElements.ent, commonElements.mod Définit tous les éléments de contenu qui peuvent apparaître dans les cartes et les thèmes. topic.mod, map.mod (cela en fait une partie de toute DTD DITA)
metaDecl.mod Définit les éléments de métadonnée qui peuvent apparaître dans les cartes et les thèmes. topic.mod, map.mod (cela en fait une partie de toute DTD DITA)
tblDecl.mod Définit les tableaux complexes utilisés au sein de DITA, fondés sur le modèle d'échange de tableau OASIS. commonElements.mod (cela en fait une partie de toute DTD DITA)
topicDefn.ent Définit les entités utilisées au sein du module de thème. topic.mod (cela en fait une partie de toute DTD DITA fondée sur les thèmes)