Aller au contenu

Spécification CheeseXML

Espace de noms contrôlé : https://www.samovar-tool.ru/cheesexml/ns/1.0

Identifiants et version

L’espace de noms identifie les documents CheeseXML. La version de la racine CheeseXML est actuellement 1.00 et est indépendante de la déclaration XML.

  • Utilisez l’ordre de racine CHEESEXML, RECIPES, puis RECIPE. Chaque id de RECIPE est un identifiant machine stable ; son nom visible va dans NAME.
  • Stockez chaque valeur lisible dans T avec xml:lang. Les lecteurs choisissent la langue demandée, puis le T principal, puis le premier T disponible.
  • Les quantités utilisent value et unit. Ajoutez si pour une valeur normalisée lorsque l’unité de cuisine exige une conversion sans ambiguïté.

Compatibilité

Un lecteur accepte les documents de même version majeure. Les nouveaux champs d’une version mineure ultérieure doivent être optional="true" afin qu’un ancien lecteur puisse les ignorer sans risque.

Le XSD autorise plusieurs enregistrements RECIPE dans un document. L’import du portail n’accepte volontairement qu’une seule recette par envoi.

Exemple minimal reproductible

Voici l’exemple minimal exact à télécharger.

<?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>

Exemple complet reproductible

L’exemple complet comprend les métadonnées, les ingrédients, le matériel, le procédé, le stockage et les données de source. Télécharger l’exemple complet

Registre des champs et valeurs

ChampValeur requise
CHEESEXML/@version1.xx avec une version mineure à deux chiffres
RECIPE/@idIdentifiant machine stable
METASCHEMA_VERSION, TYPE et DIFFICULTY ; propriété, dates, licence et système d’unités facultatifs
TTexte lisible avec xml:lang ; choisir la langue exacte, puis son préfixe, puis primary=true ou 1, puis le premier texte. dir peut valoir ltr, rtl ou auto.
Quantityvalue et unit ; min, max et si sont facultatifs.
INGREDIENTNAME et AMOUNT ; DETAIL, PREP, SUBSTITUTE et NOTES facultatifs.
STEPn, phase, code, NAME et INSTRUCTION ; PARAMS et NOTES facultatifs.

Valider 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

Fichiers et API

Base de l’API publique : https://www.samovar-tool.ru/cheesexml/v1/