J'ai un document XML, dont une partie contient les éléments suivants :
<math display='block'><mtext> </mtext></math>
Si cela est chargé dans Qt (spécifiquement le widget Qt MathML où j'ai trouvé ce problème), l'objet QDomDocument perd le caractère unicode thin space (U+2009). Cet exemple de code Python démontre le problème :
from PyQt4.QtXml import *
d = QDomDocument()
d.setContent("<math display='block'><mtext> </mtext></math>")
print repr(unicode(d.toString()))
La sortie de ce code est :
u'<math display="block">\n <mtext/>\n</math>\n'
L'insertion d'un caractère supplémentaire sans espace après l'espacement fin empêche la perte de l'espacement fin.
S'agit-il d'une erreur de ma part, d'une fonctionnalité XML ou d'un bug de Qt ?