[XML-SIG] DTD for recipes

Lars Marius Garshol larsga@ifi.uio.no
12 Mar 1999 11:35:50 +0100


* A. M. Kuchling
|
| I've taken a first whack at a DTD for storing recipes.  It's nowhere
| near complete, and there are a bunch of open issues.  Please see
| 
| 	http://starship.python.net/crew/amk/recipe/
| 
| for the DTD and a little sample document. 

In fact, this is pretty much what I envisioned, although simpler. As
for your open issues:

 - Metadata in general: I think the DTD should in fact hard-wire
 optional elements for what we can usefully standardize (possibly in a
 separate metadata section), and then allow for extensibility, either
 through generic property name/value (and maybe values) sets or
 possibly ANY content models. (Possibly both.)

 - I think part of the point of using XML here is that you need not
 store nutritional information in the recipe, but can instead
 calculate it from the ingredient list and a nutrional database

 - Number of servings: another good thing about XML: we should be able
 to do automatic scaling of the ingredients (within reasonable limits,
 of course)

 - Ingredients: I think we need different kinds of ingredient
 elements, classified by amount type: exact, approximate and optional.

 - Also, alternatives for ingredients would also be nice, as would
 some way of referring to the alternative from the steps, so that
 presentation software can choose the correct alternative

 - I think we need something more advanced than 'note', although I
 have no immediate ideas for the form it should take

 - Also, some means of referring to other recipes from a step would be
 nice, as in '<step>Prepare some white sauce, as described in
 <step-recipe href="white-sauce.xml">the recipe for white 
 sauce</step-recipe>.</step>'

| (Actually, LMG once used a recipe DTD as an example on Usenet, but
| that seems to have been purely for pedagogical purposes, not as a
| serious attempt at a DTD.

Actually, an online database of marked-up recipes is my favourite
example when I give talks and try to explain just what is cool about
XML. 

To get all excited, see:

<URL:http://www.stud.ifi.uio.no/~larsga/download/artikler/fin_sgml_98.pdf>
                                                      (page 30 and onwards)
<URL:http://www.stud.ifi.uio.no/~larsga/download/artikler/fin_sgml_98.html>
                                                           (search for RML)

--Lars M.