[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.