Conventions de cas sur les noms d’éléments?

Existe-t-il des recommandations formelles sur le casse des éléments en XML?

Je sais que XHTML utilise des noms d’éléments en minuscules (contrairement au HTML qui utilise canoniquement des majuscules mais est insensible à la casse).

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

minuscule:

 619 Shelby Lake  

affaire de chameau:

  619 Shelby Lake  

PascalCase:

  619 Shelby Lake  

MAJUSCULE:

  619 Shelby Lake  

Note: Je recherche des directives citées plutôt que des opinions. Mais l’opinion avec le plus grand nombre de votes peut être considérée comme une ligne direcsortingce.

La plupart des normes XML provenant du W3C ont tendance à utiliser des tirets en minuscule.

Il existe une distinction philosophique entre voir XML comme format pour les documents neutres, que les normes W3C essaient d’encourager, et les langages tels que XAML qui considèrent XML comme une sérialisation d’un graphe d’objects spécifique à une plate-forme.

Si vous n’utilisez pas XML en tant que format de document neutre pour une plate-forme, mais en tant que sérialisation spécifique à une application, vous pourriez aussi vous épargner quelques soucis et avoir une correspondance 1: 1 entre les noms XML et les noms spécifiques à la plate-forme. Mais presque tout autre format de graphe d’object est meilleur que XML à cette fin.

Si vous êtes, alors vous voudrez peut-être intégrer XHTML, XSLT, SVG, XProc, RelaxNG et le rest.

Ce n’est pas grave, mais j’ai toujours été partial envers PascalCase pour Elements et camelCase pour les atsortingbuts:

      

Il n’y a pas de recommandation formelle.

Puisque XML a été conçu dans le double but de contenir des documents et d’ échanger des informations entre des systèmes disparates , il a été conçu pour pouvoir correspondre aux applications qui l’utilisent.

Ainsi, .Net XML a tendance à utiliser ProperCasing (témoin XAML), tandis que d’autres XML utiliseront camelCasing, python_conventions, dot.naming et même COBOL-CONVENTIONS. Le W3C semble aimer les minuscules-avec-tirets-tout-à-peu (par exemple XSLT) ou simplement remplir les mots-clés (par exemple, MathML).

J’aime toutes les minuscules et aucun trait de soulignement, car cela signifie que vous utilisez moins la touche [Shift] et que mes doigts sont un peu paresseux. 🙂

Ajouter à la réponse de Metro Smurf.

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

  • Upper CamelCase (PascalCase) pour les éléments.
  • (inférieur) camelCase pour les atsortingbuts.

Le NIEM constitue une bonne option lorsque vous souhaitez vous conformer à certaines normes.

Voir la spécification technique de conception et de conception XML du CEFACT-ONU, version 3.0, page 23 pour certains exemples de règles utilisées dans plusieurs normes.

Particularités (à partir de la page 23 de la version 3.0 du 17 décembre 2009):

  • LowerCamelCase (LCC) DOIT être utilisé pour nommer les atsortingbuts.
  • UpperCamelCase (UCC) DOIT être utilisé pour nommer les éléments et les types.
  • Les noms d’éléments, d’atsortingbuts et de types DOIVENT être au singulier, à moins que le concept lui-même ne soit pluriel.

( autre lien, site suédois )

Pour développer mon commentaire ci – dessus : l’utilisation de ‘minuscules avec des traits d’union’ pose quelques problèmes dans XSLT. Plus précisément, il est facile de confondre un nœud appelé, par exemple, «année / âge» avec une formule «âge» (par exemple, soustraire l’âge de l’année).

Comme le souligne @KarlKieninger, ce n’est qu’un problème au niveau humain et non pour l’parsingur XSLT. Cependant, comme cela ne produira souvent pas d’erreur , l’utilisation de «minuscules avec des tirets» comme norme pose problème, à mon humble avis.

Quelques exemples pertinents:

 11  outputs 2, as expected 11  DOES NOT ERROR, BUT OUTPUTS NOTHING AT ALL 

Dans le code ci-dessus, vous devez placer au moins un espace avant un opérateur de soustraction, mais il n’existe aucune exigence de ce type pour un opérateur d’addition.

 11  outputs 0, as expected 

Mais notez à quel point ce qui précède est à lire!

 132  outputs 3 132  outputs -1 

La présence d’un seul espace modifie la sortie ci-dessus, mais aucune des deux variantes n’est une erreur.

Le guide de style de Google recommande (peut-être même des mandats) camelCase pour tous les noms d’éléments, ainsi que les noms d’atsortingbuts.

L’intention d’origine pour le boîtier XML était en minuscule avec des tirets. Il est sensible à la casse et ne nécessite pas de suivre cette convention – vous pouvez donc faire ce que vous voulez. Je n’ai pas de citations, désolé.

Je ne dirais pas que HTML “canoniquement” utilise des majuscules. Je pense qu’au départ, les majuscules étaient utilisées pour séparer plus facilement le HTML du contenu. Avec la mise en évidence de la syntaxe de nos jours, ce n’est tout simplement pas nécessaire.

Je me dirige vers les minuscules, avec des tirets si nécessaire (plus rapide à taper aussi). Le mélange de cas en XML ne me semble pas correct.

Le cas de chameau obtient mon vote.

En ce qui concerne les exemples cités, cette question peut venir du lien que les gens citent.