Lignes vides lors d'une transformation XSLT - XML/XSL - Programmation
Marsh Posté le 01-06-2005 à 10:31:28
Si tu regardes ton xml de départ dans un éditeur digne de ce nom, tu verras qu'il y a une balise par ligne avec à chaque fois un retour à la ligne ( CRLF), pratiquement chaque balise à donc un contenu dit mixte... ton XSLT reprend tous ces CRLF en amont et en aval.
Tu peux éviter cela en ajoutant un template comme ceci:
|
Y'a une raison de pas utiliser le namespace xsl pcq c'est pas vraiment standard, le plus dur dans ta question c'était de remettre les xsl: devant toutes les balises du stylesheet...
Marsh Posté le 01-06-2005 à 15:42:27
Hum, concrètement, il faut que je fasse quoi ?
J'ai mis ça dans mon .xslt :
|
au lieu d'avoir juste <template match="DBMODEL/METADATA">, et ça m'enlève déjà des espaces devant (et à la fin aussi).
Par contre, j'ai rajouté un <text>-- début du script</text>, juste après <template match="DBMODEL/METADATA"> et en fait, ça affiche plein de lignes vides encore, entre --début du script et le début de la sortie que je veux (un peu comme entre le ALTER TABLE et le "-- End of generated script " de mon fichier d'exemple) ...
J'ai essayé de virer tout les retours à la ligne du fichier XML, et effectivement, ça m'a enlevé toutes les lignes blanches Mais c'est pas super pratique, j'aurais préféré avoir à éviter de toucher à ce fichier
Merci de ta réponse en tout cas
Marsh Posté le 31-05-2005 à 16:08:08
Salut,
j'ai un petit problème lorsque je réalise une transofmration XSLT sur mes fichiers XML : j'ai un fichier XML (modèle de base de donnée, généré avec DBDesigner4) et un fichier XSLT, qui me converti ce modèle en instruction PostgreSQL.
J'utilise Sablotron en ligne de commande (sabcmd xml2postgres.xslt test.xml test.sql), et la transformation marche bien. Le problème, c'est que je me retrouve avec énormément de lignes blanches au début et à la fin du fichier : sur un fichier généré de 6000 lignes, il y en 1500 vides à la fin, et 3600 au début (à peu près)
Je pensais à un bug de Sablotron, mais en essayant un autre programme (Xalan, beaucoup plus rapide que Sablotron d'ailleurs), ça fait pareil. L'auteur du fichier XSLT constate la même chose d'ailleurs
Bref, je débute en XSLT, et j'aimerais comprendre d'où vient le problème ...
Le fichier XSLT en question
Un modèle de DB comme exemple
Le résultat
Merci de votre aide