
Envoyé par
thelvin
Après, bon, quand on veut utiliser des fichiers qui ont cette erreur-là, c'est sûr que ça ferait du bien, un peu de souplesse de la part de l'éditeur de texte, qu'il refuse pas d'indenter, problème qui n'a franchement rien à voir.
Surtout quand on
doit utiliser des fichiers comme ça.
Moi c'est mon appli au boulot qui me ressort des fichiers avec des entités, qu'il peut retrouver grâce à un catalogue interne. Bien entendu ce catalogue n'est pas exporté de l'appli avec le fichier XML en question.
Et je suis d'accord, les entités n'ont pas grand chose à voir avec la structure du document. Du coup ça me fait râler quand il me ressort qu'il ne peut pas l'indenter à cause d'une erreur comme ça...
Le seul outil capable d'indenter sans se soucier des entités (ni même des erreurs syntaxiques, comme des balises non fermées d'ailleurs) c'est l'indenteur d'Eclipse.
Malheureusement, dès que le XML dépasse les 1 ou 2 Mo, ça freeze eclipse et y'a plus qu'à killer le process.
Sachant que mes documents font entre 10 et 300 Mo autant dire que c'est juste pas utilisable.
D'ailleurs, si ça peut intéresser des gens, je joins le script que j'ai fait pour indenter des fichiers SGML ou XML.
A priori y'a
pas plus de bugs, mais on ne sait jamais...
Il suffit d'avoir Perl pour le lancer avec comme unique argument le nom du fichier à indenter :
perl DOMIndenter.pl mon_fichier.xml
Il indente des fichiers SGML de 300Mo en 5 minutes sur un core i3 premier prix et 3Go de RAM.
A priori la seule limitation pour la taille du XML en entrée est la mémoire disponible (il prend jusqu'à 3x la taille en RAM).
0 |
0 |