CookML

Definition eines offenen Rezept- und Menü Austauschformates auf Basis von XML

Revision: 1.0.13
Status: Freigegeben. Letzte freigegebene Revision 1.0.13
Änderungsdatum: 25. Juni 2003
Autoren Jochen Herz, Roland Jesse, Ralf Kürbitz, Rolf Wilhelm, Robert Freitag, Uwe Klatt
Original URL http://www.kalorio.de/index.php?Mod=Ac&Cap=CD&SCa=../cml/CookML_DE

Spezifikation des XML-Formats zum programm- und länderüberschreitenden Austausch von Kochrezepten, Zutatendaten und Menüs.

CookML ist die Beschreibung eines Rezeptaustausch-Formats, das programm-übergreifend den Austausch von Rezepten aller Art erlaubt.

CookML entstand aus dem Wunsch für das Rezeptprogramm Kalorio ein Austauschformat zu erstellen, daß alle angebotenen Rezeptdaten transferieren kann. Das bisher verwendete Textformat MealMaster ist zwar sehr verbreitet und lesbarer, aber es kann nur die absoluten Grunddaten eines Rezeptes übertragen. CookML entstand daraufhin in Form einer offenen Diskussion mit diversen Programmierern von Rezept- und Gastronomie-Software, damit das Austauschformat keine Insellösung darstellt sondern programmübergreifend Rezeptdaten übertragen kann.

Grundlage von CookML (kurz CML) ist XML. Es bietet die Möglichkeit alle erdenklichen Zusatzinformationen zu einem Rezept von Benutzer zu Benutzer auszutauschen. So unterstützt dieses Format auch Rezeptbilder, Menüs und Zuordnung von Zutaten zum Bundeslebensmittelschlüssel.

Sollte dieses Format in der aktuellen Revision für etwaige Daten eines Rezeptes nicht ausreichen, so kann dieses Format in Form einer neuen Revision in Absprache erweitert werden.

CML ist frei benutzbar. Jeder Programmierer hat die Möglichkeit, dieses Format in seinem eigenen Programm zu benutzen. Es ist ausdrücklich erwünscht die CML in eigenen Programmen, Projekten, Tools und Internet-Portalen einzusetzen.

Es sind lediglich folgende Bedingungen einzuhalten:

  1. Die folgende Spezifikation muß eingehalten werden. Es dürfen keine Tags ohne Freigabe einer neuen Revision hinzugefügt oder geändert werden.
  2. Alle Felder, die in der DTD als "#Required" also als bindend definiert sind, müssen sinnvoll unterstützt und bei der Durchreichung mit weitergegeben werden. Daher wurden nur die wichtigsten Felder als bindend gekennzeichnet, so daß eine Implementierung sehr einfach ist.
  3. Jedes Programm oder sonstige Projekt muß einen Link auf diese Seite beinhalten, damit dieses Format für jeden einsehbar ist.
  4. Wird eine CookML als Datei weitergegeben, so muss die Extension "*.cml" lauten

Ambrosia und CookML

Ambrosia hat CookML in der oben genannten Version implementiert. Der Ambrosia-Fingerprint hat Eingang in die CookML Definition bekommen und dient dazu, Rezepte und deren Überarbeitungsversion zu identifizieren. Neue Elemente wie Wochenpläne werden von CookML derzeit nicht unterstützt. Diese würden als Menüdefinition exportiert und ebenso importiert werden und damit beim Transport die Darstellung und Bearbeitung eines Wochenplanes verlieren.

Aktuell auf der kalorio.de Seite ist CookML v1.1 publiziert. Hierin sind einige zusätzliche Definitionen enthalten, die von Ambrosia einfach ignoriert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.