Note, la doc Python du module SAX est là: http://docs.python.org/library/xml.sax.utils.html
Elle précise bien que quoteattr() doit normalement encoder les mêmes caractères que: xml.sax.saxutils.escape(data[, entities]) sans même avoir à passer un tableau entities (les caractères "&", "<" et ">" sont inclus par défaut), mais quoteattr() ajoute les guillemets (") et apostrophes ('), sans retirer pour autant le caractère "&" des entités de substitution définies par défaut. Visiblement c'est un problème de version du module "xml.sax.saxutils" que tu utilises (il faut une version 2.2 ou supérieure de Python pour avoir cette fonction). Note bien que quoteattr() a été conçu pour HTML ou SGML, pas pour la conformité XML ou XHTML (la conformité XML vient avec la version 2.3 il me semble, sinon il te faut passer un paramètre entities ; Python est actuellement en version 2.7) Le 10 février 2012 12:45, Philippe Verdy <verd...@wanadoo.fr> a écrit : > A mon avis le bogue est surtout à corriger dans la fonction > quoteattr() du module Python "sax.saxutils". > > Car ***même*** en HTML ou SGML (au lieu de XML ou XHTML) il faudrait > systématiquement recoder un "&" présent dans une valeur qu'on veut > encapsuler dans un attribut d'élément HTML (ou XML). Tout parseur HTML > ou SGML reconnait "&" automatiquement (sans avoir besoin de > définir l'entité), mais ***tolère*** (par compatibilité ascendante > avec les très vieux navigateurs HTML, d'avant même HTML4) des valeurs > contenant des entités mal codées (dans ce cas un parseur HTML a un > "fallback" lui permettant de réinterpréter la valeur donnée sans faire > le décodage des entités, mais PAS un parseur XML qui s'y refuse, car > c'est un trou de sécurité). > > Le code d'Osmose visiblement l'oublie quand il génère aussi d'autres > URLs "en dur" à d'autres endroits de la page HTML du frontend (mais ce > frontend est codé pour générer du HTML, pas du XHTML, ce qui autorise > le "fallback" pourtant pas recommandé du tout et dangereux). > >>> Mon dépôt osmose sur gitorious n'est pas vraiment une référence. >>> Regardes plutôt la branche dev de http://gitorious.org/osmose pour la >>> version de développement. _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr