Qué hace esta herramienta
El documento se convierte en un mapa YAML, con la misma forma que produce XML a JSON: atributos como claves con prefijo @_, texto bajo #text cuando un elemento lleva ambos, y una secuencia cuando un elemento se repite.
<user id="1"><name>Ada</name></user>
user:
name: Ada
"@_id": "1"
Por qué esas claves van entrecomilladas
Dos de los caracteres que produce esta correspondencia están reservados en YAML.
@ no puede empezar un escalar simple —la especificación lo reserva—, así que @_id debe ir entre comillas. # abre un comentario: #text sin comillas haría desaparecer el resto de la línea. Las comillas no son adorno; son la única forma de escribirlos.
Por qué algunos valores también
YAML tiene dos versiones de uso extendido, y no coinciden en lo que significa una palabra desnuda.
| escrito sin comillas | YAML 1.2 lee | YAML 1.1 lee |
|---|---|---|
NO | la cadena NO | falso |
yes | la cadena yes | verdadero |
12:30 | la cadena 12:30 | 750 (sexagesimal) |
2026-01-01 | la cadena | una marca de tiempo |
YAML 1.2 es lo que escriben la mayoría de las bibliotecas de JavaScript. YAML 1.1 es lo que implementa PyYAML, y PyYAML es con lo que una parte enorme del mundo lee YAML de verdad.
Un código de país NO escrito sin comillas se convierte en False en Python. Ese es el «problema noruego», y nada en el archivo lo señala: el documento sigue siendo válido, simplemente deja de significar lo mismo.
Esta herramienta entrecomilla exactamente esos escalares ambiguos, y solo esos. Un booleano de verdad sigue siendo true, un null de verdad sigue siendo null, una palabra corriente se queda desnuda. La salida es YAML 1.2 válido, y ambos lectores encuentran en ella los mismos valores.
Texto de varias líneas
Un texto con saltos de línea se convierte en un escalar de bloque:
a: |-
primera línea
segunda línea
Es la forma legible que YAML prevé justo para esto, y va y vuelve sin escapes.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.