Zum Inhalt springen

CheeseXML-Spezifikation

Kontrollierter Namespace: https://www.samovar-tool.ru/cheesexml/ns/1.0

Kennungen und Version

Der Namespace kennzeichnet CheeseXML-Dokumente. Die CheeseXML-Version des Wurzelelements ist derzeit 1.00 und unabhängig von der XML-Deklaration.

  • Verwenden Sie die Wurzelreihenfolge CHEESEXML, RECIPES, dann RECIPE. Jede RECIPE-ID ist eine stabile maschinenlesbare Kennung; der sichtbare Name gehört in NAME.
  • Speichern Sie jeden lesbaren Wert in T mit xml:lang. Leser wählen die gewünschte Sprache, dann das primäre T, dann das erste verfügbare T.
  • Mengen verwenden value und unit. Fügen Sie si für einen normierten Wert hinzu, wenn die Küchenmaßeinheit eine eindeutige Umrechnung braucht.

Kompatibilität

Ein Leser akzeptiert Dokumente mit derselben Hauptversion. Neue Felder in einer späteren Nebenversion müssen optional="true" sein, damit ein älterer Leser sie sicher ignorieren kann.

Das XSD erlaubt mehrere RECIPE-Einträge in einem Dokument. Der Portalimport akzeptiert bewusst genau ein Rezept pro Upload.

Minimales reproduzierbares Beispiel

Dies ist das genaue herunterladbare Minimalbeispiel.

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

Vollständiges reproduzierbares Beispiel

Das vollständige Beispiel enthält Metadaten, Zutaten, Ausrüstung, Prozess, Lagerung und Quellenangaben. Vollständiges Beispiel herunterladen

Feld- und Wertregister

FeldErforderlicher Wert
CHEESEXML/@version1.xx mit zweistelliger Nebenversion
RECIPE/@idStabile maschinenlesbare Kennung
METASCHEMA_VERSION, TYPE und DIFFICULTY; optional Besitzer, Daten, Lizenz und Einheitensystem
TLesbarer Text mit xml:lang; wählen Sie die genaue Sprache, dann deren Präfix, dann primary=true oder 1, dann den ersten Text. dir kann ltr, rtl oder auto sein.
Quantityvalue und unit; min, max und si sind optional.
INGREDIENTNAME und AMOUNT; optional DETAIL, PREP, SUBSTITUTE und NOTES.
STEPn, phase, code, NAME und INSTRUCTION; optional PARAMS und NOTES.

Lokal validieren

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

Dateien und API

Öffentliche API-Basis: https://www.samovar-tool.ru/cheesexml/v1/