93 votes

Existe-t-il une convention de dénomination standard pour les éléments XML?

Existe-t-il une norme, de facto ou autre, pour les documents XML? Par exemple, quel est le "meilleur" moyen d'écrire une balise?

 <MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
 

De même si j'ai une valeur énumérée pour un attribut qui est mieux

 <myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
 

44voto

Marc Gravell Points 482669

Je soupçonne que les valeurs les plus communes seraient camelCased - à savoir

 <myTag someAttribute="someValue"/>
 

En particulier, les espaces causent quelques problèmes si on les mélange avec des générateurs de code (c'est-à-dire pour [sérialiser] xml en objets), car peu de langages autorisent les énumérations avec des espaces (exigeant un mappage entre les deux).

13voto

PhiLho Points 23458

Pour moi, c'est comme discuter du style de code d'un langage de programmation: certains d'argumenter en faveur d'un style, d'autres vont défendre une alternative. Le seul consensus que j'ai vu est: "Choisissez un style et d'être cohérent"!

Je viens de noter que beaucoup de dialectes XML suffit d'utiliser des noms minuscules (SVG, Ant, XHTML...).

Je ne comprends pas le "sans les espaces dans les valeurs des attributs de la règle". En quelque sorte, il envoie le débat "quoi mettre dans les attributs et quoi mettre comme texte?".
Peut-être que ce ne sont pas les meilleurs exemples, mais il y a certains bien connus des formats XML, l'utilisation d'espaces dans les attributs:

  • XHTML, en particulier de l'attribut de classe (vous pouvez mettre deux classes ou plus) et bien sûr des attributs alt et title.
  • SVG, avec par exemple le d attribut de la balise ' chemin.
  • À la fois avec l'attribut style...

Je ne comprends pas tout les arguments contre la pratique (semblent s'appliquer à certains usages seulement), mais c'est légal au moins, et très largement utilisé. Avec des inconvénients, apparemment.

Oh, et vous n'avez pas besoin d'un espace à l'avant de l'auto-barre oblique de fermeture. :-)

12voto

Raithlin Points 1625

Je préfère TitleCase pour les noms d'éléments et camelCase pour les attributs. Aucun espace pour l'un ou l'autre.

 <AnElement anAttribute="Some Value"/>
 

En passant, j'ai effectué une recherche rapide des meilleures pratiques en XML et proposé ce lien plutôt intéressant: Schémas XML: meilleures pratiques .

8voto

annakata Points 42676

J'aurais tendance à préférer les balises minuscules ou camelcase et, comme les attributs devraient généralement refléter les valeurs de données - et non le contenu -, je m'attacherais à une valeur qui pourrait être utilisée comme nom de variable dans la plate-forme / langue de votre choix, par exemple en évitant les espaces. deux formes pourraient être ok

8voto

alistair Points 509

C'est subjectif, mais si il y a deux mots dans la balise de l'élément, la lisibilité peut être améliorée par l'ajout d'un trait de soulignement entre les mots (par exemple, <my_tag>) au lieu d'utiliser aucun séparateur. Référence: http://www.w3schools.com/xml/xml_elements.asp. Ainsi, selon w3schools la réponse serait:

<my_tag attribute="some value">

La valeur n'a pas besoin d'utiliser un trait de soulignement ou un séparateur, car vous êtes autorisé espaces dans les valeurs d'attributs, mais pas dans les noms des balises d'éléments.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X