Saltar al contenido

Especificación de CheeseXML

Espacio de nombres controlado: https://www.samovar-tool.ru/cheesexml/ns/1.0

Identificadores y versión

El espacio de nombres identifica los documentos CheeseXML. La versión raíz de CheeseXML es actualmente 1.00 y es independiente de la declaración XML.

  • Use el orden de raíz CHEESEXML, RECIPES y luego RECIPE. El id de cada RECIPE es un identificador estable para máquinas; su nombre visible va en NAME.
  • Guarde cada valor legible en T con xml:lang. Los lectores eligen el idioma solicitado, luego el T principal y después el primer T disponible.
  • Las cantidades usan value y unit. Añada si como valor normalizado cuando la unidad de cocina necesite una conversión inequívoca.

Compatibilidad

Un lector acepta documentos con la misma versión mayor. Los campos nuevos de una versión menor posterior deben ser optional="true" para que un lector más antiguo pueda ignorarlos sin riesgo.

El XSD permite varios registros RECIPE en un documento. La importación del portal acepta deliberadamente exactamente una receta por carga.

Ejemplo mínimo reproducible

Este es exactamente el ejemplo mínimo descargable.

<?xml version="1.0" encoding="UTF-8"?>
<CHEESEXML version="1.00" xmlns="https://www.samovar-tool.ru/cheesexml/ns/1.0" defaultLang="en" units="metric">
  <RECIPES><RECIPE id="sample-paneer" version="1"><META><SCHEMA_VERSION>1.00</SCHEMA_VERSION><TYPE>home</TYPE><DIFFICULTY>1</DIFFICULTY><LICENSE>CC-BY-4.0</LICENSE></META><NAME><T xml:lang="en" primary="true">Sample paneer</T></NAME><DESCRIPTION><T xml:lang="en" primary="true">A minimal valid CheeseXML recipe.</T></DESCRIPTION><STYLE family="acid_set" code="acid_set.paneer"/><BATCH><MILK_VOLUME value="1" unit="l" si="1"/><SCALE base="milk_volume" base_value="1" base_unit="l"/></BATCH><MILK species="bos_taurus" treatment="pasteurized" homogenization="none"/><INGREDIENTS><INGREDIENT id="milk" role="base"><NAME><T xml:lang="en" primary="true">Milk</T></NAME><AMOUNT value="1" unit="l" si="1"/></INGREDIENT></INGREDIENTS><PROCESS><STEP n="1" phase="milk_prep" code="heat"><NAME><T xml:lang="en" primary="true">Heat</T></NAME><INSTRUCTION><T xml:lang="en" primary="true">Heat the milk.</T></INSTRUCTION></STEP></PROCESS></RECIPE></RECIPES>
</CHEESEXML>

Ejemplo completo reproducible

El ejemplo completo incluye metadatos, ingredientes, equipo, proceso, almacenamiento y datos de la fuente. Descargar el ejemplo completo

Registro de campos y valores

CampoValor obligatorio
CHEESEXML/@version1.xx con versión menor de dos dígitos
RECIPE/@idIdentificador estable para máquinas
METASCHEMA_VERSION, TYPE y DIFFICULTY; opcionales: propiedad, fechas, licencia y sistema de unidades
TTexto legible con xml:lang; se elige el idioma exacto, luego su prefijo, luego primary=true o 1 y por último el primer texto. dir puede ser ltr, rtl o auto.
Quantityvalue y unit; min, max y si son opcionales.
INGREDIENTNAME y AMOUNT; opcionales: DETAIL, PREP, SUBSTITUTE y NOTES.
STEPn, phase, code, NAME e INSTRUCTION; opcionales: PARAMS y NOTES.

Validar en local

curl -O https://www.samovar-tool.ru/cheesexml/specification/CheeseXML-1.0.xsd
curl -O https://www.samovar-tool.ru/cheesexml/specification/xml.xsd
curl -O https://www.samovar-tool.ru/cheesexml/specification/minimal.xml
				curl -O https://www.samovar-tool.ru/cheesexml/specification/full.xml
xmllint --noout --schema CheeseXML-1.0.xsd minimal.xml

Archivos y API

Base de la API pública: https://www.samovar-tool.ru/cheesexml/v1/