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

Existe-t-il un standard, de facto ou non, pour les documents XML? Par exemple, quel est le “meilleur” moyen d’écrire un tag?

     

De même si j’ai une valeur énumérée pour un atsortingbut qui est meilleur

    

Je soupçonne que les valeurs les plus communes seraient camelCased – c.-à-d.

  

En particulier, les espaces provoquent quelques problèmes s’ils sont mélangés avec des générateurs de code (c.-à-d. Sérialiser xml sur des objects), car peu de langues autorisent les énumérations avec des espaces (exigeant un mappage entre les deux).

Règles de nommage XML

Les éléments XML doivent suivre ces règles de nommage:

  - Element names are case-sensitive - Element names must start with a letter or underscore - Element names cannot start with the letters xml(or XML, or Xml, etc) - Element names can contain letters, digits, hyphens, underscores, and periods - Element names cannot contain spaces 

N’importe quel nom peut être utilisé, aucun mot n’est réservé (sauf xml).

Meilleures pratiques de nommage

  - Create descriptive names, like this: , , . - Create short and simple names, like this:  not like this: . - Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first". - Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first". - Avoid ":". Colons are reserved for namespaces (more later). - Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them. 

Styles de nommage

Il n’y a pas de styles de nommage définis pour les éléments XML. Mais voici quelques exemples couramment utilisés:

  - Lower case  All letters lower case - Upper case  All letters upper case - Underscore  Underscore separates words - Pascal case  Uppercase first letter in each word - Camel case  Uppercase first letter in each word except the first 

référence http://www.w3schools.com/xml/xml_elements.asp

Pour moi, c’est comme discuter d’un style de code pour un langage de programmation: certains vont défendre un style, d’autres vont défendre une alternative. Le seul consensus que j’ai vu est: “Choisissez un style et soyez cohérent”!

Je note juste que beaucoup de dialectes XML utilisent simplement des noms minuscules (SVG, Ant, XHTML …).

Je n’ai pas la règle “pas d’espaces dans les valeurs d’atsortingbuts”. D’une manière ou d’une autre, il envoie au débat “que mettre en atsortingbuts et que mettre en texte?”.
Ce ne sont peut-être pas les meilleurs exemples, mais certains formats XML bien connus utilisent des espaces dans les atsortingbuts:

  • XHTML, en particulier l’atsortingbut class (vous pouvez mettre deux classes ou plus) et bien sûr les atsortingbuts alt et title.
  • SVG, avec par exemple l’atsortingbut d de la balise path.
  • Les deux avec atsortingbut de style …

Je ne comprends pas bien les arguments contre la pratique (semblent s’appliquer uniquement à certaines utilisations) mais il est au moins légal et assez largement utilisé. Avec des inconvénients, apparemment.

Oh, et vous n’avez pas besoin d’espace avant la barre de fermeture automatique. 🙂

Je privilégie TitleCase pour les noms d’élément et camelCase pour les atsortingbuts. Pas de place non plus.

  

En passant, j’ai fait une recherche rapide des meilleures pratiques en XML et j’ai trouvé ce lien plutôt intéressant: les schémas XML: Meilleures pratiques .

J’aurais tendance à privilégier les balises minuscules ou camelcase et puisque les atsortingbuts devraient généralement refléter les valeurs des données – et non leur contenu – je m’en tiendrai à une valeur pouvant être utilisée comme nom de variable, deux formes pourraient être ok

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

  

La valeur n’a pas besoin d’utiliser un trait de soulignement ou un séparateur, car vous êtes autorisé à insérer des espaces dans les valeurs d’atsortingbut, mais pas dans les noms de balise d’élément.

De nombreux dialectes XML centrés sur les documents utilisent des caractères latins et des tirets minuscules. J’ai tendance à aller avec ça.

Les générateurs de code qui mappent XML directement aux identificateurs de langage de programmation sont fragiles et (à l’exception de la sérialisation d’object naïve, telle que XAML) doivent être évités dans les formats de document portables; Pour une meilleure réutilisation et une meilleure longévité des informations, le XML devrait essayer de correspondre au domaine et non à l’implémentation.

rss est probablement l’un des schémas XML les plus consommés au monde et il est camelCased.

Spec est ici: http://cyber.law.harvard.edu/rss/rss.html

Certes, il n’a pas d’atsortingbut de noeud dans le schéma, mais tous les noms d’élément de noeud sont de type camelCased. Par exemple:

dernierBuildDate ManagingEditor pubDate

J’aligne normalement la convention de nommage XML avec la même convention de dénomination dans les autres parties du code. La raison en est que lorsque je charge le XML dans Object, ses atsortingbuts et noms d’élément peuvent être considérés comme la même convention de dénomination actuellement utilisée dans le projet.

Par exemple, si votre javascript utilise camelCase, votre XML utilise également camelCase.

Microsoft adopte deux conventions:

  1. Pour la configuration , Microsoft utilise camelCase . Regardez le fichier de configuration de Visual Studio. Pour VS2013, il est stocké dans:

    C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config

Exemple:

    
  1. Microsoft utilise également UpperCase pour leur XAML. Je suppose que c’est pour différencier le HTML (qui utilise les minuscules).

Exemple:

      

Il n’y a pas de recommandation explicite. Sur la base d’autres recommandations du W3C, celle du XHTML , j’ai opté pour les minuscules:

4.2. Les noms d’éléments et d’atsortingbuts doivent être en minuscules

Les documents XHTML doivent utiliser des minuscules pour tous les noms d’éléments et d’atsortingbuts HTML. Cette différence est nécessaire car XML est sensible à la casse, par exemple

  • et
  • sont des balises différentes.
  • Règles de nommage XML

    Les éléments XML doivent suivre ces règles de nommage:

    • Les noms peuvent contenir des lettres, des chiffres et d’autres caractères
    • Les noms ne peuvent pas commencer par un chiffre ou un caractère de ponctuation
    • Les noms ne peuvent pas commencer par les lettres xml (ou XML, ou XML, etc.)
    • Les noms ne peuvent pas contenir d’espaces N’importe quel nom peut être utilisé, aucun mot n’est réservé.

    Source: W3 School

    J’ai beaucoup cherché une bonne approche, en lisant également ce fil et quelques autres, et je voterais pour l’ utilisation des tirets .

    Ils sont largement utilisés dans ARIA ( https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA ). Ils peuvent être vus dans de nombreux codes sources et sont donc courants. Comme déjà souligné ici, ils sont certainement autorisés, ce qui est également expliqué ici: Utilisation du nom de l’élément XML – in

    Également comme avantage secondaire: lorsque vous écrivez du code HTML en combinaison avec CSS, vous avez souvent des classes dont les noms utilisent des tirets comme séparateur par défaut. Maintenant, si vous avez des balises personnalisées qui utilisent des classes CSS ou des atsortingbuts personnalisés pour les balises qui utilisent des classes CSS, alors quelque chose comme:

    est plus cohérent et lit – à mon humble avis – beaucoup plus agréable que: