Alors je travaille sur un utilitaire rapide pour permettre l'édition simple des fichiers TMX. TMX est essentiellement une norme basée sur XML pour stocker des traductions multilingues. Anyhoo, je l'importation TMX dans une application Adobe AIR via une référence de fichier, puis récupérer le flux de fichiers, gifler les caractères UTF-8 dans une chaîne, puis cette chaîne dans un objet XML. THus:Erreurs dans l'implémentation Flex 3 XML? Réécriture xml: lang
var stream:FileStream = new FileStream();
stream.open(event.target /*file data*/ as File, FileMode.READ);
var fileData:String = stream.readUTFBytes(stream.bytesAvailable);
var tmxXml:XML = new XML(fileData);
Mais, voici la partie intéressante. Si fileData
est chargé comme ceci:
<tuv xml:lang="en">
<seg>About Us</seg>
</tuv>
XML de Flex interprète comme ceci:
<tuv aaa:lang="en" xmlns:aaa="http://www.w3.org/XML/1998/namespace">
<seg>
About Us
</seg>
</tuv>
Oh ho intéressant! L'attribut xml:lang
devient aaa:lang="en" xmlns:aaa="http://www.w3.org/XML/1998/namespace"
. D'après mes brèves recherches, il y a des précédents à ce sujet, mais c'est un peu une supposition succincte. Sans créer trop de règles de remplacement de chaîne, existe-t-il un moyen de contourner cela?