Passage en XML

fabix avait bien démarré le projet du passage des sources SGML du manuel de PostgreSQL en XML. J'ai continué hier après-midi et terminé ce matin. xmllint ne donnait aucune erreur hier, xsltproc se plaignait encore un peu à cause d'identifiants inconnus. En effet, certains identifiants n'étaient pas identiques à cause de leur casse. J'ai commencé à me faire la liste manuellement avec gvim mais c'est un peu long et « chiant ». Bref, quelques tests avec sed et j'obtiens cette jolie commande :

grep -l "id=\"[A-Za-z0-9]" *.sgml | while read fichier
do
  mv ${fichier} ${fichier}.bak
  sed s/id=\"[a-zA-Z0-9-]*\"/\\L\&/g \
      s/linkend=\"[a-zA-Z0-9-]*\"/\\L\&/g \
      s/endterm=\"[a-zA-Z0-9-]*\"/\\L\&/g" ${fichier}.bak > ${fichier}
  echo "$fichier ok"
done

\L& permet de convertir ce qui a été récupéré par sed en minuscule.

Ceci fait, xsltproc s'est encore plaint pour deux/trois bêtises (Id au lieu de id, ProductName au lieu de productname... bref encore un problème de minuscule/majuscule).

Tout ce travail me permet de générer la documentation de PostgreSQL avec xsltproc, à priori plus rapide et me donnant plus d'options pour la génération... sans compter que les feuilles de style XSLT sont bien plus lisibles que les feuilles DSSSL. Néanmoins, il me reste encore du travail car il y a pas mal de différences entre le document généré par openjade et celui généré par xsltproc. Je m'y remets ce soir.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet