5. Spécialisation DITA

La spécialisation est le processus par lequel sont créées de nouvelles conceptions fondées sur des conceptions existantes, permettant le traitement de nouveaux types de contenu en utilisant des règles de traitement existantes.

La spécialisation fournit un moyen de réconcilier les besoins de gestion centralisée d'une architecture et d'une conception majeures et les besoins de gestion localisée de directives et comportements spécifiques à un groupe et un contenu. La spécialisation permet la coexistence de multiples définitions de contenu et de sortie, liées par une hiérarchie de types et de transformations. Cette hiérarchie informe les transformations générales de la façon de traiter un contenu spécifique nouveau et permet aux transformations spécialisées de réutiliser la logique des transformations générales. En conséquence, tout contenu peut être traité par une transformation, tant que le contenu et la transformation sont compatibles avec la spécialisation et appartiennent à la même hiérarchie. Les créateurs de spécialisations (spécializers) tirent avantages de solutions spécifiques mais aussi de standards communs et de ressources partagées.

Contenu Traitement Résultat
Non spécialisé Non spécialisé Traitement de base ; sortie prévisible
Non spécialisé Spécialisé Traitement de base ; les commandes prioritaires (overrides) spécialisées sont ignorés ; sortie prévisible
Spécialisé Non spécialisé Traitement de base ; le contenu spécialisé est traité comme du contenu général ; la sortie ne sera peut-être pas celle prévue
Spécialisé Spécialisé Traitement spécialisé ; sortie prévisible
Spécialisé Spécialisé différent Traitement spécialisé partiel ; contenu spécialisé traité comme plus proche dénominateur commun ; la sortie ne sera peut-être pas celle prévue

Les sujets suivants offrent une vue d'ensemble de la spécialisation, quelques recommandations d'utilisation et les règles détaillées de ses mécanismes.

  1. 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 réduisant ou supprimant les coûts de conversion (interchange), de migration et d'entretien ;
  2. 5.2. Pourquoi la spécialisation ?
    La spécialisation présente des avantages spectaculaires pour le développement de nouvelles architectures de document ;
  3. 5.3. Spécialisation de structure contre spécialisation de domaine
    La spécialisation de structure définit de nouveaux types d'information structurée, tels que des nouveaux types de thème ou des nouveaux types de carte. La spécialisation de domaine crée un nouveau balisage qui peut être utile dans plusieurs types structuraux, tels que de nouveaux types de mot-clé, de table ou de liste, ou des nouveaux attributs tels que des attributs de traitement conditionnel ;
  4. 5.4. Spécialisation du contenu étranger ou inconnu
    La spécialisation des éléments <foreign> ou <unknown> est une extension ouverte de l'architecture DITA permettant à ceux qui adoptent DITA d'incorporer des vocabulaires normalisés de contenu non textuel, nouveaux ou existants, tels que MathML et SVG, comme des objets de type en-ligne ;
  5. 5.5. Extensibilité des données
    L'élément <data> représente des propriétés, depuis des valeurs simples jusqu'à des structures complexes. Les processus peuvent cueillir l'élément <data> en vue d'un traitement automatique ou du formatage des données associées au flux principal (body flow). L'élément <data> sert principalement à créer des spécialisations ;
  6. 5.6. Limites de la spécialisation
    Parfois un nouveau type de structure ou de domaine ne semble pas entrer dans la hiérarchie existante, selon la sémantique des types existants et les restrictions du processus de spécialisation. On doit alors examiner diverses options ;
  7. 5.7. Spécialisation dans le contenu
    La spécialisation s'exprime dans le contenu au travers de l'utilisation de deux attributs : l'attribut class et l'attribut domains. Ils ne sont normalement pas présents dans l'instance de document mais fournis par des valeurs par défaut exprimées dans une définition DTD ou un schéma ;
  8. 5.8. Spécialisation dans la conception
    La spécialisation dans la conception permet la réutilisation des éléments de conception, tout comme la spécialisation dans le contenu permet la réutilisation des règles de traitement. Ces règles impliquent la création et la gestion de modules de balisage comme des unités séparées réutilisables ;
  9. 5.9. Spécialisation au traitement
    Le traitement spécialisé n'est pas nécessaire pour tout élément spécialisé, seulement pour les éléments qui n'ont pas de comportement par défaut approprié en fonction de leurs ancêtres.