100 % local — vos données ne quittent jamais votre navigateur

YAML en XML — des noms d’éléments qui passent

Convertissez du YAML en XML. Les clés impossibles en noms d’éléments sont réparées et les collisions suffixées : le document s’analyse du premier coup.

Instantané Privé Zéro cookie
Indentation

Entrée YAML

Sortie XML

Ce que fait cet outil

Les clés deviennent des éléments, les valeurs leur contenu.

utilisateur:
  nom: Ada
  naissance: 1815
<utilisateur>
  <nom>Ada</nom>
  <naissance>1815</naissance>
</utilisateur>

Un document à plusieurs clés racines est emballé dans <root>, XML n’admettant qu’un seul élément racine.

Les clés sont réparées, pas émises cassées

Un nom d’élément XML ne peut pas contenir d’espace, ne peut pas commencer par un chiffre, et se limite à un jeu de caractères précis :

cléélément
user name<user_name>
2nd<_2nd>
user-name<user-name> (déjà légal)

Écrire la clé telle quelle produirait un fichier qui ressemble à du XML et qu’aucun analyseur n’acceptera — le genre de sortie qui échoue bien plus tard, ailleurs.

Deux clés qui se réparent en un même nom

user name et user_name veulent toutes deux être user_name. La seconde devient user_name_1.

L’autre option serait de laisser l’une écraser l’autre, et une valeur qui disparaît sans un mot est précisément ce que cet outil s’efforce d’éviter.

Les listes deviennent des éléments répétés

items:
  - 1
  - 2
<items>
  <item>1</item>
  <item>2</item>
</items>

XML n’a pas de type liste : la répétition est la liste. Le nom item doit bien venir de quelque part, et le YAML n’en propose aucun.

Les attributs, si vous en voulez

Une clé écrite "@_id" devient un attribut, et "#text" devient le texte de l’élément :

"@_id": 1
"#text": bonjour
<root id="1">bonjour</root>

C’est la convention qu’émet le sens XML vers YAML : l’aller-retour garde sa forme.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Qu’advient-il d’une clé qui n’est pas un nom d’élément valide ?
Elle est réparée. Un nom XML ne peut pas contenir d’espace ni commencer par un chiffre : `user name` devient `user_name` et `2nd` devient `_2nd`. Émettre la clé telle quelle produirait un document qu’aucun analyseur ne lira — un fichier qui a l’air correct jusqu’à ce qu’on tente de l’ouvrir.
Et si deux clés se réparent en un même nom ?
`user name` et `user_name` donneraient toutes deux `user_name` : la seconde reçoit un suffixe, `user_name_1`. Les fondre ferait disparaître une valeur en silence, c’est-à-dire l’accident que toute cette page existe pour éviter.
Puis-je produire des attributs plutôt que des éléments ?
Oui. Une clé écrite `"@_id"` devient l’attribut `id`, et une clé `"#text"` devient le texte de l’élément. C’est la convention que produit le sens XML vers YAML : un document converti en YAML puis reconverti retrouve sa forme.

Convertisseurs associés