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
| Campo | Valor obligatorio |
|---|---|
CHEESEXML/@version | 1.xx con versión menor de dos dígitos |
RECIPE/@id | Identificador estable para máquinas |
META | SCHEMA_VERSION, TYPE y DIFFICULTY; opcionales: propiedad, fechas, licencia y sistema de unidades |
T | Texto 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. |
Quantity | value y unit; min, max y si son opcionales. |
INGREDIENT | NAME y AMOUNT; opcionales: DETAIL, PREP, SUBSTITUTE y NOTES. |
STEP | n, 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
- Esquema XSD
- Esquema del espacio de nombres XML
- Ejemplo mínimo
- Ejemplo completo
- Descripción OpenAPI
- Detalles del esquema
- Documento del espacio de nombres
- Referencia de la API
- Inspector XML
Base de la API pública: https://www.samovar-tool.ru/cheesexml/v1/
