Lenguaje de marcado
BeerXML es un estándar de descripción de datos XML totalmente definido y gratuito [3] diseñado para el intercambio de recetas de elaboración de cerveza [4] y otros datos de elaboración de cerveza . Las tablas de recetas, así como otros registros como los cronogramas de lúpulo y las facturas de malta , se pueden representar mediante BeerXML para su uso por parte del software de elaboración de cerveza .
BeerXML es un estándar abierto y un subconjunto del lenguaje de marcado extensible ( XML ). BeerXML es un lenguaje de marcado que define un conjunto de reglas para codificar documentos en un formato legible tanto para humanos como para máquinas .
BeerXML es compatible con varios sitios web, programas informáticos [5] [6] y un número cada vez mayor de aplicaciones para Android [7] Windows Phone [8] e iOS. [9] [10]
Se han escrito complementos y extensiones compatibles con BeerXML para una variedad de plataformas, incluidas Ruby a través de RubyGems , [11] WordPress , [12] PHP [13] y JavaScript [14].
Muchos fabricantes de hardware de elaboración de cerveza incorporan BeerXML en sus sistemas [15] [16] [17] y se están desarrollando complementos y parches de terceros para el hardware de control de la cervecería y los sistemas integrados [18], lo que permite la automatización, el control fino y la sincronización de procesos como la maceración [19] y potencialmente la fermentación .
Aplicaciones comunes y ejemplos de uso
BeerXML se utiliza tanto en la elaboración de cerveza amateur [20] como en la profesional [21] y facilita el intercambio de datos de elaboración de cerveza a través de Internet . [22] Los usuarios de diferentes aplicaciones, como el software de código abierto [23] Brewtarget (con más de 52.000 descargas [24] ) pueden compartir datos a través de XML con usuarios de software propietario popular como Beersmith y ORRTIZ: BMS 4 Breweries o cargar sus datos para compartirlos en sitios de intercambio compatibles con BeerXML y plataformas en la nube como Brewtoad (más de 50.000 usuarios registrados [25] ) o Beersmith Recipe Cloud (con 43.000 usuarios registrados). Un usuario de un sitio de diseño, creación e intercambio de recetas como Brewersfriend.com puede importar y exportar [26] BeerXML hacia y desde aplicaciones móviles o ingresarlo en una base de datos de competencia de elaboración de cerveza [27] como el sistema The Brew Competition Online Entry & Management (BCOE&M).
La adopción de BeerXML como estándar está dando lugar a nuevos desarrollos, como las bases de datos de ingredientes [28], que intentan estandarizar las definiciones y características de los ingredientes. Los cerveceros pueden utilizar plataformas como Brewblogger.com para crear recetas y registrar su día de elaboración para publicarlas en un blog y exportarlas a bases de datos [29] [30] y aplicaciones de hojas de cálculo comunes . [31]
Las aplicaciones JavaScript como brauhaus.js (desarrollada a partir del sitio para compartir recetas Malt.io [32] ) permiten a los usuarios ejecutarlas en una máquina local o en un navegador web para su ejecución a través de cualquier navegador web compatible con los estándares.
Campos admitidos
Los siguientes campos forman la información central de la estructura BeerXML
Nombre de la receta Cervecero Método de elaboración (grano entero, maceración parcial, extracto ) Tipo de receta ( Ale , Lager , Híbrida, etc.) Volumen de la receta (duración de la tirada) Volumen de ebullición ( tamaño del mosto ) Tiempo de ebullición (duración) Eficiencia de la receta Valores estimados OG ( Gravedad original ) FG ( Gravedad final ) Color (SRM) Amargor ( IBU ) Contenido de alcohol (%abv)
Nombre Origen Descripción Ácidos alfa Ácidos beta Capacidad de almacenamiento (HSI) Humuleno Cariofileno Cohumulona Mirceno Farsene (no incluido explícitamente en BeerXML v1) Aceite total (no incluido explícitamente en BeerXML v1)
Receta específica: cuándo se agrega (hervir, macerar, primer mosto, secar, etc.)
Cantidad Tiempo (duración)
Nombre Origen Descripción Tipo (Grano, Azúcar, etc.) Potencial Recomendar Mash (verdadero o falso) IBU gal/lb (para extracto de lúpulo) Color (° Lovibond ) Contenido de humedad Contenido de proteínas Poder diastásico ( °Lintner ) Máximo utilizado (% de grano )
Receta específica
Cantidad Adición tardía (verdadero o falso)
- Aditivos (llamados MISC por misceláneos en BeerXML v1)
Nombre Descripción Tipo ( clarificación , especia, hierba, etc.)
Receta específica: cuándo se agrega (hervir, primario, etc.)
Cantidad Tiempo (duración)
Levaduras
Nombre Proveedor Número de catálogo Descripción Tipo (Ale, Lager, etc.) Forma (seca, líquida, etc.) Mejor para Rango de temperatura Atenuación de la floculación Máxima reutilización
Receta específica
Cantidad Añadido a secundario (verdadero o falso) Tiempo culto
Limitaciones
BeerXML 1.0 no admite más de tres pasos de fermentación. [33] Si bien esto no es una limitación del mundo real para muchos cerveceros, sí introduce una discrepancia cuando una herramienta de software o un servicio web que permite varios pasos de fermentación o un número ilimitado de ellos desea implementar BeerXML como un mecanismo de importación/exportación. Por ejemplo; cuando una instrucción del programa de fermentación indica que se debe fermentar a 21 grados Celsius , dejar que baje a 17 durante tres días y luego disminuir 1 grado por día hasta que el mosto alcance los 10 grados, mantener durante 12 días antes de trasegar para la maduración. Esto no se pudo acomodar dentro de la estructura formal que requiere el uso de campos informales/opcionales y no legibles por máquina.
Todas las unidades se convierten a unidades del SI de forma interna. Como resultado, se pierde precisión al convertir unidades que no pertenecen al SI, ya sean imperiales, del sistema métrico o del sistema habitual de EE. UU. [ se necesita aclaración ]
Las contribuciones del aceite de lúpulo al cobre no están explícitamente respaldadas en la definición actual.
Los niveles de Farsene no están explícitamente respaldados en la definición actual.
No se hace distinción entre peso y masa [34]
Desarrollo
Se ha propuesto una segunda versión del estándar BeerXML, que se encuentra en fase de desarrollo. No se ha validado ni publicado, ya que su conjunto de características aún se encuentra en discusión. [35]
Encabezado XML
Al igual que en XML, todos los archivos comienzan con una línea de encabezado como primera línea. Después del encabezado XML debe comenzar un conjunto de registros (por ejemplo <RECIPES>…</RECIPES>
, o <HOPS> … </HOPS>
).
Ejemplo de encabezado XML obligatorio con etiqueta de recetas :
<?xml version="1.0" encoding="UTF-8"?> <RECETAS> … </RECETAS>
Nombres de etiquetas
Los nombres de las etiquetas siempre se escriben en mayúsculas . Por ejemplo, "HOP" es aceptable, pero "hop" y "Hop" no lo son.
Versión
Todos los registros tienen una etiqueta <VERSION> obligatoria que indica la versión del estándar XML. En la actualidad, todos están configurados con el entero 1 para esta versión del estándar. Se pretende que las versiones futuras del estándar sean compatibles con versiones anteriores, pero la etiqueta VERSION permite que los programas más nuevos busquen una versión más reciente del estándar o realicen conversiones si es necesario para ser compatibles con versiones anteriores.
Formatos de datos
- Conjunto de registros: una etiqueta especial que inicia un conjunto de datos en particular. Por ejemplo, una tabla XML que consta de un conjunto de registros de saltos puede comenzar con una etiqueta <HOPS> para indicar que este es el comienzo de los registros de saltos. Después del último registro, se utilizaría una etiqueta </HOPS>.
- Registro: indica una etiqueta que inicia o finaliza un registro en particular; por ejemplo, "HOP" podría iniciar un registro de lúpulo o "FERMENTABLE" podría iniciar un registro fermentable.
- Porcentaje: denota un porcentaje ; todos los porcentajes se expresan como porcentaje de 100; por ejemplo, 10,4 % se escribe como "10,4" y no "0,104".
- Lista: los datos solo tienen una cantidad fija de valores que se seleccionan de la lista en la tabla de descripción de la etiqueta. Estos elementos distinguen entre mayúsculas y minúsculas y no se permiten otros valores.
- Texto: los datos son texto de formato libre. En el caso de las entradas de varias líneas, se conservarán los saltos de línea siempre que sea posible y el texto se puede truncar al importar si es demasiado largo para que el programa de importación lo almacene. Las entradas de varias líneas se pueden dividir con una nueva línea ( formato Unix ) o con una combinación de retorno de carro y nueva línea ( formato DOS ). Los programas de importación deben aceptar cualquiera de los dos.
- Booleano: el tipo de datos booleano puede ser VERDADERO o FALSO, con VERDADERO y FALSO en mayúsculas. Se debe especificar un valor predeterminado para los campos opcionales; se utiliza el valor predeterminado si el valor no está presente.
- Entero: un número entero sin punto decimal . Puede incluir valores negativos; por ejemplo: -3, -2, -1, 0, 1, 2, 3,...
- Punto flotante: un número de punto flotante , generalmente expresado en su forma más simple con un punto decimal como en "1,2", "0,004", etc. Los programas deben intentar almacenar tantos dígitos significativos como sea posible para evitar truncar o perder valores pequeños.
Unidades
Todas las unidades son fijas. Es responsabilidad del programa de importación o exportación realizar la conversión a las unidades que se indican a continuación o viceversa, si es necesario.
- Unidades de peso
- Todos los pesos se miden en kilogramos (kg). En el caso de valores pequeños, el programa de exportación hará un esfuerzo por conservar la mayor cantidad posible de dígitos significativos.
- Unidades de volumen
- Todos los volúmenes se miden en litros (l). En el caso de valores pequeños, el programa de exportación hará un esfuerzo por conservar la mayor cantidad posible de dígitos significativos.
- Unidades de temperatura
- Todas las temperaturas se miden en grados Celsius .
- Unidades de tiempo
- Todos los tiempos se dan en minutos o fracciones de minutos, a menos que se especifique lo contrario en la descripción de la etiqueta.
- Unidades de gravedad específica
- La gravedad específica se mide en relación con el peso de una muestra de agua del mismo tamaño . Por ejemplo, “1,035”, “1,060”, etc.
- Unidades de presión
- Las presiones se miden en kilopascales (kPa)
Etiquetas no estándar
Según el estándar XML, el programa de importación debe ignorar todas las etiquetas no estándar. Esto permite que una implementación almacene información adicional si así lo desea utilizando sus propias etiquetas. El programa de importación puede ignorar con seguridad todas las etiquetas que no estén definidas como parte de este estándar.
Etiquetas opcionales
El "Apéndice A" opcional agrega etiquetas para usar en la visualización de datos de elaboración de cerveza mediante hojas de estilo XML o generadores de informes compatibles con XML . Las etiquetas del apéndice son solo para visualización y pueden incluir valores redondeados y unidades variables. Estas etiquetas del apéndice están destinadas a la visualización y no a la importación de datos.
Véase también
Referencias
- ^ St. Laurent, Simon; Makoto, Murata; Kohn, Dan (enero de 2001). "XML Media Types, RFC 3023". Grupo de trabajo de ingeniería de Internet. págs. 9–11 . Consultado el 4 de enero de 2010 .
- ^ St. Laurent, Simon; Makoto, Murata; Kohn, Dan (enero de 2001). "XML Media Types, RFC 3023". Grupo de trabajo de ingeniería de Internet. págs. 7–9 . Consultado el 4 de enero de 2010 .
- ^ "BeerXML Un estándar XML para datos de elaboración de cerveza Versión 1.0". BeerXML.com . Grupo BeerXML . Consultado el 14 de febrero de 2014 .
- ^ Johnston, Casey (10 de octubre de 2013). "Una máquina de cerveza computarizada simplifica la elaboración casera de cerveza". CNN.com . CNN/Turner . Consultado el 15 de febrero de 2014 .
- ^ Revell, Matthew. "Beer as in beer". launchpad.net . Launchpad . Consultado el 19 de febrero de 2014 .
- ^ "Mise à jour: JolieBulle 2.9 - Importación de una lista de ingredientes. Il est maintenant posible d'importer una lista de ingredientes en formato BeerXML" (en francés). Tuxfamily.org . Consultado el 15 de febrero de 2014 .
- ^ "Aplicaciones BeerXML en Google Play" . Consultado el 11 de febrero de 2014 .
- ^ "Pocket Brewer Windows Phone BeerXML". The Pocket Brewer . Consultado el 14 de febrero de 2014 .
- ^ Parker, David. "Una aplicación de formulación de recetas para iOS". DJP Software . Consultado el 15 de febrero de 2014 .
- ^ Griffith, William. "HomeBrew Assistant". homebrewassistant.com . iTunes Store . Consultado el 15 de febrero de 2014 .
- ^ Palmer, Brian. "BeerXML en RubyGems". Ruby Gems . Consultado el 15 de febrero de 2014 .
- ^ Springer, Derek. «BeerXML Shortcode For WordPress». WordPress.org . WordPress . Consultado el 15 de febrero de 2014 .
- ^ Hotelling, George. "Un analizador y generador de BeerXML para PHP". GitHub . Consultado el 15 de febrero de 2014 .
- ^ Taylor, Daniel G. "Un complemento de importación y exportación de BeerXML para Brauhaus.js". GitHub . Consultado el 15 de febrero de 2014 .
- ^ Ingraham, Nathan (2 de octubre de 2013). "La PicoBrew Zymatic es la Nespresso de la elaboración de cerveza". Vox Media . The Verge . Consultado el 15 de febrero de 2014 .
- ^ Tyson, Mark (octubre de 2013). "Ex ejecutivos de Microsoft lanzan un dispositivo para fabricar cerveza en Kickstarter". Hexus . HEXUS.net es el sitio web independiente de noticias y reseñas de tecnología número uno del Reino Unido . Consultado el 15 de febrero de 2014 .
- ^ Casey, Johnston (octubre de 2013). "Una máquina de cerveza computarizada simplifica la elaboración casera de cerveza". arstechnica.com . arstechnica.com/gadgets/2013/10/a-computerized-beer-machine-takes-the-legwork-out-of-home-brewing/ . Consultado el 14 de febrero de 2014 .
- ^ "BeerXML2BrewTroller beta - Descarga BeerXML en tu BrewTroller". SourceForge.net. 30 de mayo de 2013. Consultado el 15 de febrero de 2014 .
- ^ Wolf, Michael. "Aquí está la cajita que podría cambiar el mundo de la cerveza para siempre". medium.com . Consultado el 15 de febrero de 2014 .
- ^ "Página de consejos de Brew Competition BeerXML" . Consultado el 11 de febrero de 2014 .
- ^ "Microcervecería 3BBL". Bru-Gear.com . BruGear LLC. Archivado desde el original el 22 de febrero de 2014 . Consultado el 15 de febrero de 2014 .
- ^ "Página BeerXML de Brew Monkey". brew-monkey.com.
- ^ "Brewtarget". gitorious.org . Gitorious. Archivado desde el original el 21 de febrero de 2014 . Consultado el 15 de febrero de 2014 .
- ^ "Artículo de Linux.com sobre Brewtarget". Linux.com . Consultado el 14 de febrero de 2014 .
- ^ "Estadísticas de usuarios de Brewtoad". Brewtoad.com. Archivado desde el original el 2014-02-09 . Consultado el 2014-02-14 .
- ^ "Preguntas frecuentes de Brewers Friend". Brewersfriend.com.
- ^ "Directrices de BeerXML de BrewCompetition.com". Sistema de gestión y participación en línea de Brew Competition (BCOE&M).
- ^ "El proyecto de base de datos de cerveza". BeerDB.org.
- ^ "Sistema de base de datos de Brewthology". The Twin Hills Brewery. Archivado desde el original el 22 de febrero de 2014. Consultado el 14 de febrero de 2014 .
- ^ Peretto, Bryan (6 de enero de 2014). «Base de datos de recetas de elaboración de cerveza BeerXML basada en PHP». SourceForge . Consultado el 15 de febrero de 2014 .
- ^ "Conjunto de características de Brewblogger". Plataforma Brew Blogger.
- ^ Taylor, Daniel G. «Nueva versión de brauhaus.js». Malt.io. Archivado desde el original el 22 de febrero de 2014. Consultado el 15 de febrero de 2014 .
- ^ "¿Sabías que puedes importar y exportar recetas a través de BeerXML?". ibrewmaster.com . iBrewmaster. Archivado desde el original el 21 de febrero de 2014 . Consultado el 15 de febrero de 2014 .
- ^ "Unidades compatibles - Manual del usuario de Brewtarget 2.02". Brewtarget . Consultado el 15 de febrero de 2014 .
- ^ "Propuesta de esquema BeerXML 2". Foro de desarrollo de BeerXML . BeerXML.com . Consultado el 14 de febrero de 2014 .
Enlaces externos
Wikilibros tiene un libro sobre el tema: Tema:XML
Wikilibros tiene un libro sobre el tema: Tema:Elaboración de cerveza
- Página de inicio de BeerXML
- Especificación de BeerXML 1.0
- Un analizador y generador de PHP BeerXML
- Complemento BeerXML para WordPress
- Biblioteca Ruby para analizar y generar beerxml
- Complemento de Wordpress con código corto BeerXML de FiveBlades