Migrer de FrameMaker vers DITA XML¶
Le but de cette procédure est de :
- migrer son contenu FrameMaker vers DITA XML sans se plonger dans les arcanes des EDD FrameMaker (petits projets uniquement !),
- gérer la documentation technique au format DITA XML sans utiliser FrameMaker structuré.
- Restructurez le contenu et les styles de vos fichiers de contenu FrameMaker selon les concepts DITA XML.
- Créez un document FrameMaker vide et importez-y tous les styles existants dans les fichiers à migrer.
- Appliquez tous les styles disponibles à des paragraphes vides du document FrameMaker vide.
- Enregistrez le document FrameMaker vide sous le nom
styles.fm
. - Ouvrez FrameMaker structuré 11 et créez un nouveau fichier DITA XML de type topic.
- Choisissez StructureTools ‣ Exporter le catalogue d’éléments en tant
qu’EDD et sauvegardez la nouvelle EDD sous le nom
DITA-topic-edd.fm
. - Ouvrez le fichier
styles.fm
, puis choisissez Fichier ‣ Importer les définitions d’éléments et importez les définitions d’éléments à partir deDITA-topic-edd.fm
. - Répétez les trois étapes ci-dessus pour les autres types de topics DITA XML (task, reference, etc.), en modifiant les noms de fichiers comme il se doit.
- Ouvrez le fichier
styles.fm
, puis choisissez StructureTools ‣ Générer le tableau de conversion. - Modifiez le fichier de conversion et faites correspondre chaque style FrameMaker à une balise DITA XML.
- Enregistrez le tableau de conversion sous le nom
DITA2FM-conversion-table.fm
. - Ouvrez un fichier de contenu FrameMaker sous FrameMaker structuré 11 et choisissez StructureTools ‣ Utilitaires ‣ Structurer le document en cours.
- Sélectionnez
DITA2FM-conversion-table.fm
et cliquez sur Ajouter structure. - Enregistrez le fichier de contenu FrameMaker au format XML sans sélectionner d’application.
- Ouvrez le fichier XML généré sous un éditeur DITA XML et corrigez la syntaxe DITA XML. Certains aspects de cette étape sont scriptables, mais il faut également procéder à des opérations manuelles de restructuration du contenu. Il vous faudra notamment placer à la main les références croisées, de préférence dans une reltable.
Pour générer les éléments permettant de construire un fichier ditamap, vous pouvez par exemple utiliser des scripts Perl du type :
Attention
Ne lancez ce type de scripts que sur une copie de vos fichiers et non sur les fichiers originaux.
#!/usr/bin/perl
open(INPUT,"<$ARGV[0]") or die;
@input_array=<INPUT‣;
close(INPUT);
$input_scalar=join("",@input_array);
# substitution
$input_scalar =~ s#\<body‣(.|\n)*?</body‣##ig;
open(OUTPUT,‣$ARGV[0]") or die;
print(OUTPUT $input_scalar);
close(OUTPUT);
Vous pouvez également modulariser facilement le contenu à l’aide des ciseaux XML
xml_split,
ou utiliser le module Perl XML::Twig, ou
encore ce one-liner Bash pour renommer les fichiers .dita
d’après leur titre :
$ ack "<title‣" *.dita| sed "s# #_#g;" |
tr '[:upper:]' '[:lower:]' |
sed -E "s#(.*.dita)#mv \1#g;" |
sed -E "s#\.dita.*<title‣(.*)</title‣#.dita \1.dita#g;"