YAML


YAML ( /ˈjæməl/ y YAH-ml ) ( ver § Historia y nombre ) es un lenguaje de serialización de datos legible por humanos . Se usa comúnmente para archivos de configuración y en aplicaciones donde se almacenan o transmiten datos. YAML tiene como objetivo muchas de las mismas aplicaciones de comunicaciones que el lenguaje de marcado extensible (XML), pero tiene una sintaxis mínima que difiere intencionalmente de SGML . [1] Utiliza sangría de estilo Python para indicar el anidamiento y un formato más compacto que se utiliza para listas y mapas [1] , por lo tanto, JSON[...]{...}Los archivos son YAML 1.2 válidos. [2]

Se permiten tipos de datos personalizados, pero YAML codifica de forma nativa escalares (como cadenas , enteros y flotantes ), listas y matrices asociativas (también conocidas como mapas, diccionarios o hashes). Estos tipos de datos se basan en el lenguaje de programación Perl , aunque todos los lenguajes de programación de alto nivel comúnmente utilizados comparten conceptos muy similares. [3] [4] [5] La sintaxis centrada en dos puntos, utilizada para expresar pares clave-valor , está inspirada en los encabezados de correo electrónico como se define en RFC  822 , y el separador de documentos ---se toma prestado de MIME ( RFC 2046 ). Las secuencias de escape se reutilizan desde C y el ajuste de espacios en blanco para cadenas de varias líneas está inspirado en HTML . Las listas y hashes pueden contener listas y hashes anidados, formando una estructura de árbol ; los gráficos arbitrarios se pueden representar usando alias YAML (similar a XML en SOAP ). [1] YAML está diseñado para ser leído y escrito en secuencias, una característica inspirada en SAX . [1] 

El soporte para leer y escribir YAML está disponible para muchos lenguajes de programación. [6] Algunos editores de código fuente como Vim , [7] Emacs , [8] y varios entornos de desarrollo integrados [9] [10] [11] tienen funciones que facilitan la edición de YAML, como plegar estructuras anidadas o resaltando errores de sintaxis.

YAML ( / ˈ j æ m əl / , rima con camel [2] ) fue propuesto por primera vez por Clark Evans en 2001, [13] quien lo diseñó junto con Ingy döt Net [14] y Oren Ben-Kiki. [14] Originalmente, se decía que YAML significaba otro lenguaje de marcas , [15] porque se lanzó en una era en la que proliferaban los lenguajes de marcas para la presentación y la conectividad (HTML, XML, SGML, etc.). Su nombre inicial pretendía ser una referencia irónica [16] al panorama tecnológico, haciendo referencia a su propósito como lenguaje de marcado.con otra construcción más, pero luego se reutilizó como YAML Ain't Markup Language , un acrónimo recursivo , para distinguir su propósito como orientado a datos, en lugar de marcado de documentos.

Una hoja de trucos y la especificación completa están disponibles en el sitio oficial. [17] La ​​siguiente es una sinopsis de los elementos básicos.

YAML acepta todo el conjunto de caracteres Unicode, excepto algunos caracteres de control , y se puede codificar en UTF-8 , UTF-16 o UTF-32 . (Aunque UTF-32 no es obligatorio, se requiere que un analizador tenga compatibilidad con JSON ). [18]