J'ai entendu dire que l'utilisation de guillemets simples pour entourer les valeurs d'attribut XML est un "mauvais style". Est-ce correct?
Dois-je toujours écrire:
<element attr="value">
Ou est-il acceptable d'écrire:
<element attr='value'>
Ou peu importe le style que j'utilise?
Les deux sont légaux. Choisissez-en un et respectez-le. Ça n'a pas d'importance.
De la spec :
AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
Montrer que les deux sont valides, tout comme le mélange des deux styles au sein d'un élément, par attribut (bien que je suggère d'être cohérent au sein d'un même document/ensemble de documents).
Les guillemets doubles sont plus habituels, et il est tout à fait acceptable pour une communauté particulière d'adopter un style maison dans un souci de cohérence, mais une déclaration générale selon laquelle une façon de le faire est meilleure n'a aucune justification.
Il est également dangereux de faire de telles recommandations, car cela encourage les "pirates informatiques désespérés" qui tentent d'analyser XML à l'aide d'expressions régulières au lieu d'utiliser un véritable analyseur XML, et ne réussissent invariablement qu'à gérer un sous-ensemble de ce que XML autorise légalement.
J'ai tendance à utiliser des guillemets simples pour plus de commodité si je génère du XML à la main à partir d'applications Java - même si je suis de plus en plus enclin à penser que le XML généré à la main est presque aussi dangereux que la main- l'analyse.