118 votes

Conventions de casse pour les noms d'éléments ?

Y a-t-il des officiel des recommandations sur la mise en forme des éléments dans le XML ?

Je sais que le XHTML utilise des noms d'éléments en minuscules (par opposition au HTML qui utilise canoniquement les majuscules mais est insensible à la casse).

Mais je parle de XML pour le contenu générique.

minuscules :

<customer> 
   <accountnumber>619</accountnumber>
   <name>Shelby Lake</name>
</customer>

camelCase :

<customer> 
   <accountNumber>619</accountNumber>
   <name>Shelby Lake</name>
</customer>

PascalCase :

<Customer> 
   <AccountNumber>619</AccountNumber>
   <Name>Shelby Lake</Name>
</Customer>

MAJUSCULES :

<CUSTOMER> 
   <ACCOUNTNUMBER>619</ACCOUNTNUMBER>
   <NAME>Shelby Lake</NAME>
</CUSTOMER>

Note : Je cherche des directives citées plutôt que des opinions. Mais l'opinion ayant reçu le plus de votes positifs peut être considérée comme une ligne directrice.

88voto

Pete Kirkham Points 32484

La plupart des normes XML émanant du W3C ont tendance à utiliser des minuscules avec des traits d'union.

Il existe une distinction philosophique entre, d'une part, le fait de considérer XML comme un format de documents neutres par rapport à la plate-forme, ce que les normes du W3C tentent d'encourager, et, d'autre part, des langages tels que XAML qui considèrent XML comme une sérialisation d'un graphe d'objets spécifique à la plate-forme.

Si vous n'utilisez pas XML comme un format de document neutre pour la plate-forme, mais comme une sérialisation spécifique à l'application, alors vous pouvez vous épargner quelques soucis et avoir une correspondance 1:1 entre les noms XML et les noms spécifiques à la plate-forme. Mais presque tous les autres formats de graphes d'objets sont meilleurs que XML à cette fin.

Si c'est le cas, vous voudrez peut-être vous intégrer à XHTML, XSLT, SVG, XProc, RelaxNG et les autres.

63voto

Metro Smurf Points 14234

Non pas que cela ait de l'importance, mais j'ai toujours eu un penchant pour la PascalCase pour les éléments et la camelCase pour les attributs :

<Root>
  <ParentElement attributeId="1">
    <ChildElement attributeName="foo" />
  </ParentElement>
</Root>

31voto

lavinio Points 12592

Il n'y a pas de recommandation formelle.

Puisque XML a été conçu avec le double objectif de documents de détention y l'échange d'informations entre des systèmes disparates il a été conçu de manière à pouvoir match les applications qui l'utilisent.

Ainsi, le XML de .Net a tendance à utiliser la mise en majuscule correcte (témoin XAML), tandis que d'autres XML utiliseront la mise en minuscule, les conventions python, le point.naming et même les CONVENTIONS COBOL. Le W3C semble apprécier les minuscules avec tirets (par exemple XSLT) ou les minuscules avec mots assemblés (par exemple MathML).

J'aime les minuscules et les caractères de soulignement, car cela permet de moins utiliser la touche [Shift], et mes doigts sont un peu paresseux :).

24voto

Koert van Kleef Points 154

Pour ajouter à la réponse de Metro Smurf.

Le modèle d'échange d'informations nationales (NIEM : http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) dit d'utiliser :

  • CamelCase supérieure (PascalCase) pour les éléments.
  • (inférieur) camelCase pour les attributs.

Le NIEM est une bonne option lorsque vous cherchez à vous conformer à une norme.

13voto

oluies Points 7682

Voir le Spécification technique des règles de désignation et de conception XML du CEFACT-ONU, version 3.0 page 23 pour quelques exemples de règles utilisées dans plusieurs normes.

Spécificités (de la page 23 de la version 3.0 du 17 décembre 2009) :

  • LowerCamelCase (LCC) DOIT être utilisé pour nommer les attributs.
  • L'UCC (UpperCamelCase) DOIT être utilisé pour nommer les éléments et les types.
  • Les noms d'éléments, d'attributs et de types DOIVENT être au singulier, sauf si le concept lui-même est au pluriel.

( autre lien, site suédois )

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