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
| Champ | Valeur requise |
|---|---|
CHEESEXML/@version | 1.xx avec une version mineure à deux chiffres |
RECIPE/@id | Identifiant machine stable |
META | SCHEMA_VERSION, TYPE et DIFFICULTY ; propriété, dates, licence et système d’unités facultatifs |
T | Texte 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. |
Quantity | value et unit ; min, max et si sont facultatifs. |
INGREDIENT | NAME et AMOUNT ; DETAIL, PREP, SUBSTITUTE et NOTES facultatifs. |
STEP | n, 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
- Schéma XSD
- Schéma de l’espace de noms XML
- Exemple minimal
- Exemple complet
- Description OpenAPI
- Détails du schéma
- Document de l’espace de noms
- Référence de l’API
- Inspecteur XML
Base de l’API publique : https://www.samovar-tool.ru/cheesexml/v1/
