Export des concepts et des tâches Dita
Mise en commun des transformations similaires
Les transformations des concepts et des tasks ont a gérer un certain nombres de traitements similaires : en effet, le modèle Dita restreint que nous utilisons (cf. diagramme UML) met en jeu des éléments communs tels que ceux liés au titre (title, titleats, etc.), aux notes (info, note, danger, tip, etc.), aux liens et références (related-links, xref, etc.), ou encore au texte et aux balises "inline" (p, b, li, image, etc.).
Nous avons donc décidé de "mutualiser" les transformations de ces éléments en les incluant dans un fichier commun (exportDitaCommon.xsl) qui est référencé à la fois dans exportDitaConcept.xsl et dans exportDitaTask.xsl. Cela nous a permis de réutiliser les traitements similaires ainsi que de mieux modulariser notre code.
Transformation des liens
La transformation des liens (attributs href dans les balises link ou xref typiquement) a été un point particulièrement important : en effet dans le modèle Scenari, l'attribut refUri d'un item de l'atelier Doctek (ayant par exemple une extension "* .concept" ou "*.task") contient un chemin vers un fichier lui aussi situé dans l'atelier (ayant donc le même genre d'extension). Puisque nous voulons transformer le fichier référençant dans le langage Dita, il convient de transformer le lien en une référence à un fichier Dita.
Ceci est possible grâce à un jeu sur les extensions de fichier : nous procédons simplement en remplaçant l'extension de base par une extension "*.dita", tandis que le nom du fichier reste le même. Cette substitution fonctionne à condition que les hypothèses suivantes soient vérifiées :
les fichiers référencés respectivement dans le modèle Doctek et en Dita doivent posséder le même nom,
la transformation du fichier référencé depuis le modèle Doctek vers Dita doit aussi avoir lieu en parallèle, sans quoi le lien en Dita ne mène vers rien.
Ces deux conditions sont respectées grâce à l'exécution en parallèle de toutes les transformations avec Ant.