Dave Jarvis' Repositories

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

Citations.

Author Dave Jarvis <email>
Date 2013-03-01 19:33:07 GMT-0800
Commit baa524cc895f963acf434e099f0df28b1f4376c9
Parent 9ed3097
Delta 541 lines added, 359 lines removed, 182-line increase
example-book.xml
<photo use="front-cover">
<uri>/tmp/latex/4/20/4bcfb10d5029fe91c553a6cbdb3144f8.png</uri>
- </photo>
- </book>
- <ingredients>
- <ingredient name="all-purpose flour" id="9">
- <categories>
- <category name="seed,grain,wheat,flour" id="71"/>
- </categories>
- </ingredient>
- <ingredient name="avocado" id="701">
- <categories>
- <category name="fruit" id="11"/>
- </categories>
- </ingredient>
- <ingredient name="bread flour" id="1361">
- <categories>
- <category name="seed,grain,wheat,flour" id="71"/>
- </categories>
- </ingredient>
- <ingredient name="carrot" id="117">
- <categories>
- <category name="vegetable" id="23"/>
- </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="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 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="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="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="pie shell" id="1803"/>
- <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="sugar" id="549"/>
- <ingredient name="tomato" id="579">
- <categories>
- <category name="fruit" id="11"/>
- </categories>
- </ingredient>
- <ingredient name="vanilla extract" id="1354">
- <categories>
- <category name="spice" id="19"/>
- </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="yeast" id="1349">
- <categories>
- <category name="fungi,yeast" id="45"/>
- </categories>
- </ingredient>
- </ingredients>
- <recipe>
- <description>
- <title>Pizza Dough</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/abcfb6ff8d0a390532af92904db4fbfa.jpg</uri>
- </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>
- </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>Candied Grapefruit Peel Chicken</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/b1ede6618a139a7d0902b54155a7dcd4.jpg</uri>
- </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>Basic Guacamole</title>
- <photo use="recipe-inset">
- <uri>/tmp/latex/4/20/2d11e535f831c86bbf00385b11b3208f.jpg</uri>
- </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>Coconut Cream Pie</title>
- <photo use="one-page">
- <uri>/tmp/latex/4/20/abe01ea6bfc2f6bc6dc6ad2e3667e8a7.jpg</uri>
- </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>
+ <citation>
+ <author url="http://www.whitemagicsoftware.com">Dave Jarvis</author>
+ <license url="http://creativecommons.org/licenses/by/2.0/deed.en">CC BY 2.0</license>
+ </citation>
+ </photo>
+ </book>
+ <ingredients>
+ <ingredient name="all-purpose flour" id="9">
+ <categories>
+ <category name="seed,grain,wheat,flour" id="71"/>
+ </categories>
+ </ingredient>
+ <ingredient name="almond" id="11">
+ <categories>
+ <category name="seed,nut,almond" id="80"/>
+ </categories>
+ </ingredient>
+ <ingredient name="avocado" id="701">
+ <categories>
+ <category name="fruit" id="11"/>
+ </categories>
+ </ingredient>
+ <ingredient name="bread flour" id="1361">
+ <categories>
+ <category name="seed,grain,wheat,flour" id="71"/>
+ </categories>
+ </ingredient>
+ <ingredient name="butter" id="97">
+ <categories>
+ <category name="condiment" id="7"/>
+ <category name="dairy" id="8"/>
+ <category name="fat" id="41"/>
+ </categories>
+ </ingredient>
+ <ingredient name="carrot" id="117">
+ <categories>
+ <category name="vegetable" id="23"/>
+ </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>
</tags>
</recipe>
sql/views/book_photograph_vw.sql
CREATE OR REPLACE VIEW recipe_book.book_photograph_vw AS
SELECT
+ rp.id AS photograph_id,
rbbr.book_id,
- rp.recipe_id,
+ rrp.recipe_id,
rp.image_url,
rp.photograph_category_id,
rpc.label AS photograph_category
FROM
- recipe_book.book_recipe rbbr,
recipe.photograph rp,
+ recipe.recipe_photograph rrp,
+ recipe_book.book_recipe rbbr,
recipe.photograph_category rpc
WHERE
- rpc.classification = 'RECIPE' AND
- rbbr.recipe_id = rp.recipe_id AND
- rpc.id = rp.photograph_category_id
+ rp.id = rrp.photograph_id AND
+ rp.id = rbbr.recipe_id AND
+ rp.photograph_category_id = rpc.id AND
+ rpc.classification = 'RECIPE'
UNION ALL
SELECT
+ rp.id AS photograph_id,
rbbp.book_id,
NULL AS recipe_id,
- rbbp.image_url,
- rbbp.photograph_category_id,
+ rp.image_url,
+ rp.photograph_category_id,
rpc.label AS photograph_category
FROM
+ recipe.photograph rp,
recipe_book.book_photograph rbbp,
recipe.photograph_category rpc
WHERE
- rpc.classification = 'BOOK' AND
- rbbp.photograph_category_id = rpc.id;
-
+ rp.id = rbbp.photograph_id AND
+ rp.photograph_category_id = rpc.id AND
+ rpc.classification = 'BOOK';