Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/recipe-books.git

Started substitution code.

Author Dave Jarvis <email>
Date 2013-03-02 17:27:26 GMT-0800
Commit c383beeb2c87eb36d9dc350a90963ae5bf819f89
Parent 0afa918
Delta 563 lines added, 487 lines removed, 76-line increase
example-book.xml
</categories>
</ingredient>
- <ingredient name="chianti mushroom" id="4165">
- <categories>
- <category name="fungi,mushroom" id="52"/>
- </categories>
- </ingredient>
- <ingredient name="chili oil" id="4166">
- <categories>
- <category name="oil" id="15"/>
- </categories>
- </ingredient>
- <ingredient name="cider vinegar" id="154">
- <categories>
- <category name="vinegar" id="65"/>
- </categories>
- </ingredient>
- <ingredient name="cold water" id="3168">
- <categories>
- <category name="water" id="79"/>
- </categories>
- </ingredient>
- <ingredient name="cornflour" id="1204">
- <categories>
- <category name="condiment" id="7"/>
- </categories>
- </ingredient>
- <ingredient name="dried cranberry" id="2064">
- <categories>
- <category name="fruit,berry" id="1"/>
- </categories>
- </ingredient>
- <ingredient name="dried shiitake mushroom" id="2071">
- <categories>
- <category name="fungi,mushroom" id="52"/>
- </categories>
- </ingredient>
- <ingredient name="dripping" id="1225">
- <categories>
- <category name="fat" id="41"/>
- </categories>
- </ingredient>
- <ingredient name="egg" id="205">
- <categories>
- <category name="egg" id="57"/>
- </categories>
- </ingredient>
- <ingredient name="egg yolk" id="1117">
- <categories>
- <category name="egg" id="57"/>
- </categories>
- </ingredient>
- <ingredient name="flaked coconut" id="1817"/>
- <ingredient name="garlic clove" id="1405"/>
- <ingredient name="ginger" id="247">
- <categories>
- <category name="spice" id="19"/>
- </categories>
- </ingredient>
- <ingredient name="grapefruit" id="786">
- <categories>
- <category name="fruit,citrus" id="6"/>
- </categories>
- </ingredient>
- <ingredient name="heavy cream" id="281">
- <categories>
- <category name="dairy,lactose,milk,cream" id="49"/>
- </categories>
- </ingredient>
- <ingredient name="lime juice" id="353">
- <categories>
- <category name="fruit,citrus" id="6"/>
- </categories>
- </ingredient>
- <ingredient name="olive oil" id="424">
- <categories>
- <category name="oil" id="15"/>
- </categories>
- </ingredient>
- <ingredient name="onion" id="425"/>
- <ingredient name="paprika" id="438">
- <categories>
- <category name="spice" id="19"/>
- </categories>
- </ingredient>
- <ingredient name="pie shell" id="1803"/>
- <ingredient name="poppy seed" id="1021">
- <categories>
- <category name="spice" id="19"/>
- </categories>
- </ingredient>
- <ingredient name="ramen noodle" id="4163"/>
- <ingredient name="red miso" id="2829">
- <categories>
- <category name="vegetable,legume" id="38"/>
- </categories>
- </ingredient>
- <ingredient name="salt" id="510">
- <categories>
- <category name="condiment" id="7"/>
- </categories>
- </ingredient>
- <ingredient name="sesame oil" id="1307">
- <categories>
- <category name="oil" id="15"/>
- </categories>
- </ingredient>
- <ingredient name="sesame seed" id="1308">
- <categories>
- <category name="seed" id="18"/>
- </categories>
- </ingredient>
- <ingredient name="spinach" id="543">
- <categories>
- <category name="vegetable" id="23"/>
- </categories>
- </ingredient>
- <ingredient name="sugar" id="549"/>
- <ingredient name="tomato" id="579">
- <categories>
- <category name="fruit" id="11"/>
- </categories>
- </ingredient>
- <ingredient name="vanilla bean" id="592">
- <categories>
- <category name="vegetable,legume,bean" id="44"/>
- </categories>
- </ingredient>
- <ingredient name="vanilla extract" id="1354">
- <categories>
- <category name="spice" id="19"/>
- </categories>
- </ingredient>
- <ingredient name="vegetable oil" id="593">
- <categories>
- <category name="oil" id="15"/>
- </categories>
- </ingredient>
- <ingredient name="water" id="1481">
- <categories>
- <category name="water" id="79"/>
- </categories>
- </ingredient>
- <ingredient name="white miso" id="2874">
- <categories>
- <category name="vegetable,legume" id="38"/>
- </categories>
- </ingredient>
- <ingredient name="white onion" id="1485"/>
- <ingredient name="white sugar" id="1342"/>
- <ingredient name="white wine vinegar" id="1787">
- <categories>
- <category name="alcohol,wine" id="73"/>
- <category name="vinegar" id="65"/>
- </categories>
- </ingredient>
- <ingredient name="yeast" id="1349">
- <categories>
- <category name="fungi,yeast" id="45"/>
- </categories>
- </ingredient>
- </ingredients>
- <recipe>
- <description>
- <title>Coconut Cream Pie</title>
- <photo use="one-page">
- <uri>/tmp/latex/4/20/abe01ea6bfc2f6bc6dc6ad2e3667e8a7.jpg</uri>
- <citation/>
- </photo>
- </description>
- <preparation>
- <oven unit="F" temperature="350"/>
- </preparation>
- <equipment>
- <bakeware/>
- <cookware/>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="1817" seq="1" min-quantity="1" unit="cup" condition="sweeten" optional="false"/>
- <ingredient id="205" seq="2" min-quantity="2" condition="beat" optional="false"/>
- <ingredient id="1342" seq="3" min-quantity="0.75" unit="cup" condition="" optional="false"/>
- <ingredient id="9" seq="4" min-quantity="0.5" unit="cup" condition="" optional="false"/>
- <ingredient id="510" seq="5" min-quantity="0.25" unit="tsp" condition="" optional="false"/>
- <ingredient id="1354" seq="6" min-quantity="1" unit="tsp" condition="" optional="false"/>
- <ingredient id="1803" seq="7" min-quantity="1" max-quantity="9" condition="bake" optional="false"/>
- <ingredient id="1225" seq="8" min-quantity="1" unit="cup" condition="freeze,whip,thaw" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="instructions">
- <step action="spread" min-time="1" seq="1">the coconut on a baking sheet and bake it, stirring occasionally, until golden brown, about 5 minute</step>
- <step action="combine" min-time="1" seq="2">the half-and-half, eggs, sugar, flour and salt and mix well</step>
- <step action="bring" min-time="1" seq="3">to a boil over low heat, stirring constantly</step>
- <step action="remove" min-time="1" seq="4">the pan from the heat, and stir in 3/4 cup of the toasted coconut and the vanilla extract</step>
- <step action="top" min-time="1" seq="5">the pie</step>
- <step action="pour" min-time="1" seq="6">the filling into the pie shell and chill until firm, about 4 hours</step>
- <step action="top" min-time="1" seq="7">with whipped topping and with the reserved coconut</step>
- </directions>
- <tags>
- <tag category="course" sequence="5">dessert</tag>
- </tags>
- </recipe>
- <recipe>
- <description>
- <title>Cr&#xE8;me Br&#xFB;l&#xE9;e</title>
- <photo>
- <uri/>
- <citation/>
- </photo>
- </description>
- <preparation>
- <oven unit="F" temperature="350"/>
- </preparation>
- <equipment>
- <bakeware>
- <object id="3">ramekin</object>
- </bakeware>
- <cookware>
- <object id="1">saucepan</object>
- </cookware>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils>
- <object id="2">knife</object>
- </utensils>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="549" seq="1" min-quantity="0.75" unit="cup" condition="" optional="false"/>
- <ingredient id="1117" seq="2" min-quantity="7" condition="separate" optional="false"/>
- <ingredient id="281" seq="3" min-quantity="4" unit="cup" condition="" optional="false"/>
- <ingredient id="592" seq="4" min-quantity="1" condition="" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="egg &amp; sugar">
- <step action="mix" min-time="1" seq="1">egg yolks and sugar until blended</step>
- </directions>
- <directions label="cream &amp; bean">
- <step action="pour" min-time="1" seq="2">the cream into a large saucepan</step>
- <step action="cut" min-time="1" seq="3">the vanilla bean in half, lengthwise</step>
- <step action="use" min-time="1" seq="4">the dull edge of a knife to scrape out the small black beans</step>
- <step action="add" min-time="1" seq="5">the beans to the cream</step>
- <step action="place" min-time="1" seq="6">the saucepan over high heat</step>
- <step action="bring" min-time="1" seq="7">to a boil, stirring constantly</step>
- <step action="remove" min-time="1" seq="8">immediately upon boiling</step>
- </directions>
- <directions label="create custard">
- <step action="pour" min-time="1" seq="9">cream into the egg mixture, slowly, stirring constantly</step>
- <step action="strain" min-time="1" seq="10">into ramekins, using a fine-mesh sieve</step>
- <step action="put" min-time="1" seq="11">the ramekins in a shallow baking pan</step>
- <step action="fill" min-time="1" seq="12">the baking pan with hot water, until it reaches halfway up the side of the ramekins</step>
- <step action="bake" min-time="1" seq="13">for 30 minutes</step>
- <step action="remove" min-time="1" seq="14">the ramekins from water</step>
- <step action="cool" min-time="1" seq="15">for 10 minutes</step>
- <step action="cover" min-time="1" seq="16">and refrigerate for 150 minutes</step>
- </directions>
- <tags>
- <tag category="course" sequence="5">dessert</tag>
- </tags>
- </recipe>
- <recipe>
- <description>
- <title>Almond &amp; Spinach Salad</title>
- <photo>
- <uri/>
- <citation/>
- </photo>
- </description>
- <preparation/>
- <equipment>
- <bakeware/>
- <cookware/>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="97" seq="1" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="11" seq="2" min-quantity="0.75" unit="cup" condition="blanch,slivered" optional="false"/>
- <ingredient id="543" seq="3" min-quantity="1" unit="lb" condition="rinse,tear" optional="false"/>
- <ingredient id="2064" seq="4" min-quantity="1" unit="cup" condition="" optional="false"/>
- <ingredient id="1308" seq="5" min-quantity="2" unit="tbsp" condition="toast" optional="false"/>
- <ingredient id="1021" seq="6" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="1342" seq="7" min-quantity="0.5" unit="cup" condition="" optional="false"/>
- <ingredient id="425" seq="8" min-quantity="2" unit="tsp" condition="mince" optional="false"/>
- <ingredient id="438" seq="9" min-quantity="0.25" unit="tsp" condition="" optional="false"/>
- <ingredient id="1787" seq="10" min-quantity="0.25" unit="cup" condition="" optional="false"/>
- <ingredient id="154" seq="11" min-quantity="0.25" unit="cup" condition="" optional="false"/>
- <ingredient id="593" seq="12" min-quantity="0.5" unit="cup" condition="" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="instructions">
- <step action="melt" min-time="1" seq="1">butter over medium heat</step>
- <step action="cook" min-time="1" seq="2">and stir almonds in butter until lightly toasted</step>
- <step action="remove" min-time="1" seq="3">from heat, and let cool</step>
- <step action="whisk" min-time="1" seq="4">together the sesame seeds, poppy seeds, sugar, onion, paprika, white wine vinegar, cider vinegar, an</step>
- <step action="toss" min-time="1" seq="5">with spinach just before serving</step>
- <step action="combine" min-time="1" seq="6">the spinach with the toasted almonds and cranberries</step>
- </directions>
- <tags/>
- </recipe>
- <recipe>
- <description>
- <title>Ramen With Shiitake Mushroom Base</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/68102d2d73303a676c9537aba9b48497.jpg</uri>
- <citation>
- <author url="http://www.flickr.com/photos/jeffreyww/6878257218/">jeffreyw</author>
- </citation>
- </photo>
- </description>
- <preparation/>
- <equipment>
- <bakeware/>
- <cookware>
- <object id="1">pot</object>
- </cookware>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="vegetables">
- <ingredient id="1485" seq="1" min-quantity="1" condition="" optional="false"/>
- <ingredient id="4165" seq="2" min-quantity="5" condition="" optional="false"/>
- <ingredient id="1405" seq="3" min-quantity="1" condition="" optional="false"/>
- <ingredient id="1481" seq="4" min-quantity="1" unit="cup" condition="" optional="false"/>
- <ingredient id="117" seq="5" min-quantity="1" condition="" optional="false"/>
- <ingredient id="2071" seq="6" min-quantity="2" condition="" optional="false"/>
- <ingredient id="1308" seq="7" min-quantity="1" unit="tsp" condition="" optional="false"/>
- <ingredient id="1307" seq="8" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="4166" seq="9" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="247" seq="10" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- </ingredients>
- <ingredients id="2" label="broth">
- <ingredient id="2829" seq="11" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="2874" seq="12" min-quantity="1" unit="tbsp" condition="" optional="false"/>
- <ingredient id="3168" seq="13" min-quantity="9" unit="cup" condition="" optional="false"/>
- <ingredient id="4163" seq="14" min-quantity="1" unit="pkg" condition="" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="vegetables">
- <step action="add" min-time="1" seq="1">onion, chianti mushrooms, and garlic to a pot of water</step>
- <step action="add" min-time="1" seq="2">salt and pepper to taste</step>
- <step action="cover" min-time="1" seq="3">and cook on medium heat for two minutes</step>
- <step action="add" min-time="1" seq="4">carrots, dried shiitake mushrooms, sesame seeds, sesame oil, and chili oil</step>
- <step action="cook" min-time="1" seq="5">for 10 minutes</step>
- <step action="combine" min-time="1" seq="6">ginger and both miso, then add them to the mix</step>
- <step action="cook" min-time="1" seq="7">for one to two minutes</step>
- <step action="pour" min-time="1" seq="8">9 cups of cold water</step>
- <step action="bring" min-time="1" seq="9">to a boil</step>
- <step action="let" min-time="1" seq="10">simmer for two hours</step>
- </directions>
- <directions label="noodles">
- <step action="drain" min-time="1" seq="11">the vegetables and press to make a broth</step>
- <step action="boil" min-time="1" seq="12">broth with noodles and add toppings</step>
- </directions>
- <tags>
- <tag category="type" sequence="6">soup</tag>
- </tags>
- </recipe>
- <recipe>
- <description>
- <title>Basic Guacamole</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/2d11e535f831c86bbf00385b11b3208f.jpg</uri>
- <citation/>
- </photo>
- </description>
- <preparation/>
- <equipment>
- <bakeware/>
- <cookware/>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="701" seq="1" min-quantity="3" max-quantity="4" condition="" optional="false"/>
- <ingredient id="425" seq="2" min-quantity="1" condition="dice" optional="false"/>
- <ingredient id="1405" seq="3" min-quantity="1" condition="mince" optional="false"/>
- <ingredient id="579" seq="4" min-quantity="1" condition="chop" optional="false"/>
- <ingredient id="353" seq="5" min-quantity="1" unit="tsp" condition="" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="instructions">
- <step action="add" min-time="1" seq="1">salt and pepper to taste</step>
- <step action="combine" min-time="1" seq="2">and mash</step>
- </directions>
- <tags>
- <tag category="type" sequence="6">condiment</tag>
- </tags>
- </recipe>
- <recipe>
- <description>
- <title>Pizza Dough</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/abcfb6ff8d0a390532af92904db4fbfa.jpg</uri>
- <citation/>
- </photo>
- </description>
- <preparation/>
- <equipment>
- <bakeware>
- <object id="2">bowl</object>
- </bakeware>
- <cookware/>
- <kitchenware/>
- <electric>
- <object id="1">mixer</object>
- </electric>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="1361" seq="1" min-quantity="6.5" unit="cup" condition="" optional="false"/>
- <ingredient id="1349" seq="2" min-quantity="2" unit="tsp" condition="" optional="false"/>
- <ingredient id="3168" seq="3" min-quantity="3.25" unit="cup" condition="" optional="false"/>
- <ingredient id="424" seq="4" min-quantity="6" unit="tbsp" condition="" optional="false"/>
- <ingredient id="549" seq="5" min-quantity="2" max-quantity="3" unit="tsp" condition="salt" optional="false"/>
- <ingredient id="549" seq="6" min-quantity="5" unit="tbsp" condition="" optional="false"/>
- <ingredient id="1204" seq="7" min-quantity="0.5" unit="tbsp" condition="" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="instructions">
- <step action="mix" min-time="1" seq="1">yeast, sugar and salt together with a cup of water</step>
- <step action="put" min-time="1" seq="2">5 cups of flour in mixer</step>
- <step action="add" min-time="1" seq="3">yeast mixture, olive oil and water</step>
- <step action="start" min-time="1" seq="4">mixing</step>
- <step action="add" min-time="1" seq="5">remaining flour until you get a moist ball of dough</step>
- <step action="do" min-time="1" seq="6">not put to much flour in because the dough will get too dry</step>
- <step action="knead" min-time="1" seq="7">dough for around 10 minutes</step>
- <step action="leave" min-time="1" seq="8">it in the mixer and let the dough hook do the trick</step>
- <step action="cut" min-time="1" seq="9">the dough ball into 8 individual balls</step>
- <step action="coat" min-time="1" seq="10">each ball with more olive oil, put them in a bowl and let them rise over night in the fridge</step>
- <step action="take" min-time="1" seq="11">them out of the fridge an hour prior to cooking</step>
- <step action="take" min-time="1" seq="12">3 or 4 minutes to cook depending on toppings</step>
- </directions>
- <tags>
- <tag category="type" sequence="6">pizza</tag>
- </tags>
- </recipe>
- <recipe>
- <description>
- <title>Candied Grapefruit Peel Chicken</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/b1ede6618a139a7d0902b54155a7dcd4.jpg</uri>
- <citation>
- <author url="http://www.flickr.com/photos/sweetonveg/4135509624/">Jennifer</author>
- <license url="http://creativecommons.org/licenses/by/2.0/deed.en">CC BY 2.0</license>
- </citation>
- </photo>
- </description>
- <preparation/>
- <equipment>
- <bakeware>
- <object id="2">bowl</object>
- </bakeware>
- <cookware>
- <object id="1">pot</object>
- </cookware>
- <kitchenware/>
- <electric/>
- <miscellaneous/>
- <utensils/>
- </equipment>
- <ingredients id="1" label="ingredients">
- <ingredient id="549" seq="1" min-quantity="2" unit="cup" condition="" optional="false"/>
- <ingredient id="1481" seq="2" min-quantity="2" unit="cup" condition="" optional="false"/>
- <ingredient id="786" seq="3" min-quantity="10" condition="peel,quarter,slice,mince" optional="false"/>
- </ingredients>
- <directions/>
- <directions label="instructions">
- <step action="cut" min-time="1" seq="1">the fruit away from the peel</step>
- <step action="peel" min-time="1" seq="2">into slivers, approximately a centimeter wide</step>
- <step action="put" min-time="1" seq="3">sliced peels in cooking pot</step>
- <step action="add" min-time="1" seq="4">sugar and enough water to cover the peels</step>
- <step action="boil" min-time="1" seq="5">for a few hours until peels are translucent</step>
- <step action="cool" min-time="1" seq="6">in pot</step>
- <step action="roll" min-time="1" seq="7">in a bowl of granulated sugar when cool enough to handle yet still tacky</step>
- <step action="serve" min-time="1" seq="8">on fresh waxed paper</step>
- </directions>
- <tags>
- <tag category="type" sequence="6">candy</tag>
+ <ingredient name="cayenne pepper" id="124">
+ <categories>
+ <category name="spice,pepper" id="17"/>
+ </categories>
+ </ingredient>
+ <ingredient name="chianti mushroom" id="4165">
+ <categories>
+ <category name="fungi,mushroom" id="52"/>
+ </categories>
+ </ingredient>
+ <ingredient name="chili oil" id="4166">
+ <categories>
+ <category name="oil" id="15"/>
+ </categories>
+ </ingredient>
+ <ingredient name="cider vinegar" id="154">
+ <categories>
+ <category name="vinegar" id="65"/>
+ </categories>
+ </ingredient>
+ <ingredient name="cold water" id="3168">
+ <categories>
+ <category name="water" id="79"/>
+ </categories>
+ </ingredient>
+ <ingredient name="cornflour" id="1204">
+ <categories>
+ <category name="condiment" id="7"/>
+ </categories>
+ </ingredient>
+ <ingredient name="dried cranberry" id="2064">
+ <categories>
+ <category name="fruit,berry" id="1"/>
+ </categories>
+ </ingredient>
+ <ingredient name="dried shiitake mushroom" id="2071">
+ <categories>
+ <category name="fungi,mushroom" id="52"/>
+ </categories>
+ </ingredient>
+ <ingredient name="dripping" id="1225">
+ <categories>
+ <category name="fat" id="41"/>
+ </categories>
+ </ingredient>
+ <ingredient name="egg" id="205">
+ <categories>
+ <category name="egg" id="57"/>
+ </categories>
+ </ingredient>
+ <ingredient name="egg yolk" id="1117">
+ <categories>
+ <category name="egg" id="57"/>
+ </categories>
+ </ingredient>
+ <ingredient name="flaked coconut" id="1817"/>
+ <ingredient name="garlic clove" id="1405"/>
+ <ingredient name="ginger" id="247">
+ <categories>
+ <category name="spice" id="19"/>
+ </categories>
+ </ingredient>
+ <ingredient name="grapefruit" id="786">
+ <categories>
+ <category name="fruit,citrus" id="6"/>
+ </categories>
+ </ingredient>
+ <ingredient name="heavy cream" id="281">
+ <categories>
+ <category name="dairy,lactose,milk,cream" id="49"/>
+ </categories>
+ </ingredient>
+ <ingredient name="lime juice" id="353">
+ <categories>
+ <category name="fruit,citrus" id="6"/>
+ </categories>
+ </ingredient>
+ <ingredient name="olive oil" id="424">
+ <categories>
+ <category name="oil" id="15"/>
+ </categories>
+ </ingredient>
+ <ingredient name="onion" id="425"/>
+ <ingredient name="paprika" id="438">
+ <categories>
+ <category name="spice" id="19"/>
+ </categories>
+ </ingredient>
+ <ingredient name="pecan" id="908">
+ <categories>
+ <category name="seed,nut" id="14"/>
+ </categories>
+ </ingredient>
+ <ingredient name="pepper" id="452">
+ <categories>
+ <category name="spice,pepper" id="17"/>
+ </categories>
+ </ingredient>
+ <ingredient name="pie shell" id="1803"/>
+ <ingredient name="poppy seed" id="1021">
+ <categories>
+ <category name="spice" id="19"/>
+ </categories>
+ </ingredient>
+ <ingredient name="ramen noodle" id="4163"/>
+ <ingredient name="red miso" id="2829">
+ <categories>
+ <category name="vegetable,legume" id="38"/>
+ </categories>
+ </ingredient>
+ <ingredient name="romaine lettuce" id="1452"/>
+ <ingredient name="salt" id="510">
+ <categories>
+ <category name="condiment" id="7"/>
+ </categories>
+ </ingredient>
+ <ingredient name="sesame oil" id="1307">
+ <categories>
+ <category name="oil" id="15"/>
+ </categories>
+ </ingredient>
+ <ingredient name="sesame seed" id="1308">
+ <categories>
+ <category name="seed" id="18"/>
+ </categories>
+ </ingredient>
+ <ingredient name="spinach" id="543">
+ <categories>
+ <category name="vegetable" id="23"/>
+ </categories>
+ </ingredient>
+ <ingredient name="sugar" id="549"/>
+ <ingredient name="tomato" id="579">
+ <categories>
+ <category name="fruit" id="11"/>
+ </categories>
+ </ingredient>
+ <ingredient name="vanilla bean" id="592">
+ <categories>
+ <category name="vegetable,legume,bean" id="44"/>
+ </categories>
+ </ingredient>
+ <ingredient name="vanilla extract" id="1354">
+ <categories>
+ <category name="spice" id="19"/>
+ </categories>
+ </ingredient>
+ <ingredient name="vegetable oil" id="593">
+ <categories>
+ <category name="oil" id="15"/>
+ </categories>
+ </ingredient>
+ <ingredient name="water" id="1481">
+ <categories>
+ <category name="water" id="79"/>
+ </categories>
+ </ingredient>
+ <ingredient name="white miso" id="2874">
+ <categories>
+ <category name="vegetable,legume" id="38"/>
+ </categories>
+ </ingredient>
+ <ingredient name="white onion" id="1485"/>
+ <ingredient name="white sugar" id="1342"/>
+ <ingredient name="white vinegar" id="617">
+ <categories>
+ <category name="vinegar" id="65"/>
+ </categories>
+ </ingredient>
+ <ingredient name="white wine vinegar" id="1787">
+ <categories>
+ <category name="alcohol,wine" id="73"/>
+ <category name="vinegar" id="65"/>
+ </categories>
+ </ingredient>
+ <ingredient name="yeast" id="1349">
+ <categories>
+ <category name="fungi,yeast" id="45"/>
+ </categories>
+ </ingredient>
+ </ingredients>
+ <recipe>
+ <description>
+ <title>Almond &amp; Spinach Salad</title>
+ <photo>
+ <uri/>
+ <citation/>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="97" seq="1" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="11" seq="2" min-quantity="0.75" unit="cup" condition="blanch,slivered" optional="false"/>
+ <ingredient id="543" seq="3" min-quantity="1" unit="lb" condition="rinse,tear" optional="false"/>
+ <ingredient id="2064" seq="4" min-quantity="1" unit="cup" condition="" optional="false"/>
+ <ingredient id="1308" seq="5" min-quantity="2" unit="tbsp" condition="toast" optional="false"/>
+ <ingredient id="1021" seq="6" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="1342" seq="7" min-quantity="0.5" unit="cup" condition="" optional="false"/>
+ <ingredient id="425" seq="8" min-quantity="2" unit="tsp" condition="mince" optional="false"/>
+ <ingredient id="438" seq="9" min-quantity="0.25" unit="tsp" condition="" optional="false"/>
+ <ingredient id="1787" seq="10" min-quantity="0.25" unit="cup" condition="" optional="false"/>
+ <ingredient id="154" seq="11" min-quantity="0.25" unit="cup" condition="" optional="false"/>
+ <ingredient id="593" seq="12" min-quantity="0.5" unit="cup" condition="" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="melt" min-time="1" seq="1">butter over medium heat</step>
+ <step action="cook" min-time="1" seq="2">and stir almonds in butter until lightly toasted</step>
+ <step action="remove" min-time="1" seq="3">from heat, and let cool</step>
+ <step action="whisk" min-time="1" seq="4">together the sesame seeds, poppy seeds, sugar, onion, paprika, white wine vinegar, cider vinegar, an</step>
+ <step action="toss" min-time="1" seq="5">with spinach just before serving</step>
+ <step action="combine" min-time="1" seq="6">the spinach with the toasted almonds and cranberries</step>
+ </directions>
+ <tags/>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Basic Guacamole</title>
+ <photo use="recipe-inset">
+ <uri>/tmp/latex/4/20/2d11e535f831c86bbf00385b11b3208f.jpg</uri>
+ <citation/>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="701" seq="1" min-quantity="3" max-quantity="4" condition="" optional="false"/>
+ <ingredient id="425" seq="2" min-quantity="1" condition="dice" optional="false"/>
+ <ingredient id="1405" seq="3" min-quantity="1" condition="mince" optional="false"/>
+ <ingredient id="579" seq="4" min-quantity="1" condition="chop" optional="false"/>
+ <ingredient id="353" seq="5" min-quantity="1" unit="tsp" condition="" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="add" min-time="1" seq="1">salt and pepper to taste</step>
+ <step action="combine" min-time="1" seq="2">and mash</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">condiment</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Caesar'S Substitution Salad</title>
+ <photo>
+ <uri/>
+ <citation/>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1452" seq="1" min-quantity="1" unit="head" condition="" optional="false"/>
+ <ingredient id="617" seq="2" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="510" seq="3" min-quantity="1" unit="tsp" condition="" optional="false"/>
+ <ingredient id="1405" seq="4" min-quantity="2" condition="" optional="false"/>
+ <ingredient id="452" seq="5" min-quantity="0.5" unit="tsp" condition="" optional="false"/>
+ <ingredient id="438" seq="6" min-quantity="0.5" unit="tsp" condition="" optional="false"/>
+ <ingredient id="908" seq="7" min-quantity="0.25" unit="cup" condition="chop" optional="false"/>
+ <ingredient id="124" seq="8" min-quantity="0.5" unit="tsp" condition="" optional="false" substitute="438"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions"/>
+ <tags/>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Candied Grapefruit Peel</title>
+ <photo use="recipe-inset">
+ <uri>/tmp/latex/4/20/b1ede6618a139a7d0902b54155a7dcd4.jpg</uri>
+ <citation>
+ <author url="http://www.flickr.com/photos/sweetonveg/4135509624/">Jennifer</author>
+ <license url="http://creativecommons.org/licenses/by/2.0/deed.en">CC BY 2.0</license>
+ </citation>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware>
+ <object id="2">bowl</object>
+ </bakeware>
+ <cookware>
+ <object id="1">pot</object>
+ </cookware>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="549" seq="1" min-quantity="2" unit="cup" condition="" optional="false"/>
+ <ingredient id="1481" seq="2" min-quantity="2" unit="cup" condition="" optional="false"/>
+ <ingredient id="786" seq="3" min-quantity="10" condition="peel,quarter,slice,mince" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="cut" min-time="1" seq="1">the fruit away from the peel</step>
+ <step action="peel" min-time="1" seq="2">into slivers, approximately a centimeter wide</step>
+ <step action="put" min-time="1" seq="3">sliced peels in cooking pot</step>
+ <step action="add" min-time="1" seq="4">sugar and enough water to cover the peels</step>
+ <step action="boil" min-time="1" seq="5">for a few hours until peels are translucent</step>
+ <step action="cool" min-time="1" seq="6">in pot</step>
+ <step action="roll" min-time="1" seq="7">in a bowl of granulated sugar when cool enough to handle yet still tacky</step>
+ <step action="serve" min-time="1" seq="8">on fresh waxed paper</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">candy</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Coconut Cream Pie</title>
+ <photo use="one-page">
+ <uri>/tmp/latex/4/20/abe01ea6bfc2f6bc6dc6ad2e3667e8a7.jpg</uri>
+ <citation/>
+ </photo>
+ </description>
+ <preparation>
+ <oven unit="F" temperature="350"/>
+ </preparation>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1817" seq="1" min-quantity="1" unit="cup" condition="sweeten" optional="false"/>
+ <ingredient id="205" seq="2" min-quantity="2" condition="beat" optional="false"/>
+ <ingredient id="1342" seq="3" min-quantity="0.75" unit="cup" condition="" optional="false"/>
+ <ingredient id="9" seq="4" min-quantity="0.5" unit="cup" condition="" optional="false"/>
+ <ingredient id="510" seq="5" min-quantity="0.25" unit="tsp" condition="" optional="false"/>
+ <ingredient id="1354" seq="6" min-quantity="1" unit="tsp" condition="" optional="false"/>
+ <ingredient id="1803" seq="7" min-quantity="1" max-quantity="9" condition="bake" optional="false"/>
+ <ingredient id="1225" seq="8" min-quantity="1" unit="cup" condition="freeze,whip,thaw" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="spread" min-time="1" seq="1">the coconut on a baking sheet and bake it, stirring occasionally, until golden brown, about 5 minute</step>
+ <step action="combine" min-time="1" seq="2">the half-and-half, eggs, sugar, flour and salt and mix well</step>
+ <step action="bring" min-time="1" seq="3">to a boil over low heat, stirring constantly</step>
+ <step action="remove" min-time="1" seq="4">the pan from the heat, and stir in 3/4 cup of the toasted coconut and the vanilla extract</step>
+ <step action="top" min-time="1" seq="5">the pie</step>
+ <step action="pour" min-time="1" seq="6">the filling into the pie shell and chill until firm, about 4 hours</step>
+ <step action="top" min-time="1" seq="7">with whipped topping and with the reserved coconut</step>
+ </directions>
+ <tags>
+ <tag category="course" sequence="5">dessert</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Cr&#xE8;me Br&#xFB;l&#xE9;e</title>
+ <photo>
+ <uri/>
+ <citation/>
+ </photo>
+ </description>
+ <preparation>
+ <oven unit="F" temperature="350"/>
+ </preparation>
+ <equipment>
+ <bakeware>
+ <object id="3">ramekin</object>
+ </bakeware>
+ <cookware>
+ <object id="1">saucepan</object>
+ </cookware>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils>
+ <object id="2">knife</object>
+ </utensils>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="549" seq="1" min-quantity="0.75" unit="cup" condition="" optional="false"/>
+ <ingredient id="1117" seq="2" min-quantity="7" condition="separate" optional="false"/>
+ <ingredient id="281" seq="3" min-quantity="4" unit="cup" condition="" optional="false"/>
+ <ingredient id="592" seq="4" min-quantity="1" condition="" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="egg &amp; sugar">
+ <step action="mix" min-time="1" seq="1">egg yolks and sugar until blended</step>
+ </directions>
+ <directions label="cream &amp; bean">
+ <step action="pour" min-time="1" seq="2">the cream into a large saucepan</step>
+ <step action="cut" min-time="1" seq="3">the vanilla bean in half, lengthwise</step>
+ <step action="use" min-time="1" seq="4">the dull edge of a knife to scrape out the small black beans</step>
+ <step action="add" min-time="1" seq="5">the beans to the cream</step>
+ <step action="place" min-time="1" seq="6">the saucepan over high heat</step>
+ <step action="bring" min-time="1" seq="7">to a boil, stirring constantly</step>
+ <step action="remove" min-time="1" seq="8">immediately upon boiling</step>
+ </directions>
+ <directions label="create custard">
+ <step action="pour" min-time="1" seq="9">cream into the egg mixture, slowly, stirring constantly</step>
+ <step action="strain" min-time="1" seq="10">into ramekins, using a fine-mesh sieve</step>
+ <step action="put" min-time="1" seq="11">the ramekins in a shallow baking pan</step>
+ <step action="fill" min-time="1" seq="12">the baking pan with hot water, until it reaches halfway up the side of the ramekins</step>
+ <step action="bake" min-time="1" seq="13">for 30 minutes</step>
+ <step action="remove" min-time="1" seq="14">the ramekins from water</step>
+ <step action="cool" min-time="1" seq="15">for 10 minutes</step>
+ <step action="cover" min-time="1" seq="16">and refrigerate for 150 minutes</step>
+ </directions>
+ <tags>
+ <tag category="course" sequence="5">dessert</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Pizza Dough</title>
+ <photo use="recipe-inset">
+ <uri>/tmp/latex/4/20/abcfb6ff8d0a390532af92904db4fbfa.jpg</uri>
+ <citation/>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware>
+ <object id="2">bowl</object>
+ </bakeware>
+ <cookware/>
+ <kitchenware/>
+ <electric>
+ <object id="1">mixer</object>
+ </electric>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1361" seq="1" min-quantity="6.5" unit="cup" condition="" optional="false"/>
+ <ingredient id="1349" seq="2" min-quantity="2" unit="tsp" condition="" optional="false"/>
+ <ingredient id="3168" seq="3" min-quantity="3.25" unit="cup" condition="" optional="false"/>
+ <ingredient id="424" seq="4" min-quantity="6" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="549" seq="5" min-quantity="2" max-quantity="3" unit="tsp" condition="salt" optional="false"/>
+ <ingredient id="549" seq="6" min-quantity="5" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="1204" seq="7" min-quantity="0.5" unit="tbsp" condition="" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="mix" min-time="1" seq="1">yeast, sugar and salt together with a cup of water</step>
+ <step action="put" min-time="1" seq="2">5 cups of flour in mixer</step>
+ <step action="add" min-time="1" seq="3">yeast mixture, olive oil and water</step>
+ <step action="start" min-time="1" seq="4">mixing</step>
+ <step action="add" min-time="1" seq="5">remaining flour until you get a moist ball of dough</step>
+ <step action="do" min-time="1" seq="6">not put to much flour in because the dough will get too dry</step>
+ <step action="knead" min-time="1" seq="7">dough for around 10 minutes</step>
+ <step action="leave" min-time="1" seq="8">it in the mixer and let the dough hook do the trick</step>
+ <step action="cut" min-time="1" seq="9">the dough ball into 8 individual balls</step>
+ <step action="coat" min-time="1" seq="10">each ball with more olive oil, put them in a bowl and let them rise over night in the fridge</step>
+ <step action="take" min-time="1" seq="11">them out of the fridge an hour prior to cooking</step>
+ <step action="take" min-time="1" seq="12">3 or 4 minutes to cook depending on toppings</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">pizza</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Ramen With Shiitake Mushroom Base</title>
+ <photo use="recipe-inset">
+ <uri>/tmp/latex/4/20/68102d2d73303a676c9537aba9b48497.jpg</uri>
+ <citation>
+ <author url="http://www.flickr.com/photos/jeffreyww/6878257218/">jeffreyw</author>
+ </citation>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware>
+ <object id="1">pot</object>
+ </cookware>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="vegetables">
+ <ingredient id="1485" seq="1" min-quantity="1" condition="" optional="false"/>
+ <ingredient id="4165" seq="2" min-quantity="5" condition="" optional="false"/>
+ <ingredient id="1405" seq="3" min-quantity="1" condition="" optional="false"/>
+ <ingredient id="1481" seq="4" min-quantity="1" unit="cup" condition="" optional="false"/>
+ <ingredient id="117" seq="5" min-quantity="1" condition="" optional="false"/>
+ <ingredient id="2071" seq="6" min-quantity="2" condition="" optional="false"/>
+ <ingredient id="1308" seq="7" min-quantity="1" unit="tsp" condition="" optional="false"/>
+ <ingredient id="1307" seq="8" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="4166" seq="9" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="247" seq="10" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ </ingredients>
+ <ingredients id="2" label="broth">
+ <ingredient id="2829" seq="11" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="2874" seq="12" min-quantity="1" unit="tbsp" condition="" optional="false"/>
+ <ingredient id="3168" seq="13" min-quantity="9" unit="cup" condition="" optional="false"/>
+ <ingredient id="4163" seq="14" min-quantity="1" unit="pkg" condition="" optional="false"/>
+ </ingredients>
+ <directions/>
+ <directions label="vegetables">
+ <step action="add" min-time="1" seq="1">onion, chianti mushrooms, and garlic to a pot of water</step>
+ <step action="add" min-time="1" seq="2">salt and pepper to taste</step>
+ <step action="cover" min-time="1" seq="3">and cook on medium heat for two minutes</step>
+ <step action="add" min-time="1" seq="4">carrots, dried shiitake mushrooms, sesame seeds, sesame oil, and chili oil</step>
+ <step action="cook" min-time="1" seq="5">for 10 minutes</step>
+ <step action="combine" min-time="1" seq="6">ginger and both miso, then add them to the mix</step>
+ <step action="cook" min-time="1" seq="7">for one to two minutes</step>
+ <step action="pour" min-time="1" seq="8">9 cups of cold water</step>
+ <step action="bring" min-time="1" seq="9">to a boil</step>
+ <step action="let" min-time="1" seq="10">simmer for two hours</step>
+ </directions>
+ <directions label="noodles">
+ <step action="drain" min-time="1" seq="11">the vegetables and press to make a broth</step>
+ <step action="boil" min-time="1" seq="12">broth with noodles and add toppings</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">soup</tag>
</tags>
</recipe>
xsl/latex.xsl
<xsl:text>\end{preparation}&#xa;</xsl:text>
</xsl:if>
+
+ <!--
+ | If non-empty substitutions, insert a substitution section.
+ +-->
+ <xsl:if test="ingredient[@substitution != '']">
+ <xsl:text>\begin{substitution}&#xa;</xsl:text>
+ <xsl:apply-templates select="ingredient[@substitution != '']" mode="subst" />
+ <xsl:text>\end{substitution}&#xa;</xsl:text>
+ </xsl:if>
</xsl:template>
+-->
<xsl:template match="ingredient[@condition != '']" mode="prep">
+ <xsl:for-each select=".">
+ <xsl:text>\item </xsl:text>
+ <xsl:apply-templates select="@condition" mode="prep" />
+ <xsl:text> the </xsl:text>
+ <xsl:apply-templates select="key('ingredient-id', @id)/@name" />
+ <xsl:text>.&#xa;</xsl:text>
+ </xsl:for-each>
+</xsl:template>
+
+<!--
+ | Extracts substitution instructions from ingredients.
+ +-->
+<xsl:template match="ingredient[@substitute != '']" mode="subst">
+<!--
<xsl:for-each select=".">
<xsl:text>\item </xsl:text>
<xsl:apply-templates select="@condition" mode="prep" />
<xsl:text> the </xsl:text>
<xsl:apply-templates select="key('ingredient-id', @id)/@name" />
<xsl:text>.&#xa;</xsl:text>
</xsl:for-each>
+-->
</xsl:template>