2.4. Organisation du schéma XML

Les types de documents DITA OASIS sont mis en œuvre avec un ensemble de modules de schéma. Quelques modules sont utilisés par tous les documents de schéma 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.

Schémas XML contre modules

Une caractéristique significative de la mise en œuvre de DITA est qu'elle accorde plus d'importance aux modules qu'au schéma chef (head schema) réel. Toutes les déclarations de types d'élément et d'attribut sont faites dans des modules, lesquels sont ensuite intégrés dans un type de document en utilisant un schéma chef. Les implémenteurs sont libres de créer de nouveaux schémas chefs qui réorganisent les modules, en introduisent de nouveaux, les redéfinissent ou les suppriment, comme cela est approprié. Par exemple, le schéma XML standard des thèmes d'OASIS inclut tous les domaines de thème standards ; en revanche, bien que le schéma XML des thèmes par défaut permette l'imbrication des thèmes, il n'est pas possible d'inclure des concepts. Un nouveau schéma XML peut changer l'une de ces caractéristiques ou les deux et être toujours valide ; le schéma XML peut ajouter ou supprimer des domaines et il 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.

Description des modules DITA

Chaque spécialisation requiert qu'un ou plusieurs modules définissent les éléments de cette spécialisation. Tout schéma XML utilisant une spécialisation doit inclure les modules de cette spécialisation.

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

Les tableaux suivants décrivent chacun des modules XML 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 le schéma XML
topicMod.xsd, topicGrp.xsd Définit tous les éléments utilisables au sein du type de thème de base. Doit être inclus dans tout schéma XML DITA fondé sur des thèmes.
conceptMod.xsd, conceptGrp.xsd Définit les éléments utilisés au sein de la spécialisation concept. concept.xsd, ditabase.xsd
glossaryMod.xsd, glossaryGrp.xsd Définit les éléments utilisés au sein de la spécialisation glossary. glossary.xsd, ditabase.xsd
referenceMod.xsd, referenceGrp.xsd Définit les éléments utilisés au sein de la spécialisation reference. reference.xsd, ditabase.xsd
taskMod.xsd, taskGrp.xsd Définit les éléments utilisés au sein de la spécialisation task. task.xsd, ditabase.xsd
Tableau 2. Description de carte et ses modules de spécialisation
Fichier de module commun Fonction Utilisé dans la DTD
mapMod.xsd Définit tous les éléments utilisables au sein du type de carte de base. Doit être inclus dans tout schéma XML DITA fondé sur des cartes.
bookmapMod.xsd Définit les éléments utilisés au sein de la spécialisation bookmap. bookmap.xsd
Tableau 3. Description des modules de domaine
Fichier de module commun Fonction Utilisé dans la DTD
indexingDomainMod.xsd Définit les entités et éléments utilisés par le domaine indexing. bookmap.xsd, concept.xsd, ditabase.xsd, glossary.xsd, map.xsd reference.xsd, task.xsd, topic.xsd
highlightDomainMod.xsd Définit les entités et éléments utilisés par le domaine highlighting. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
programmingDomainMod.xsd Définit les entités et éléments utilisés par le domaine programming. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
softwareDomainMod.xsd Définit les entités et éléments utilisés par le domaine sofware. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
uiDomainMod.xsd Définit les entités et éléments utilisés par le domaine user interface. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
utilitiesDomainMod.xsd Définit les entités et éléments utilisés par le domaine utilities. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
mapGroupMod.xsd Définit les entités et éléments utilisés par le domaine map group. map.xsd, bookmap.xsd
xnalDomainMod.xsd Définit les entités et éléments utilisés par le domaine xNAL. bookmap.xsd
Tableau 4. Description des autres modules communs utilisés par les fichiers précédents
Fichier de module commun Fonction Utilisé dans le module
commonElementsMod.xsd, commonElementsGrp.xsd 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 tout schéma XML DITA)
metaDeclMod.xsd, metaDeclGrp.xsd Définit les éléments <meta> qui peuvent apparaître dans les cartes et les thèmes. topic.mod, map.mod (cela en fait une partie de tout schéma XML DITA)
tblDeclMod.xsd, tblDeclGrp.xsd Définit les tables complexes utilisées au sein de DITA, fondé sur le modèle d'échange de table OASIS (OASIS Exchange Table model). commonElements.mod (cela en fait une partie de tout schéma XML DITA)
ditaarch.xsd Définit l'attribut qui indique la version d'architecture DITA Doit être importé par tout schéma XML DITA fondé sur des thèmes.
xml.xsd Définit les attributs dans l'espace de noms XML. Doit être importé dans tout schéma XML DITA fondé sur des thèmes.