OVH Cloud OVH Cloud

question XML

8 réponses
Avatar
MC
Bonjour !

J'avais lu, à beaucoup d'endroits, que XML c'était d'abord des fichiers
"texte", et que les (noms des) balises ne devaient contenir que des
caractères ASCII.

Or, dans un livre (XML en concentré), j'ai lu une affirmation
différente ; à savoir que, avec XML 1.1, on pouvait utiliser n'importe
quel caractère dans les noms des balises.

Avant ma panne informatique actuelle (qui m'empêche de tester), j'avais
donc créé un mini fichier XML, en utf-8, contenant des accents et des
caractères grecs, dans les noms des tags ; j'avais testé ce fichier
avec XMLlint, qui est un validateur connu. XMLlint n'avais rien signalé
d'anormal.

Donc, si cela est confirmé, cela veut dire que seuls les éditeurs
capables d'utiliser l'encodage de chaque fichier XML peut être utilisé.
Cela limite beaucoup les possibilités.

Côté Python, je suppose que les librairies XML peuvent toutes
travailler avec Unicode, et donc, ne pas poser de problèmes (même
elementtree ?), mais, pour saisir une simple requête, dans un
code-source Python, il va falloir choisir avec soin son éditeur.


Si qq pouvait confirmer ou infirmer, ça m'interesse. Merci d'avance.

--
@-salutations

Michel Claveau

8 réponses

Avatar
olive
C'est ce que j'ai compris également.

Et mon avis est j'espère que les caractères >127 ne seront jamais
utilisés pour le marquage.

J'aimerais que l'on m'explique la réelle valeur ajoutée de ce
changement.

Olive.
Avatar
MC
Bonsoir !

En pratique, je suis tombé sur le problème en réalisant un programme de
synchronisation, entre des données bibliographiques, et un hébergeur de
site.

Côté utilisateur, je recupère des données ASCII ; côté hébergeur, on me
demandait du XML, avec les noms de champs comme noms des tags. Or,
certains champs contiennent des accents, mais aussi quelques caractères
particuliers (diamètre, numéro, o-e entrelacés, a-e entrelacés).
Du coup, j'ai voulu être sûr ; j'ai donc acheté le livre, et, sur la
foi de son contenu, j'ai généré du XML 1.1, utf-8, et des tags
contenant les caractères trouvés.

Mais, si Python ne m'a posé aucun problème, l'hébergeur, lui, a hurlé
que les tags ne devaient contenir que de l'ASCII pur. En réponse, j'ai
proposé une extension au développement, pour réduire les tags à de
l'ASCII pur (repasser en XML 1.0), et à générer une table de
correspondance, dans un autre fichier XML.




--
@-salutations

Michel Claveau
Avatar
Alex Marandon
Heu vous savez, ca fait longtemps que tout le monde sait que l'encodage
par defaut de XML est UTF-8. Ca n'est pas une limitation, bien au
contraire. Si des editeurs ont des problemes avec ca, c'est une
limitation de leur cote. C'est sur que pour utiliser un format
informatique quelconque, il faut des outils adaptes, c'est une
lapalissade. Le texte ne se limite pas aux caracteres de l'ASCII 7 bits.

Vive les balises en Kanjis ou en Inuktitut !
Avatar
Méta-MCI
Bonjour !

Si UTF-8 est l'encodage par défaut, XML 1.0 est la version par défaut.
Or, cette version n'autorisait que l'ASCII pur (les 127 premiers
caractères), dans les noms des balises, et ce, quelque soit l'encodage
utilisé.

Et, vous trouverez quantité de gens (surtout des commerciaux/marketteux),
qui prétendront supporter XML (sans précisions), supporter UTF-8, UTF-16,
etc. mais seront, en pratique, incapables de lire des balises non ASCII...

@-salutations

MCI
Avatar
olive
On Feb 9, 2:53 am, Alex Marandon
wrote:
Heu vous savez, ca fait longtemps que tout le monde sait que l'encodage
par defaut de XML est UTF-8. Ca n'est pas une limitation, bien au
contraire. Si des editeurs ont des problemes avec ca, c'est une
limitation de leur cote. C'est sur que pour utiliser un format
informatique quelconque, il faut des outils adaptes, c'est une
lapalissade. Le texte ne se limite pas aux caracteres de l'ASCII 7 bits.

Vive les balises en Kanjis ou en Inuktitut !


Nous parlions des noms impliqués dans le marquage,
et non des données elles-mêmes évidemment.

Je m'occupe d'un système de publication de documents XML
multilingue (fr,en,es,de,ru,ja,zh,ar).
La DTD elle, est heureusement en anglais.

;-)

Avatar
Alex Marandon
olive wrote:
On Feb 9, 2:53 am, Alex Marandon
wrote:
Heu vous savez, ca fait longtemps que tout le monde sait que l'encodage
par defaut de XML est UTF-8. Ca n'est pas une limitation, bien au
contraire. Si des editeurs ont des problemes avec ca, c'est une
limitation de leur cote. C'est sur que pour utiliser un format
informatique quelconque, il faut des outils adaptes, c'est une
lapalissade. Le texte ne se limite pas aux caracteres de l'ASCII 7 bits.

Vive les balises en Kanjis ou en Inuktitut !


Nous parlions des noms impliqués dans le marquage,
et non des données elles-mêmes évidemment.


Oui oui, moi aussi:

http://www.opentag.com/xfaq_charrep.htm#char_nonasciitag


Avatar
Alex Marandon
Méta-MCI wrote:
Si UTF-8 est l'encodage par défaut, XML 1.0 est la version par défaut.
Or, cette version n'autorisait que l'ASCII pur (les 127 premiers
caractères), dans les noms des balises, et ce, quelque soit l'encodage
utilisé.


Ce n'est pas ce que je comprends en lisant
http://www.w3.org/TR/REC-xml/#charsets
Et apparemment xmllint est d'accord avec moi.

Et, vous trouverez quantité de gens (surtout des
commerciaux/marketteux), qui prétendront supporter XML (sans
précisions), supporter UTF-8, UTF-16, etc. mais seront, en pratique,
incapables de lire des balises non ASCII...


Ca je veux bien te croire ;)

Avatar
Alex Marandon
olive wrote:
C'est ce que j'ai compris également.

Et mon avis est j'espère que les caractères >127 ne seront jamais
utilisés pour le marquage.


Moi j'espère surtout que les caractères <32 ne seront jamais utilises ;-)