TOML

De Wikipedia, la enciclopedia libre
TOML
Desarrollador
Tom Preston-Werner
github.com/toml-lang/toml
Información general
Extensión de archivo .toml
Tipo de MIME no registrado
Lanzamiento inicial 23 de febrero de 2013
Última versión v1.0.0
Tipo de formato Intercambio de datos
Extendido de INI
Formato abierto Sí 

TOML es un formato de archivo de configuración que es fácil de leer debido a la semántica obvia que pretende ser "mínima". TOML está diseñado para mapear inequívocamente un diccionario.

"TOML", el nombre, es un acrónimo de "Tom's Obvious, Minimal Language"[1]​ que hace referencia a su creador: Tom Preston-Werner.

TOML se utiliza en varios proyectos de software[2]​ y es implementado en un gran número de lenguajes de programación,[3][4]​ a pesar de haber sido etiquetado por su autor como una especificación inestable en espera de la realización de la versión 1.0.[1]

TOML está inspirado en la sintaxis del archivo .INI, pero con una especificación más formal.[5]

Sintaxis[editar]

La sintaxis de TOML se compone en gran parte de pares clave = "valor", [nombres de sección] y #comentarios.

Tiene un parecido a la sintaxis de los archivos .INI, pero éstos carecen de una especificación formal, lo que ha hecho que surjan distintas variantes de archivos INI. La sintaxis de TOML carece de estas ambigüedades al estar formalmente definida.[6]

Especifica una lista de tipos de datos soportados: String, Integer, Float, Boolean, Datetime, Array y Table.

Ejemplo[editar]

# Este es un documento TOML.

title = "Ejemplo de TOML"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # Soporta fechas de forma nativa

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]

  # La sangría (tabulaciones y/o espacios) está permitida pero no es obligatoria
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# Los saltos de línea son válidos dentro de arrays
hosts = [
  "alpha",
  "omega"
]

Enlaces externos[editar]

Referencias[editar]