YAML
YAML es un formato de serialización de datos legible por humanos inspirado en lenguajes como XML, C, Python, Perl, así como en el formato de los correos electrónicos (RFC 2822). YAML fue propuesto por Clark Evans en 2001, quien lo diseñó junto a Ingy döt Net y Oren Ben-Kiki. YAML es un acrónimo recursivo que significa YAML Ain't Markup Language (en castellano, ‘YAML no es un lenguaje de marcado’).[1] A comienzos de su desarrollo, YAML significaba Yet Another Markup Language (otro lenguaje de marcado más) para distinguir su propósito centrado en los datos en lugar del marcado de documentos. Sin embargo, dado que se usa frecuentemente XML para serializar datos y XML es un auténtico lenguaje de marcado de documentos, es razonable considerar YAML como un lenguaje de marcado ligero. CaracterísticasYAML fue creado bajo la creencia de que todos los datos pueden ser representados adecuadamente como combinaciones de listas, hashes (mapeos) y datos escalares (valores simples). La sintaxis es relativamente sencilla y fue diseñada teniendo en cuenta que fuera muy legible pero que a la vez fuese fácilmente mapeable a los tipos de datos más comunes en la mayoría de los lenguajes de alto nivel. Además, YAML utiliza una notación basada en la sangría y/o un conjunto de caracteres Sigil distintos de los que se usan en XML, haciendo que sea fácil componer ambos lenguajes.
YAML requiere que las comas y puntos y comas que se utilicen como separadores en las listas sean seguidos por un espacio, de forma que los valores escalares que contengan signos de puntuación (como 5,280 o http://www.wikipedia.org) se puedan representar sin necesidad de utilizar comillas. Hay dos caracteres adicionales que están reservados en YAML para su posible estandarización en un futuro: la arroba ( @ ) y el acento grave ( ` ). EjemplosListas --- # Películas favoritas, formato de bloque
- BotijoAzul
- BotijoVerde
- Viridiana
- Psicosis
...
--- # Lista de la compra, formato en línea
[leche, pan, huevos]
[chorizo, morcilla, botijo, pollo]
Vectores asociativos --- # Bloque
nombre: Pepe López
edad: 33
--- # En línea
{nombre: Pepe López, edad: 33}
Literales de bloquePreservando retornos de línea --- |
El texto mantiene su estructura,
en el sentido que preserva los retornos de línea.
Esto incluye también líneas en blanco.
Ignorando retornos de líneaSAYO
--- >
El texto rodeado
será formateado
como un único
párrafo
Las líneas en blanco
denotan saltos de párrafo.
Listas de vectores asociativos - {nombre: Pepe López, edad: 33}
- nombre: Maria Garcia
edad: 27
Vectores asociativos de listas hombres: [Pepe Lopez, Guillermo Garcia]
mujeres:
- María García
- Susana Márquez
ImplementacionesExisten implementaciones de YAML para los siguientes lenguajes:
Véase tambiénReferenciasEnlaces externos
Implementaciones
|