Bonjour,
il existe un outil, Tidy, qui sert un peu à cela pour des sources (X)HTML, mais il n'existe pas d'outil de "réparation XML" généraliste.
Ca s'explique d'ailleurs assez facilement, puisque la sémantique véhiculée par la structure XML ne peut pas toujours être inférée, même quand on dispose de la DTD. Par exemple, pour ce fragment de XML mal formé :
<p>Ceci est du texte avec un mot en <b>gras. Le reste de la phrase est en texte normal</p>
Il est impossible à un logiciel de déterminer où il doit placer exactement la balise fermante </b>.
Ou encore :
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a [
<!ELEMENT a (b|c)*>
<!ELEMENT b EMPTY>
<!ELEMENT c (b)*>
]>
<a>
<b/>
<b/>
<b/>
</c>
</a> |
Où placer la balise ouvrante <c> ?
Partager