User:Meeskond: VeebiGurmaanid
From ICO wiki
Meeskond: VeebiGurmaanid
Meeskond
- Koit Kõrvel
- Marko Kask
- Melissa Eenmaa
- Joosep Koort
Idee
XML fail
Retseptid koos nende valmistamisjuhenditega.
<?xml version="1.0" encoding="utf-8"?>
<retseptiraamat>
<retseptid>
<retsept retseptID="1" autorId="1" kategooria="kalatoidud" nimetus="kalasupp">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="200">Vesi</komponent>
<komponent komponentID="2" nimetus="kala" komponentMootyhik="g" kogus="300">Kala</komponent>
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="6" nimetus="kaalikas" komponentMootyhik="g" kogus="50">Kaalikas</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Hakkida juurviljad</valmistamisjuhend>
<valmistamisjuhend>2.Lisada kala</valmistamisjuhend>
<valmistamisjuhend>3.Keeta 20 minutit</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="2" autorId="2" kategooria="linnulihatoidud" nimetus="kanapasta">
<komponendid>
<komponent komponentID="7" nimetus="kanafilee" komponentMootyhik="g" kogus="300">Kanafilee</komponent>
<komponent komponentID="8" nimetus="makaronid" komponentMootyhik="g" kogus="300">Makaronid</komponent>
<komponent komponentID="9" nimetus="sinihalitusjuust" komponentMootyhik="g" kogus="30">Sinihallitusjuust</komponent>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="70">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Praadida kanafilee</valmistamisjuhend>
<valmistamisjuhend>2.Keeta makaronid</valmistamisjuhend>
<valmistamisjuhend>3.Segada k�ik kokku</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="3" autorId="2" kategooria="taimetoidud" nimetus="lihata praekartulid">
<komponendid>
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="5">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Kuumuta pannil �li</valmistamisjuhend>
<valmistamisjuhend>2.Lisa kartulid ja sibul,prae 15 minutit</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="4" autorId="2" kategooria="magustoidud" nimetus="hõrk kohuke">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="20">Vesi</komponent>
<komponent komponentID="13" nimetus="kohupiim" komponentMootyhik="g" kogus="100">Kohupiim</komponent>
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="50">Suhkur</komponent>
<komponent komponentID="15" nimetus="šokolaad" komponentMootyhik="g" kogus="75">Šokolaad</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Maitsestada kohupiim</valmistamisjuhend>
<valmistamisjuhend>2.Šokolaad tuleb panna sulama</valmistamisjuhend>
<valmistamisjuhend>3.Kata kohupiim õrna šokolaadi kihiga.</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="5" autorId="1" kategooria="pirukad" nimetus="porgandipirukad">
<komponendid>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent>
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="20">Suhkur</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="30">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent>
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="100">Jahu</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Tee tainas valmis</valmistamisjuhend>
<valmistamisjuhend>2.Pane taigna sisse tükeldatud porgandid</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
<valmistamisjuhend>4.Prae pirukad kuumas õlis.</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="6" autorId="1" kategooria="kastmed" nimetus="jahukaste kartulitele">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="100">Vesi</komponent>
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="10">Jahu</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Tükelda sibulad</valmistamisjuhend>
<valmistamisjuhend>2.Sega jahu läbi veega</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
<valmistamisjuhend>4.Lisa sibulad jahukastmesse</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
</retseptid>
</retseptiraamat>
XSD fail
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="retseptiraamat">
<xs:complexType>
<xs:sequence>
<xs:element name="retseptid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="retsept">
<xs:complexType>
<xs:sequence>
<xs:element name="komponendid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="komponent">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="komponentID" type="xs:unsignedByte" use="required" />
<xs:attribute name="nimetus" type="xs:string" use="required" />
<xs:attribute name="komponentMootyhik" type="xs:string" use="required" />
<xs:attribute name="kogus" type="xs:unsignedShort" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="valmistamisjuhendid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="valmistamisjuhend" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="retseptID" type="xs:unsignedByte" use="required" />
<xs:attribute name="autorId" type="xs:unsignedByte" use="required" />
<xs:attribute name="kategooria" type="xs:string" use="required" />
<xs:attribute name="nimetus" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
XSLT => HTML: Kõikide retseptide kuvamine, koos komponentidega.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>Toidud</title>
</head>
<body>
<h2>Toidud</h2>
<ul>
<xsl:for-each select="retseptiraamat/retseptid/retsept" >
<xsl:sort select="@nimetus" order="ascending"/>
<table border="1">
<tr>
<td>Nimetus</td>
<td>
<xsl:value-of select="@nimetus"/>
</td>
</tr>
<tr>
<td>retseptID</td>
<td>
<xsl:value-of select="@retseptID"/>
</td>
</tr>
<tr>
<td>autorID</td>
<td>
<xsl:value-of select="@autorId"/>
</td>
</tr>
<tr>
<td>kategooria</td>
<td>
<xsl:value-of select="@kategooria"/>
</td>
</tr>
<xsl:for-each select="komponendid">
<tr>
<td>Komponendid</td>
<td>
<xsl:for-each select="komponent">
<li>
<xsl:value-of select="." />
</li>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</table>
<xsl:if test="not(position()=last())">
<br />
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT_Teine
XSLT => HTML: Retseptide kuvamine, mille autoriks on autorid=2
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<h1>Minu Retseptid</h1>
<ul>
<xsl:for-each select="retseptiraamat/retseptid/retsept" >
<xsl:sort select="@nimetus" order="ascending"/>
<xsl:if test = "@autorId ='2'">
<li>
<xsl:value-of select="@nimetus"/>
</li>
<ul>
<xsl:for-each select="valmistamisjuhendid/valmistamisjuhend">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT_kolmas_xml
XSLT => XML: Retsepti komponentide kuvamine retsepti ID järgi.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="retseptid">
<xsl:for-each select="retseptiraamat/retseptid/retsept">
<xsl:element name="retsept">
<xsl:attribute name="retseptID">
<xsl:value-of select="@retseptID"/>
</xsl:attribute>
<xsl:copy-of select="komponendid"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Tulemuseks on selline asi:
<retseptid>
<retsept retseptID="1">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="200">Vesi</komponent>
<komponent komponentID="2"
nimetus="kala"
komponentMootyhik="g"
kogus="300">Kala</komponent>
<komponent komponentID="3"
nimetus="kartul"
komponentMootyhik="g"
kogus="100">Kartul</komponent>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="100">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="6"
nimetus="kaalikas"
komponentMootyhik="g"
kogus="50">Kaalikas</komponent>
</komponendid>
</retsept>
<retsept retseptID="2">
<komponendid>
<komponent komponentID="7"
nimetus="kanafilee"
komponentMootyhik="g"
kogus="300">Kanafilee</komponent>
<komponent komponentID="8"
nimetus="makaronid"
komponentMootyhik="g"
kogus="300">Makaronid</komponent>
<komponent komponentID="9"
nimetus="sinihalitusjuust"
komponentMootyhik="g"
kogus="30">Sinihallitusjuust</komponent>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="70">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
</komponendid>
</retsept>
<retsept retseptID="3">
<komponendid>
<komponent komponentID="3"
nimetus="kartul"
komponentMootyhik="g"
kogus="100">Kartul</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="11"
nimetus="toidu�li"
komponentMootyhik="g"
kogus="5">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent>
</komponendid>
</retsept>
<retsept retseptID="4">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="20">Vesi</komponent>
<komponent komponentID="13"
nimetus="kohupiim"
komponentMootyhik="g"
kogus="100">Kohupiim</komponent>
<komponent komponentID="14"
nimetus="suhkur"
komponentMootyhik="g"
kogus="50">Suhkur</komponent>
<komponent komponentID="15"
nimetus="šokolaad"
komponentMootyhik="g"
kogus="75">Šokolaad</komponent>
</komponendid>
</retsept>
<retsept retseptID="5">
<komponendid>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="100">Porgand</komponent>
<komponent komponentID="14"
nimetus="suhkur"
komponentMootyhik="g"
kogus="20">Suhkur</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="11"
nimetus="toidu�li"
komponentMootyhik="g"
kogus="30">Toidu�li</komponent>
<komponent komponentID="12"
nimetus="sool"
komponentMootyhik="g"
kogus="10">Sool</komponent>
<komponent komponentID="16"
nimetus="jahu"
komponentMootyhik="g"
kogus="100">Jahu</komponent>
</komponendid>
</retsept>
<retsept retseptID="6">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="100">Vesi</komponent>
<komponent komponentID="16"
nimetus="jahu"
komponentMootyhik="g"
kogus="10">Jahu</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="12"
nimetus="sool"
komponentMootyhik="g"
kogus="10">Sool</komponent>
</komponendid>
</retsept>
</retseptid>