5.1. Qu'est-ce que la spécialisation ?

La spécialisation permet de définir de nouveaux types d'information (nouveaux types structuraux ou nouveaux domaines d'information), en réutilisant autant que possible la conception et le code existants, et en minimisant ou éliminant les charges de conversion (interchange), de migration et d'entretien.

On utilise une spécialisation lorsque l'on a besoin de nouveaux types structuraux et domaines. On peut utiliser une spécialisation DITA si on veut apporter des changements à une conception afin d'en améliorer la cohérence ou la description, ou si on a des besoins extrêmement spécifiques non pris en compte par le modèle de données courant. La spécialisation n'est pas recommandée pour simplement créer des types de sortie différents puisque les documents DITA peuvent être transformés en sorties différentes sans y recourir (cf. la section 5.9.5. Personnalisation).

Il y a deux types de hiérarchies de spécialisation : l'une pour les types structuraux (avec un élément <topic> ou <map> à la racine) et l'autres pour les domaines (avec des éléments dans un thème ou une carte à leur racine, ou les attributs props ou base). Les types structuraux définissent les structures des thèmes ou des cartes, telles que les éléments <concept>, ou <task> ou <reference>, qui s'appliquent souvent à travers des domaines (subject areas) ; par exemple, une tâche de l'interface utilisateur et une tâche de programmation peuvent toutes deux se composer d'une succession d'étapes. Les domaines définissent un balisage pour un domaine d'information ou un champ d'application particuliers, tel que la programmation ou le matériel. Chaque spécialisation est une hiérarchie « est un » (is a), dans la terminologie orientée objet, chaque type structurel ou chaque domaine étant une sous-classe de son parent. Par exemple, une spécialisation de tâche est toujours une tâche, et une spécialisation du domaine de l'interface utilisateur fait toujours partie du domaine de l'interface utilisateur.

Utilisez une spécialisation lorsque vous avez affaire à de nouvelles sémantiques (des catégories d'information nouvelles et significatives, que ce soit sous la forme de nouveaux types structuraux ou de nouveaux domaines). Les nouvelles sémantiques peuvent être codées dans le cadre d'une hiérarchie de spécialisation qui leur permet d'être transformées en retour vers des équivalents plus généraux, et assure aussi que le contenu spécialisé pourra être traité par les transformations existantes.