Question

Pourquoi voudrait-on choisir YAML plutôt que XML ou tout autre format?

Était-ce utile?

La solution

Je suis d’accord avec Sergio; YAML fournit un format facilement modifiable par les humains, mais également un bon moyen de représenter proprement des structures de données.

YAML a tendance à être beaucoup plus lisible, IMO.

YAML est davantage une technique de sérialisation de données que de langage de balisage.

Autres conseils

Les principaux avantages de

YAML sont la lisibilité et la compacité. Oh, et il est largement pris en charge sur différentes plates-formes et langues.

YAML est très populaire dans la communauté Ruby, où il est principalement utilisé de préférence au XML pour les fichiers de configuration dans Rails et Merb par exemple.

Je choisirais YAML si les documents devaient être édités ou créés par des humains. Juste une pensée.

  

Pour quel type d'application / d'utilisation YAML convient-il le mieux?

Il est difficile de répondre clairement. Au lieu de cela, je vais essayer de donner quelques exemples de ce que YAML n'est pas bon pour (à mon humble avis).

<name type="string">Orion</name>
<age type="integer">26</age>

C’est le cas dans lequel il est utile de mélanger les attributs et les valeurs en XML. YAML n'a pas d'attributs, vous devez donc utiliser l'inférence de type pour décider de la date / de l'entier / de la chaîne / etc. - cela échoue pour les types complexes ou définis par l'utilisateur.

<user>
  .... 10 lines of stuff
  <sub-user>
    ...15 more lines of stuff
  </sub-user>
  .... 10 more lines of stuff belonging to user
</user>

Il s'agit d'un cas où les balises de fermeture en XML offrent de nombreux avantages. Si vous deviez formater les données ci-dessus en YAML, en utilisant uniquement l'indentation pour fournir une "portée", il serait beaucoup plus difficile de dire où les choses commencent et se terminent.

Pour faire bonne mesure, voici une citation tirée de la spécification officielle de yaml sur yaml.org

  

YAML est principalement un langage de sérialisation de données. XML a été conçu pour être rétro-compatible avec le langage SGML (Standard Generalized Markup Language) et a donc été soumis à de nombreuses contraintes de conception que YAML ne partage pas. Héritage de l’héritage de SGML, XML est conçu pour prendre en charge la documentation structurée, dans laquelle YAML s’intéresse davantage aux structures de données et à la messagerie. Là où XML est un pionnier dans de nombreux domaines, YAML est le résultat des leçons tirées de XML et d’autres technologies.

J'utilise YAML comme solution de rechange simple et peu coûteuse à l'écriture d'un langage propre à un domaine (en particulier dans les cas où d'autres développeurs effectueraient une maintenance; je ne suis pas sûr de l'utiliser quand des non-développeurs le maintiendraient)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top