<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saaver</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saaver"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Saaver"/>
	<updated>2026-05-06T00:00:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=34058</id>
		<title>Võrgurakendused II: 2011 kevadel valminud kodutööd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=34058"/>
		<updated>2011-06-06T19:59:10Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Jaan Igamees=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kert Suvi=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Helen Muidik=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Mihkel Sokk=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Seda Sahradyan=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Priit Siimo=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22Hungry_Student_Food_Board%22]]&lt;br /&gt;
&lt;br /&gt;
=Siim Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Jaanus Vallmann=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Kujuneb&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Reigo Männiste=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Karl Männil=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Ilmar Telga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Siim Aaver=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Taavi Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_&amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_Tool]]&lt;br /&gt;
&lt;br /&gt;
=Jaan Kruusma=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Andrus Reedla=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Jaak Lehtsalu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt  [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Jana Mrots=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Heiki Tamm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Meeskond&amp;quot;]]&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Toomas Soha=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22C_terav%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22Tact%22]]&lt;br /&gt;
&lt;br /&gt;
=Miina Sikk=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Rauno Rüga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Tanel Liiv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Gaspar Karm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Joosep Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Taivo Türnpu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Sander Baikov=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Allar Anijago=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Kaspar Kallasmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jarko Kaskmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
&lt;br /&gt;
=Lauri Kermas=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Kõue=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele https://wiki.itcollege.ee/index.php/Talk:Meeskond_Tool&lt;br /&gt;
** Arvustus veebiteenuse klientidele https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22FoodWars%22&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hungry_Student_Food_Board%22#Projekti_Arvustus&lt;br /&gt;
&lt;br /&gt;
=Erik Kaju=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mailis Toompuu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Kõosaar=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Gert Glükmann=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Martin Lensment=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]] ja [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Sildaru=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Kruuser=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Tamm=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34057</id>
		<title>Talk:Meeskond &quot;Tyhik&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34057"/>
		<updated>2011-06-06T19:58:20Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
Meeskonna Tyhik loodud kinokavade xml faili struktuur on nõuetekohane, kenasti stiilis &lt;br /&gt;
&amp;lt;kinod&amp;gt;&lt;br /&gt;
   &amp;lt;kino&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
ning &lt;br /&gt;
&amp;lt;filmid&amp;gt;&lt;br /&gt;
   &amp;lt;film&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
Stiili- ja abifailid on olemas ning kui ma neid läbi vaatasin, siis vigu ei tuvastanud.&lt;br /&gt;
Lehe esialgne kujundus on hea, mulle meeldib.&lt;br /&gt;
Kokkuvõttes: minu arvates hea raam, millele veebirakendus ümber ehitada.&lt;br /&gt;
&lt;br /&gt;
Indrek Tamm, meeskond Tool, 4.III.2011&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Võib öelda, et XML on väga põhjalik ja seal on kajastatud kõik andmed, mis kinokülastajale huvi võiksid pakkuda. Isiklikult ei leidnudki kohta, kus oleks tahtnud midagi teistmoodi teha. Sellise XML põhjal on kindlasti võimalik korralik teenus ja klientrakendus ehitada. Samuti on olemas skeemifail ja korralik XSLT, mis esitab andmeid vägagi loetaval ja ülevaatlikul kujul.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver, D21&lt;br /&gt;
&lt;br /&gt;
Uurides XML, uurisin mis uurisin aga ei oska kohe midagi ette heita. XML fail tundub ilusti struktureeritud, ja paistab et on olemas ka kõik vajalikud asjad, mis kinosüsteemis peaksolemas olema. Kõik failid on korralikult loetaavad ja arusaamisega probleeme ei teki. Lihtne ülesehitus.&lt;br /&gt;
&lt;br /&gt;
Jaak Lehtsalu D22&lt;br /&gt;
&lt;br /&gt;
XML fail keskendub elementidele, struktuur on loogiline. Andmed hoitakse võimalikult detailselt, nii et midagi halba pole öelda. Skeemifailis on seatud elementidele vastavusse andmetüübid, mida neis hoitakse, korralik töö. Stiilifail mitte ainult ei loe lihtsalt XMLi elementide sisu vaid paneb need ka stiliseeritud tabelisse, mis parandab loetavust. Tore oleks tõesti sait, kust kerge kinodes toimuvast infot saada ning see on hea põhi sellise teenuse loomiseks.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
Väga põhjalik XML fail ning väga hästi ülesehitatud stiilifail. Kõik vajalik on olemas ning veel lisaks ka muudki.&lt;br /&gt;
&lt;br /&gt;
Nimetused oleks võinud teistmoodi üles ehitada. Seal on olemas originaal ning tõlgitud filmi nimi, kuid sinna võiks olla võimalik lisada ka muid keeli. Kuigi kui rakendus jääbki ainult eesti keelseks siis pole vahet.&lt;br /&gt;
&lt;br /&gt;
Jarko Kaskmaa D21&lt;br /&gt;
&lt;br /&gt;
XML fail on ülesehituse poolest põhjalik. Nõuded on täidetud ja struktrueering paigas. Stiilifail samuti soliidne ja põhjalik. Etteheiteid puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Teenuse arvamus&lt;br /&gt;
&lt;br /&gt;
Erinevaid teenuseid tundub olevat piisavalt palju, et antud veebiteenusele&lt;br /&gt;
saaks ehitada ühe korraliku ja kasuliku rakenduse. &lt;br /&gt;
Natuke tekitavad kahtlused näitkes võta hind, kustuta hind - mille jaoks neid vaja on?&lt;br /&gt;
Kui see käib mingi seansi kohta, siis võiks see olla näiteks filmi objekti küljes&lt;br /&gt;
koos teiste filmi parameetritega. Kui liiga palju meetoteid on, pole ka alati hea.&lt;br /&gt;
Aga samas, see on minu arvamus. Edu!&lt;br /&gt;
&lt;br /&gt;
Taavi Ilves D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Tegelikult saab filmi küsimise meetodile öelda, kas ta annab ka alamobjektid (hind, zanr, inimesed jne) või mitte. &lt;br /&gt;
Eraldi ongi sellepärast, et saaks küsida ainult filmi kohta infot. Pannes üheks parameetriks &amp;quot;true&amp;quot;, siis pistetakse&lt;br /&gt;
hind filmi objekti külge. Samas on vaja hinda eraldi pärida näiteks kino hinnakirja genereerimiseks. Ning hindasid&lt;br /&gt;
peab saama eraldi ka kustutada, kuna hinnad ei ole ju jäigalt seotud filmiga vaid ikka kinoga.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Teenuseid on korralik hulk, kuid Eestikeelsed API nimed ei ole arusaadavad välismaalastele. Segadust tekitab veel &amp;quot;anna*&amp;quot; ja &amp;quot;võta*&amp;quot;, kas mina annan talle ja ta võtab, või võtab tema ja annab mulle - nimi peaks ütleme kohe mis suunas liiklus käib. Tundub et mõned päringud saaks kokku &#039;&#039;mergeda&#039;&#039;, näiteks annaFilmid ja annaFilmidNimi. Üldiselt aga on kena :)&lt;br /&gt;
&lt;br /&gt;
-Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Esimese asjana hakkas silma, et te olete iga päringu tüübi jaoks teinud eraldi teenuse. Minu arvates koodi loetavuse mõttes on see hea, aga teenust ennast oleks mugavam kasutada kui kõik meetodid oleks üheks teenuseks koondatud.&lt;br /&gt;
Üldiselt tundub, et teenusel on olemas kõikvõimalikud meetodid, mida vaja võiks minna. Positiivne on, et peaaegu kõigil meetoditel on olemas ka kirjeldus, et mida see teeb ning mis parameetreid vajab.&lt;br /&gt;
Projektiga võiksite .sln või vähemalt .csproj failid ka kaasa panna, et visual studios parem vaadata oleks ning käivitada saaks.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Üks põhjus, miks jagasime tükkideks oligi loetavus. Teine põhjus on see, et kui keegi peaks avaldama soovi rakenduse tegemiseks meie teenusele, siis saame anda ligipääsu ainult &amp;quot;AnnaTeenus&amp;quot;-ele. Kui keegi teeb lihtsalt kinokava kuvamise rakenduse, siis pole tal vaja ei lisamise ega kustutamise teenust/meetodeid näha.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Wiki lehel on teenuse all välja toodud kõik meetodid, aga pole ühelegile meetodile juurde kirjutatud mida too teeb, aga mis on hea - kui lähtekoodi uurida siis seal on iga meetodi juures ära kirjeldatud, mida too teeb ja mida ta tagastab. Lisaks häirib kasutatud &amp;quot;estenglish&amp;quot; kasutamine lähtekoodis, st meetodi nimed on eesti keelsed. Üldiselt kood on loetav ja ilusti struktureeritud.&lt;br /&gt;
&lt;br /&gt;
Toomas Soha D21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Nõuded teenuse osas on täidetud. Teenuste hulk on suur ja positiivne nähtus on koodi kommenteerimine. Struktrueering loogiliselt ülesehitatud. Teenuse osas etteheited puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Kuna viibin hetkel arvuti taga kus ma ei saa visual studiot kasutada siis ei saa  nii täpset arvustust anda(nägin teie esitust klassis). Tahaks öelda mis häirib on see, et meetoid ja asjad on eestikeelsed. Rohkem oleksite võinud kommenteerida ka, kuigi esmapilgul tundus kõik suhteliselt arusaadav. Muidu on idee täitsa hea ja kindlasti seda täiendades saaks täiesti reaalselt kasutatava rakenduse ;) &lt;br /&gt;
&lt;br /&gt;
Madis Sildaru D32&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Esitluse ajal tundus kõik kenasti töötavat. Adminipool funktsioneeris ja täitis nõutud nõuded. Disain ja kasutajamugavus oli arvestatav. Mina isklikult olin tulemtustega rahul.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esiteks ei ole projektil kaasas solution faili, VS ei oska sortsuga ilma selleta midagi peale hakata. Kuna loen faile Notepad++&#039;sis siis, virisen peaasjalikult sortsu kallal :)&lt;br /&gt;
*Sorts on eesti keeles :/&lt;br /&gt;
*Int32.Parse(Request.QueryString[&amp;quot;id&amp;quot;]); stiilis asjad peaks olema try-catch ploki sees.&lt;br /&gt;
* Üldse kogu see data komplekteerimine on väga mitte OOP: kisute ühe andmestruktuuri lahti ja lisati tema objektid kõik eraldi teistesse objektidesse ning siis söödate need objektid alles kuvamise loogikasse. Võiks ju kohe (nt. film.inimesed) Repeaterisse sööta. &lt;br /&gt;
*Kinokava.aspx.cs: treppimine on vale&lt;br /&gt;
*Response.Redirect(&amp;quot;Kinokava.aspx?id=&amp;quot; + id + &amp;quot;&amp;amp;paev=&amp;quot; + paev + &amp;quot;&amp;amp;kuu=&amp;quot; + kuu + &amp;quot;&amp;amp;aasta=&amp;quot; + aasta); selline URI ehitamine võiks näiteks eraldi meetod olla juba, niimoodi on inetu.&lt;br /&gt;
*Kommentaarid puuduvad koodis.&lt;br /&gt;
&lt;br /&gt;
Need olid peamised möödalaskmised mis silma hakkasid. Suures pildis on kena :)&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kino teema on väga huvitav ja hea teema. Proovisin ka ise midagi sellist ühe teise aine raames teha.&lt;br /&gt;
&lt;br /&gt;
Lisan siia, kuidas mulle meeldib koodi kirjutada (mitte mis valesti on):&lt;br /&gt;
&lt;br /&gt;
Vähegi suurema projekti puhul ei kasutaks linq&#039;t, kuna ta genereerib palju tarbetud koodi. Kui ma ei eksi, siis teil on hetkel nii linq kui oma loodud klassid. Andmebaasist kustutamise arvelt saaks palju kokku hoida, kuna tegelikult on ju parem kui jääb kõik ajalugu alles. Filmi / kino saab lihtsalt märkida suletuks. &lt;br /&gt;
Mida suurem projekt, seda rohkem tuleb klasse nagunii, seega ma ei teeks igale suvalisele väärtusele klassi, vaid realiseeriks täpselt niipalju meetodeid, kui parasjagu tarvis läheb. Samuti, kui vähegi võimalik, koondaks ühe teema funktsioonid ühte klassi (n: select, insert, delete jne).&lt;br /&gt;
&lt;br /&gt;
Kliendi pool oli lahedalt kujundatud ja ka repeaterite kasutamine oli hea mõte. &lt;br /&gt;
Ma kasutaks ka webUserControl elemente, siis ei peaks nii palju erinevaid lehti tegema ja saaks ka teinekord kasutada.&lt;br /&gt;
&lt;br /&gt;
PS! Seda, ma tulin teie projekti hindama lootuses, et saan mõne hea kommenteerimis vihje aga... &lt;br /&gt;
ei saa öelda, et ma just palju kommentaare oleks leidnud  :)&lt;br /&gt;
&lt;br /&gt;
Priit Siimo&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Teenuse aluseks olev andmebaas on lihtne ja hea. Vajalikud lisaseosed on loodud. Teenuse meetodite hulk on suur ning see on mõistetav, kui tegu on nii rohkelt infot nõudva valdkonna käsitlusega. Kood teenuses on kommenteeritud ja meetodid ise võimalikult erinevates klassides. Lihtne lugeda ja mõista, mis kus asub. Hästi tehtud.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Esmalt kiidusõnad graafilise poole eest. Vaeva on nähtud lehe disainimisega ning seda on hea näha. Mõistmatuks jäi pordi määramise vajalikkus, ehk annab seda vähe rohkem selgitada. Lehe funktsionaalsus oli mulle meeltmööda ning funktsioonid töötasid kenasti. Oli üks katkine link... sitemap. Aga selge see, et rakenduse ja teenuse toimimise näitas tehtu kenasti ära. Rakenduse eesmärk igati täidetud ja hindeks annaksin 5 (pluss jääb ära katkise lingi tõttu).&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kasutajaliides näeb päris kena välja, mulle meeldib. Enamus funktsionaalsust on ka juba valmis ehitatud ja kõik tundub loogiliselt paigutatuna. Meeldis, et kõik väljad on ka valideeritud. Teenuste, meetodite ja muutujate nimed oleks te pidanud siiski paremini läbi mõtlema. Leidsin koodist sellised raskesti mõistetavad või isegi koomilised read:         &lt;br /&gt;
        List&amp;lt;Film&amp;gt; annalist = new List&amp;lt;Film&amp;gt;();&lt;br /&gt;
        Anna uusanna = new Anna();&lt;br /&gt;
        var film = uusanna.annaFilmid(...);&lt;br /&gt;
Kahjuks teenust ja klientrakendust koos enda arvutis tööle ei saanudki MS SQL probleemide tõttu. Ei taipa miks Microsoft peab erinevaid, üksteisega mitteühilduvaid versioone nii palju sellest tegema.&lt;br /&gt;
&lt;br /&gt;
Teil on küll kõigesti üks klientrakendus, aga samas on see suhteliselt korralikult tehtud.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Meeskond valis hea teema. Kino infosüsteemi on kindlasti midagi, mida saaks ka reaalselt kasutada, muidugi kui kõik väga korralikult teha ning rakendust piisavalt siluda. Samas oleks võinud selle teema kohta alguses wikis ka natuke juttu olla, et  millist lõpptulemust oodatakse, millise funktsionaalsusega ning mis rakendustega.&lt;br /&gt;
&lt;br /&gt;
XML tehti igati korralikult nagu ka teenusekiht, kus kõik teemade kaupa ilusasti ära oli jagatud. Rakenduse puhul meeldis mulle välimus, mis jäi kohe positiivse asjan silma. On küll sees väiksemaid buge, kuid põhifunktsionaalsus paistab töötavat.&lt;br /&gt;
&lt;br /&gt;
Meeskonna toimimise poole pealt on hea näha seda, et võeti kasutusele teises aines õpitud ekstreemprogrammeerimise praktika, et rakendust tõhusamalt ehitada. Lisaks tehti enamus asju ühiselt valmis, seega ilmselt kõik meeskonnaliikmeid panustasid korralikult lõpptulemusele.&lt;br /&gt;
&lt;br /&gt;
Kui jätta välja teine klientrakendus, siis tundub, et kõik nõuded said täidetud, muidugi wiki oleks võinud natuke põhjalikum olla. Aga vaadates üldist projektide taset, siis igati korralik tulemus !&lt;br /&gt;
&lt;br /&gt;
Rauno Rüga, D21&lt;br /&gt;
&lt;br /&gt;
[[User:Rruga|Rruga]]&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Kinokavade süsteem on väga huvitav valik. Wikis olev info maht on peaaegu sobiv - puudu jääb ehk vaid detailsemast süsteemiloogikast. Näiteks oleksin huvitatud lugemast täpsemalt kliendi andmevahetuse protokollist.&lt;br /&gt;
&lt;br /&gt;
XML on üldiselt korralik, kuid wikis seisab punkt et süsteem toeta vaid ühte filmi, kas see on iganenud väide või on asi tõesti niimoodi? Mõlemad variandid ei ole eriti kiiduväärt. API on suures plaanis kena, küll aga ei meeldi see &amp;quot;võta&amp;quot; vs. &amp;quot;anna&amp;quot; nimede valik...API meetodite nimed peaks olema ikka nii iseenesestmõistetavad kui vähegi võimalik. &lt;br /&gt;
&lt;br /&gt;
Meeskonnatöö tundub ka huvitav, punktide jaotus on kenasti lineaarne -  hea et aus ollakse. Kuigi liikmeid oli piisavalt ei saadud siiski valmis teise klientrakendusega - võibolla sellepärast et punktide jaotusest tundub et arendajate arv oli projektis siiski väike ja nad lihtsalt ei jõudnud ise kõike valmis koodida.&lt;br /&gt;
&lt;br /&gt;
Kurb oli ka kuulda et projekti arendamisel ei kasutatud versioonihaldust. See oleks olnud VÄGA vajalik kogemus kõikidele.&lt;br /&gt;
&lt;br /&gt;
Need aga on väikesed möödalaskmised, üldiselt on normaalne projekt :)&lt;br /&gt;
&lt;br /&gt;
PS! On tore näha et kasutati agiilseid arendusmeetodeid, eriti just paarisprogrammeerimist.&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv(D22)&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Tehtud töö on täitnud ilusasti nõuded. Valikud realiseerimisel ja esitlemisel on tehtud targalt. Kood on kommenteeritud, see võimaldab tervikpilti kogulahendusest tunduvalt kiiremini luua kui mõne teise projekti puhul. Üldise välimusega võib rahule jääda ja suuremaid etteheiteid pole. Lõpptulemust annab rakendada ka tavaellu. &lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi tehtud. Nõuetest on puudu vaid teine klientrakendus. Vahearvestustes on projekti erinevate osade kohta piisavalt öeldud. Lõppesitlus oli ülevaatlik ja informatsiooni töö korraldusest anti piisavalt. Wikileht on hea, arendustöö etapid ja kronoloogia on kenasti kirjas. Juhend ja testkasutaja klientrakenduse ning teenuse tööle saamiseks on samuti olemas. Meeskonnas rakendati ekstreemprogrammeerimise töömeetodeid, mis on igati tervitatav. Õpitu kohene rakendamine oli hea mõte. &lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
==Kokkouvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Rühma poolt valitud idee projekti jaoks on üsnagi huvitav. Vatsatv kinode infosüsteemi teenus oleks ka päris korralik praktikas kasutatav teenus. Wikis oleks võinud teenuse juures rohkem äraseleteda mida meedodid teevad&lt;br /&gt;
Teenus ise on korralikult läbimõeldud ja kõik võimalikud vajaminevad meetodid on olemas.&lt;br /&gt;
&lt;br /&gt;
Rakkendus näeab korralik välja. On loodud ka eraldi versioonid nii admistreerimiseks kui ka tavakasutajale.&lt;br /&gt;
Oleks hea olnud kui oleks tetud vähemalt veel üks klientrakendus näiteks eraldi admistreerimine desktoprakendusena. Muidu on lahendatud probleemid, mis on nõutud.&lt;br /&gt;
&lt;br /&gt;
Madis Sarv&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi läbi mõeldud ja päris korralikult lahendatud ning samuti oli ka projekti idee oli väga hea. Meeldis see, et veidi aega oli kulutatud ka disaini peale, sest koledat rakendust ei taha mitte keegi kasutada. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtval esitlusel oleks tahtnud näha ka reaalset rakendust. &lt;br /&gt;
&lt;br /&gt;
Meeskond oleks võinud projektis kasutada ka versioonihaldustarkvara. Sellega seoses oleks saanud vältida probleeme mis tekkisid koodi jagamisel erinevate inimeste ja arvutite vahel.&lt;br /&gt;
&lt;br /&gt;
Meeldis, et kood oli kenasti kommenteeritud, seega ei tekkinud probleeme aru saamisega mida mõni meetod teeb. Samuti oli teenuskiht päris põhjalik (meetodeid on palju).&lt;br /&gt;
&lt;br /&gt;
Tahaks loota, et rakendus lükatakse ka reaalselt käima.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Martin Lensment D21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Võib öelda, et teie projektil potentsiaali on. Palju mugavam oleks kasutada süsteemi, kus oleks kõikide kinode kavad kokku koondatud ja seega ei peaks eraldi kinode kodulehti läbi kammima. Wiki on projektil piisavalt põhjalik ja nuriseda saaks ainult logi puudumise üle. Samuti oli hea kuulata teie lõpparuande esitlust. &lt;br /&gt;
&lt;br /&gt;
Kiita võiks seda, et arendasite süsteemi kogu rühmaga koos ühes ruumis ja kasutasite isegi teises õppeaines omandatud arendusmetoodikat. Võib olla selle tõttu liikusite edasi aeglasemalt, aga samas said rühma nõrgemad liikmed tugevamatelt õppida.&lt;br /&gt;
&lt;br /&gt;
Kui süsteemi veel edasi arendada, siis võiks selle ka reaalselt kasutusele võtta. Iseasi kuidas saada kõikide kinode kavad teie andmebaasi kokku.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=34056</id>
		<title>Võrgurakendused II: 2011 kevadel valminud kodutööd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=34056"/>
		<updated>2011-06-06T19:37:36Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Jaan Igamees=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kert Suvi=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Helen Muidik=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Mihkel Sokk=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Seda Sahradyan=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Priit Siimo=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22Hungry_Student_Food_Board%22]]&lt;br /&gt;
&lt;br /&gt;
=Siim Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Jaanus Vallmann=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Kujuneb&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Reigo Männiste=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Karl Männil=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Ilmar Telga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Siim Aaver=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Taavi Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_&amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_Tool]]&lt;br /&gt;
&lt;br /&gt;
=Jaan Kruusma=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Andrus Reedla=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Jaak Lehtsalu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt  [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Jana Mrots=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Heiki Tamm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Meeskond&amp;quot;]]&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Toomas Soha=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22Tyhik%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22C_terav%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22Tact%22]]&lt;br /&gt;
&lt;br /&gt;
=Miina Sikk=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Rauno Rüga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Tanel Liiv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Gaspar Karm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Joosep Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Taivo Türnpu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Sander Baikov=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Allar Anijago=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Kaspar Kallasmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jarko Kaskmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
&lt;br /&gt;
=Lauri Kermas=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Kõue=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele https://wiki.itcollege.ee/index.php/Talk:Meeskond_Tool&lt;br /&gt;
** Arvustus veebiteenuse klientidele https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22FoodWars%22&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hungry_Student_Food_Board%22#Projekti_Arvustus&lt;br /&gt;
&lt;br /&gt;
=Erik Kaju=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mailis Toompuu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Kõosaar=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond Tool]]&lt;br /&gt;
&lt;br /&gt;
=Gert Glükmann=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Martin Lensment=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]] ja [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Madis Sildaru=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Kruuser=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
=Indrek Tamm=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34055</id>
		<title>Talk:Meeskond &quot;Tyhik&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34055"/>
		<updated>2011-06-06T19:36:31Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
Meeskonna Tyhik loodud kinokavade xml faili struktuur on nõuetekohane, kenasti stiilis &lt;br /&gt;
&amp;lt;kinod&amp;gt;&lt;br /&gt;
   &amp;lt;kino&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
ning &lt;br /&gt;
&amp;lt;filmid&amp;gt;&lt;br /&gt;
   &amp;lt;film&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
Stiili- ja abifailid on olemas ning kui ma neid läbi vaatasin, siis vigu ei tuvastanud.&lt;br /&gt;
Lehe esialgne kujundus on hea, mulle meeldib.&lt;br /&gt;
Kokkuvõttes: minu arvates hea raam, millele veebirakendus ümber ehitada.&lt;br /&gt;
&lt;br /&gt;
Indrek Tamm, meeskond Tool, 4.III.2011&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Võib öelda, et XML on väga põhjalik ja seal on kajastatud kõik andmed, mis kinokülastajale huvi võiksid pakkuda. Isiklikult ei leidnudki kohta, kus oleks tahtnud midagi teistmoodi teha. Sellise XML põhjal on kindlasti võimalik korralik teenus ja klientrakendus ehitada. Samuti on olemas skeemifail ja korralik XSLT, mis esitab andmeid vägagi loetaval ja ülevaatlikul kujul.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver, D21&lt;br /&gt;
&lt;br /&gt;
Uurides XML, uurisin mis uurisin aga ei oska kohe midagi ette heita. XML fail tundub ilusti struktureeritud, ja paistab et on olemas ka kõik vajalikud asjad, mis kinosüsteemis peaksolemas olema. Kõik failid on korralikult loetaavad ja arusaamisega probleeme ei teki. Lihtne ülesehitus.&lt;br /&gt;
&lt;br /&gt;
Jaak Lehtsalu D22&lt;br /&gt;
&lt;br /&gt;
XML fail keskendub elementidele, struktuur on loogiline. Andmed hoitakse võimalikult detailselt, nii et midagi halba pole öelda. Skeemifailis on seatud elementidele vastavusse andmetüübid, mida neis hoitakse, korralik töö. Stiilifail mitte ainult ei loe lihtsalt XMLi elementide sisu vaid paneb need ka stiliseeritud tabelisse, mis parandab loetavust. Tore oleks tõesti sait, kust kerge kinodes toimuvast infot saada ning see on hea põhi sellise teenuse loomiseks.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
Väga põhjalik XML fail ning väga hästi ülesehitatud stiilifail. Kõik vajalik on olemas ning veel lisaks ka muudki.&lt;br /&gt;
&lt;br /&gt;
Nimetused oleks võinud teistmoodi üles ehitada. Seal on olemas originaal ning tõlgitud filmi nimi, kuid sinna võiks olla võimalik lisada ka muid keeli. Kuigi kui rakendus jääbki ainult eesti keelseks siis pole vahet.&lt;br /&gt;
&lt;br /&gt;
Jarko Kaskmaa D21&lt;br /&gt;
&lt;br /&gt;
XML fail on ülesehituse poolest põhjalik. Nõuded on täidetud ja struktrueering paigas. Stiilifail samuti soliidne ja põhjalik. Etteheiteid puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Teenuse arvamus&lt;br /&gt;
&lt;br /&gt;
Erinevaid teenuseid tundub olevat piisavalt palju, et antud veebiteenusele&lt;br /&gt;
saaks ehitada ühe korraliku ja kasuliku rakenduse. &lt;br /&gt;
Natuke tekitavad kahtlused näitkes võta hind, kustuta hind - mille jaoks neid vaja on?&lt;br /&gt;
Kui see käib mingi seansi kohta, siis võiks see olla näiteks filmi objekti küljes&lt;br /&gt;
koos teiste filmi parameetritega. Kui liiga palju meetoteid on, pole ka alati hea.&lt;br /&gt;
Aga samas, see on minu arvamus. Edu!&lt;br /&gt;
&lt;br /&gt;
Taavi Ilves D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Tegelikult saab filmi küsimise meetodile öelda, kas ta annab ka alamobjektid (hind, zanr, inimesed jne) või mitte. &lt;br /&gt;
Eraldi ongi sellepärast, et saaks küsida ainult filmi kohta infot. Pannes üheks parameetriks &amp;quot;true&amp;quot;, siis pistetakse&lt;br /&gt;
hind filmi objekti külge. Samas on vaja hinda eraldi pärida näiteks kino hinnakirja genereerimiseks. Ning hindasid&lt;br /&gt;
peab saama eraldi ka kustutada, kuna hinnad ei ole ju jäigalt seotud filmiga vaid ikka kinoga.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Teenuseid on korralik hulk, kuid Eestikeelsed API nimed ei ole arusaadavad välismaalastele. Segadust tekitab veel &amp;quot;anna*&amp;quot; ja &amp;quot;võta*&amp;quot;, kas mina annan talle ja ta võtab, või võtab tema ja annab mulle - nimi peaks ütleme kohe mis suunas liiklus käib. Tundub et mõned päringud saaks kokku &#039;&#039;mergeda&#039;&#039;, näiteks annaFilmid ja annaFilmidNimi. Üldiselt aga on kena :)&lt;br /&gt;
&lt;br /&gt;
-Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Esimese asjana hakkas silma, et te olete iga päringu tüübi jaoks teinud eraldi teenuse. Minu arvates koodi loetavuse mõttes on see hea, aga teenust ennast oleks mugavam kasutada kui kõik meetodid oleks üheks teenuseks koondatud.&lt;br /&gt;
Üldiselt tundub, et teenusel on olemas kõikvõimalikud meetodid, mida vaja võiks minna. Positiivne on, et peaaegu kõigil meetoditel on olemas ka kirjeldus, et mida see teeb ning mis parameetreid vajab.&lt;br /&gt;
Projektiga võiksite .sln või vähemalt .csproj failid ka kaasa panna, et visual studios parem vaadata oleks ning käivitada saaks.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Üks põhjus, miks jagasime tükkideks oligi loetavus. Teine põhjus on see, et kui keegi peaks avaldama soovi rakenduse tegemiseks meie teenusele, siis saame anda ligipääsu ainult &amp;quot;AnnaTeenus&amp;quot;-ele. Kui keegi teeb lihtsalt kinokava kuvamise rakenduse, siis pole tal vaja ei lisamise ega kustutamise teenust/meetodeid näha.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Wiki lehel on teenuse all välja toodud kõik meetodid, aga pole ühelegile meetodile juurde kirjutatud mida too teeb, aga mis on hea - kui lähtekoodi uurida siis seal on iga meetodi juures ära kirjeldatud, mida too teeb ja mida ta tagastab. Lisaks häirib kasutatud &amp;quot;estenglish&amp;quot; kasutamine lähtekoodis, st meetodi nimed on eesti keelsed. Üldiselt kood on loetav ja ilusti struktureeritud.&lt;br /&gt;
&lt;br /&gt;
Toomas Soha D21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Nõuded teenuse osas on täidetud. Teenuste hulk on suur ja positiivne nähtus on koodi kommenteerimine. Struktrueering loogiliselt ülesehitatud. Teenuse osas etteheited puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Kuna viibin hetkel arvuti taga kus ma ei saa visual studiot kasutada siis ei saa  nii täpset arvustust anda(nägin teie esitust klassis). Tahaks öelda mis häirib on see, et meetoid ja asjad on eestikeelsed. Rohkem oleksite võinud kommenteerida ka, kuigi esmapilgul tundus kõik suhteliselt arusaadav. Muidu on idee täitsa hea ja kindlasti seda täiendades saaks täiesti reaalselt kasutatava rakenduse ;) &lt;br /&gt;
&lt;br /&gt;
Madis Sildaru D32&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Esitluse ajal tundus kõik kenasti töötavat. Adminipool funktsioneeris ja täitis nõutud nõuded. Disain ja kasutajamugavus oli arvestatav. Mina isklikult olin tulemtustega rahul.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esiteks ei ole projektil kaasas solution faili, VS ei oska sortsuga ilma selleta midagi peale hakata. Kuna loen faile Notepad++&#039;sis siis, virisen peaasjalikult sortsu kallal :)&lt;br /&gt;
*Sorts on eesti keeles :/&lt;br /&gt;
*Int32.Parse(Request.QueryString[&amp;quot;id&amp;quot;]); stiilis asjad peaks olema try-catch ploki sees.&lt;br /&gt;
* Üldse kogu see data komplekteerimine on väga mitte OOP: kisute ühe andmestruktuuri lahti ja lisati tema objektid kõik eraldi teistesse objektidesse ning siis söödate need objektid alles kuvamise loogikasse. Võiks ju kohe (nt. film.inimesed) Repeaterisse sööta. &lt;br /&gt;
*Kinokava.aspx.cs: treppimine on vale&lt;br /&gt;
*Response.Redirect(&amp;quot;Kinokava.aspx?id=&amp;quot; + id + &amp;quot;&amp;amp;paev=&amp;quot; + paev + &amp;quot;&amp;amp;kuu=&amp;quot; + kuu + &amp;quot;&amp;amp;aasta=&amp;quot; + aasta); selline URI ehitamine võiks näiteks eraldi meetod olla juba, niimoodi on inetu.&lt;br /&gt;
*Kommentaarid puuduvad koodis.&lt;br /&gt;
&lt;br /&gt;
Need olid peamised möödalaskmised mis silma hakkasid. Suures pildis on kena :)&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kino teema on väga huvitav ja hea teema. Proovisin ka ise midagi sellist ühe teise aine raames teha.&lt;br /&gt;
&lt;br /&gt;
Lisan siia, kuidas mulle meeldib koodi kirjutada (mitte mis valesti on):&lt;br /&gt;
&lt;br /&gt;
Vähegi suurema projekti puhul ei kasutaks linq&#039;t, kuna ta genereerib palju tarbetud koodi. Kui ma ei eksi, siis teil on hetkel nii linq kui oma loodud klassid. Andmebaasist kustutamise arvelt saaks palju kokku hoida, kuna tegelikult on ju parem kui jääb kõik ajalugu alles. Filmi / kino saab lihtsalt märkida suletuks. &lt;br /&gt;
Mida suurem projekt, seda rohkem tuleb klasse nagunii, seega ma ei teeks igale suvalisele väärtusele klassi, vaid realiseeriks täpselt niipalju meetodeid, kui parasjagu tarvis läheb. Samuti, kui vähegi võimalik, koondaks ühe teema funktsioonid ühte klassi (n: select, insert, delete jne).&lt;br /&gt;
&lt;br /&gt;
Kliendi pool oli lahedalt kujundatud ja ka repeaterite kasutamine oli hea mõte. &lt;br /&gt;
Ma kasutaks ka webUserControl elemente, siis ei peaks nii palju erinevaid lehti tegema ja saaks ka teinekord kasutada.&lt;br /&gt;
&lt;br /&gt;
PS! Seda, ma tulin teie projekti hindama lootuses, et saan mõne hea kommenteerimis vihje aga... &lt;br /&gt;
ei saa öelda, et ma just palju kommentaare oleks leidnud  :)&lt;br /&gt;
&lt;br /&gt;
Priit Siimo&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Teenuse aluseks olev andmebaas on lihtne ja hea. Vajalikud lisaseosed on loodud. Teenuse meetodite hulk on suur ning see on mõistetav, kui tegu on nii rohkelt infot nõudva valdkonna käsitlusega. Kood teenuses on kommenteeritud ja meetodid ise võimalikult erinevates klassides. Lihtne lugeda ja mõista, mis kus asub. Hästi tehtud.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Esmalt kiidusõnad graafilise poole eest. Vaeva on nähtud lehe disainimisega ning seda on hea näha. Mõistmatuks jäi pordi määramise vajalikkus, ehk annab seda vähe rohkem selgitada. Lehe funktsionaalsus oli mulle meeltmööda ning funktsioonid töötasid kenasti. Oli üks katkine link... sitemap. Aga selge see, et rakenduse ja teenuse toimimise näitas tehtu kenasti ära. Rakenduse eesmärk igati täidetud ja hindeks annaksin 5 (pluss jääb ära katkise lingi tõttu).&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kasutajaliides näeb päris kena välja, mulle meeldib. Enamus funktsionaalsust on ka juba valmis ehitatud ja kõik tundub loogiliselt paigutatuna. Meeldis, et kõik väljad on ka valideeritud. Teenuste, meetodite ja muutujate nimed oleks te pidanud siiski paremini läbi mõtlema. Leidsin koodist sellised raskesti mõistetavad või isegi koomilised read:         &lt;br /&gt;
        List&amp;lt;Film&amp;gt; annalist = new List&amp;lt;Film&amp;gt;();&lt;br /&gt;
        Anna uusanna = new Anna();&lt;br /&gt;
        var film = uusanna.annaFilmid(...);&lt;br /&gt;
Kahjuks teenust ja klientrakendust koos enda arvutis tööle ei saanudki MS SQL probleemide tõttu. Ei taipa miks Microsoft peab erinevaid, üksteisega mitteühilduvaid versioone nii palju sellest tegema.&lt;br /&gt;
&lt;br /&gt;
Teil on küll kõigesti üks klientrakendus, aga samas on see suhteliselt korralikult tehtud.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Meeskond valis hea teema. Kino infosüsteemi on kindlasti midagi, mida saaks ka reaalselt kasutada, muidugi kui kõik väga korralikult teha ning rakendust piisavalt siluda. Samas oleks võinud selle teema kohta alguses wikis ka natuke juttu olla, et  millist lõpptulemust oodatakse, millise funktsionaalsusega ning mis rakendustega.&lt;br /&gt;
&lt;br /&gt;
XML tehti igati korralikult nagu ka teenusekiht, kus kõik teemade kaupa ilusasti ära oli jagatud. Rakenduse puhul meeldis mulle välimus, mis jäi kohe positiivse asjan silma. On küll sees väiksemaid buge, kuid põhifunktsionaalsus paistab töötavat.&lt;br /&gt;
&lt;br /&gt;
Meeskonna toimimise poole pealt on hea näha seda, et võeti kasutusele teises aines õpitud ekstreemprogrammeerimise praktika, et rakendust tõhusamalt ehitada. Lisaks tehti enamus asju ühiselt valmis, seega ilmselt kõik meeskonnaliikmeid panustasid korralikult lõpptulemusele.&lt;br /&gt;
&lt;br /&gt;
Kui jätta välja teine klientrakendus, siis tundub, et kõik nõuded said täidetud, muidugi wiki oleks võinud natuke põhjalikum olla. Aga vaadates üldist projektide taset, siis igati korralik tulemus !&lt;br /&gt;
&lt;br /&gt;
Rauno Rüga, D21&lt;br /&gt;
&lt;br /&gt;
[[User:Rruga|Rruga]]&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Kinokavade süsteem on väga huvitav valik. Wikis olev info maht on peaaegu sobiv - puudu jääb ehk vaid detailsemast süsteemiloogikast. Näiteks oleksin huvitatud lugemast täpsemalt kliendi andmevahetuse protokollist.&lt;br /&gt;
&lt;br /&gt;
XML on üldiselt korralik, kuid wikis seisab punkt et süsteem toeta vaid ühte filmi, kas see on iganenud väide või on asi tõesti niimoodi? Mõlemad variandid ei ole eriti kiiduväärt. API on suures plaanis kena, küll aga ei meeldi see &amp;quot;võta&amp;quot; vs. &amp;quot;anna&amp;quot; nimede valik...API meetodite nimed peaks olema ikka nii iseenesestmõistetavad kui vähegi võimalik. &lt;br /&gt;
&lt;br /&gt;
Meeskonnatöö tundub ka huvitav, punktide jaotus on kenasti lineaarne -  hea et aus ollakse. Kuigi liikmeid oli piisavalt ei saadud siiski valmis teise klientrakendusega - võibolla sellepärast et punktide jaotusest tundub et arendajate arv oli projektis siiski väike ja nad lihtsalt ei jõudnud ise kõike valmis koodida.&lt;br /&gt;
&lt;br /&gt;
Kurb oli ka kuulda et projekti arendamisel ei kasutatud versioonihaldust. See oleks olnud VÄGA vajalik kogemus kõikidele.&lt;br /&gt;
&lt;br /&gt;
Need aga on väikesed möödalaskmised, üldiselt on normaalne projekt :)&lt;br /&gt;
&lt;br /&gt;
PS! On tore näha et kasutati agiilseid arendusmeetodeid, eriti just paarisprogrammeerimist.&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv(D22)&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Tehtud töö on täitnud ilusasti nõuded. Valikud realiseerimisel ja esitlemisel on tehtud targalt. Kood on kommenteeritud, see võimaldab tervikpilti kogulahendusest tunduvalt kiiremini luua kui mõne teise projekti puhul. Üldise välimusega võib rahule jääda ja suuremaid etteheiteid pole. Lõpptulemust annab rakendada ka tavaellu. &lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi tehtud. Nõuetest on puudu vaid teine klientrakendus. Vahearvestustes on projekti erinevate osade kohta piisavalt öeldud. Lõppesitlus oli ülevaatlik ja informatsiooni töö korraldusest anti piisavalt. Wikileht on hea, arendustöö etapid ja kronoloogia on kenasti kirjas. Juhend ja testkasutaja klientrakenduse ning teenuse tööle saamiseks on samuti olemas. Meeskonnas rakendati ekstreemprogrammeerimise töömeetodeid, mis on igati tervitatav. Õpitu kohene rakendamine oli hea mõte. &lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
==Kokkouvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Rühma poolt valitud idee projekti jaoks on üsnagi huvitav. Vatsatv kinode infosüsteemi teenus oleks ka päris korralik praktikas kasutatav teenus. Wikis oleks võinud teenuse juures rohkem äraseleteda mida meedodid teevad&lt;br /&gt;
Teenus ise on korralikult läbimõeldud ja kõik võimalikud vajaminevad meetodid on olemas.&lt;br /&gt;
&lt;br /&gt;
Rakkendus näeab korralik välja. On loodud ka eraldi versioonid nii admistreerimiseks kui ka tavakasutajale.&lt;br /&gt;
Oleks hea olnud kui oleks tetud vähemalt veel üks klientrakendus näiteks eraldi admistreerimine desktoprakendusena. Muidu on lahendatud probleemid, mis on nõutud.&lt;br /&gt;
&lt;br /&gt;
Madis Sarv&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi läbi mõeldud ja päris korralikult lahendatud ning samuti oli ka projekti idee oli väga hea. Meeldis see, et veidi aega oli kulutatud ka disaini peale, sest koledat rakendust ei taha mitte keegi kasutada. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtval esitlusel oleks tahtnud näha ka reaalset rakendust. &lt;br /&gt;
&lt;br /&gt;
Meeskond oleks võinud projektis kasutada ka versioonihaldustarkvara. Sellega seoses oleks saanud vältida probleeme mis tekkisid koodi jagamisel erinevate inimeste ja arvutite vahel.&lt;br /&gt;
&lt;br /&gt;
Meeldis, et kood oli kenasti kommenteeritud, seega ei tekkinud probleeme aru saamisega mida mõni meetod teeb. Samuti oli teenuskiht päris põhjalik (meetodeid on palju).&lt;br /&gt;
&lt;br /&gt;
Tahaks loota, et rakendus lükatakse ka reaalselt käima.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Martin Lensment D21&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34054</id>
		<title>Talk:Meeskond &quot;Tyhik&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=34054"/>
		<updated>2011-06-06T19:35:37Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
Meeskonna Tyhik loodud kinokavade xml faili struktuur on nõuetekohane, kenasti stiilis &lt;br /&gt;
&amp;lt;kinod&amp;gt;&lt;br /&gt;
   &amp;lt;kino&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
ning &lt;br /&gt;
&amp;lt;filmid&amp;gt;&lt;br /&gt;
   &amp;lt;film&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
Stiili- ja abifailid on olemas ning kui ma neid läbi vaatasin, siis vigu ei tuvastanud.&lt;br /&gt;
Lehe esialgne kujundus on hea, mulle meeldib.&lt;br /&gt;
Kokkuvõttes: minu arvates hea raam, millele veebirakendus ümber ehitada.&lt;br /&gt;
&lt;br /&gt;
Indrek Tamm, meeskond Tool, 4.III.2011&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Võib öelda, et XML on väga põhjalik ja seal on kajastatud kõik andmed, mis kinokülastajale huvi võiksid pakkuda. Isiklikult ei leidnudki kohta, kus oleks tahtnud midagi teistmoodi teha. Sellise XML põhjal on kindlasti võimalik korralik teenus ja klientrakendus ehitada. Samuti on olemas skeemifail ja korralik XSLT, mis esitab andmeid vägagi loetaval ja ülevaatlikul kujul.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver, D21&lt;br /&gt;
&lt;br /&gt;
Uurides XML, uurisin mis uurisin aga ei oska kohe midagi ette heita. XML fail tundub ilusti struktureeritud, ja paistab et on olemas ka kõik vajalikud asjad, mis kinosüsteemis peaksolemas olema. Kõik failid on korralikult loetaavad ja arusaamisega probleeme ei teki. Lihtne ülesehitus.&lt;br /&gt;
&lt;br /&gt;
Jaak Lehtsalu D22&lt;br /&gt;
&lt;br /&gt;
XML fail keskendub elementidele, struktuur on loogiline. Andmed hoitakse võimalikult detailselt, nii et midagi halba pole öelda. Skeemifailis on seatud elementidele vastavusse andmetüübid, mida neis hoitakse, korralik töö. Stiilifail mitte ainult ei loe lihtsalt XMLi elementide sisu vaid paneb need ka stiliseeritud tabelisse, mis parandab loetavust. Tore oleks tõesti sait, kust kerge kinodes toimuvast infot saada ning see on hea põhi sellise teenuse loomiseks.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
Väga põhjalik XML fail ning väga hästi ülesehitatud stiilifail. Kõik vajalik on olemas ning veel lisaks ka muudki.&lt;br /&gt;
&lt;br /&gt;
Nimetused oleks võinud teistmoodi üles ehitada. Seal on olemas originaal ning tõlgitud filmi nimi, kuid sinna võiks olla võimalik lisada ka muid keeli. Kuigi kui rakendus jääbki ainult eesti keelseks siis pole vahet.&lt;br /&gt;
&lt;br /&gt;
Jarko Kaskmaa D21&lt;br /&gt;
&lt;br /&gt;
XML fail on ülesehituse poolest põhjalik. Nõuded on täidetud ja struktrueering paigas. Stiilifail samuti soliidne ja põhjalik. Etteheiteid puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Teenuse arvamus&lt;br /&gt;
&lt;br /&gt;
Erinevaid teenuseid tundub olevat piisavalt palju, et antud veebiteenusele&lt;br /&gt;
saaks ehitada ühe korraliku ja kasuliku rakenduse. &lt;br /&gt;
Natuke tekitavad kahtlused näitkes võta hind, kustuta hind - mille jaoks neid vaja on?&lt;br /&gt;
Kui see käib mingi seansi kohta, siis võiks see olla näiteks filmi objekti küljes&lt;br /&gt;
koos teiste filmi parameetritega. Kui liiga palju meetoteid on, pole ka alati hea.&lt;br /&gt;
Aga samas, see on minu arvamus. Edu!&lt;br /&gt;
&lt;br /&gt;
Taavi Ilves D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Tegelikult saab filmi küsimise meetodile öelda, kas ta annab ka alamobjektid (hind, zanr, inimesed jne) või mitte. &lt;br /&gt;
Eraldi ongi sellepärast, et saaks küsida ainult filmi kohta infot. Pannes üheks parameetriks &amp;quot;true&amp;quot;, siis pistetakse&lt;br /&gt;
hind filmi objekti külge. Samas on vaja hinda eraldi pärida näiteks kino hinnakirja genereerimiseks. Ning hindasid&lt;br /&gt;
peab saama eraldi ka kustutada, kuna hinnad ei ole ju jäigalt seotud filmiga vaid ikka kinoga.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Teenuseid on korralik hulk, kuid Eestikeelsed API nimed ei ole arusaadavad välismaalastele. Segadust tekitab veel &amp;quot;anna*&amp;quot; ja &amp;quot;võta*&amp;quot;, kas mina annan talle ja ta võtab, või võtab tema ja annab mulle - nimi peaks ütleme kohe mis suunas liiklus käib. Tundub et mõned päringud saaks kokku &#039;&#039;mergeda&#039;&#039;, näiteks annaFilmid ja annaFilmidNimi. Üldiselt aga on kena :)&lt;br /&gt;
&lt;br /&gt;
-Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Esimese asjana hakkas silma, et te olete iga päringu tüübi jaoks teinud eraldi teenuse. Minu arvates koodi loetavuse mõttes on see hea, aga teenust ennast oleks mugavam kasutada kui kõik meetodid oleks üheks teenuseks koondatud.&lt;br /&gt;
Üldiselt tundub, et teenusel on olemas kõikvõimalikud meetodid, mida vaja võiks minna. Positiivne on, et peaaegu kõigil meetoditel on olemas ka kirjeldus, et mida see teeb ning mis parameetreid vajab.&lt;br /&gt;
Projektiga võiksite .sln või vähemalt .csproj failid ka kaasa panna, et visual studios parem vaadata oleks ning käivitada saaks.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Üks põhjus, miks jagasime tükkideks oligi loetavus. Teine põhjus on see, et kui keegi peaks avaldama soovi rakenduse tegemiseks meie teenusele, siis saame anda ligipääsu ainult &amp;quot;AnnaTeenus&amp;quot;-ele. Kui keegi teeb lihtsalt kinokava kuvamise rakenduse, siis pole tal vaja ei lisamise ega kustutamise teenust/meetodeid näha.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Wiki lehel on teenuse all välja toodud kõik meetodid, aga pole ühelegile meetodile juurde kirjutatud mida too teeb, aga mis on hea - kui lähtekoodi uurida siis seal on iga meetodi juures ära kirjeldatud, mida too teeb ja mida ta tagastab. Lisaks häirib kasutatud &amp;quot;estenglish&amp;quot; kasutamine lähtekoodis, st meetodi nimed on eesti keelsed. Üldiselt kood on loetav ja ilusti struktureeritud.&lt;br /&gt;
&lt;br /&gt;
Toomas Soha D21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Nõuded teenuse osas on täidetud. Teenuste hulk on suur ja positiivne nähtus on koodi kommenteerimine. Struktrueering loogiliselt ülesehitatud. Teenuse osas etteheited puuduvad.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Kuna viibin hetkel arvuti taga kus ma ei saa visual studiot kasutada siis ei saa  nii täpset arvustust anda(nägin teie esitust klassis). Tahaks öelda mis häirib on see, et meetoid ja asjad on eestikeelsed. Rohkem oleksite võinud kommenteerida ka, kuigi esmapilgul tundus kõik suhteliselt arusaadav. Muidu on idee täitsa hea ja kindlasti seda täiendades saaks täiesti reaalselt kasutatava rakenduse ;) &lt;br /&gt;
&lt;br /&gt;
Madis Sildaru D32&lt;br /&gt;
&lt;br /&gt;
==Arvustus veebiteenuse klientidele==&lt;br /&gt;
&lt;br /&gt;
Esitluse ajal tundus kõik kenasti töötavat. Adminipool funktsioneeris ja täitis nõutud nõuded. Disain ja kasutajamugavus oli arvestatav. Mina isklikult olin tulemtustega rahul.&lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esiteks ei ole projektil kaasas solution faili, VS ei oska sortsuga ilma selleta midagi peale hakata. Kuna loen faile Notepad++&#039;sis siis, virisen peaasjalikult sortsu kallal :)&lt;br /&gt;
*Sorts on eesti keeles :/&lt;br /&gt;
*Int32.Parse(Request.QueryString[&amp;quot;id&amp;quot;]); stiilis asjad peaks olema try-catch ploki sees.&lt;br /&gt;
* Üldse kogu see data komplekteerimine on väga mitte OOP: kisute ühe andmestruktuuri lahti ja lisati tema objektid kõik eraldi teistesse objektidesse ning siis söödate need objektid alles kuvamise loogikasse. Võiks ju kohe (nt. film.inimesed) Repeaterisse sööta. &lt;br /&gt;
*Kinokava.aspx.cs: treppimine on vale&lt;br /&gt;
*Response.Redirect(&amp;quot;Kinokava.aspx?id=&amp;quot; + id + &amp;quot;&amp;amp;paev=&amp;quot; + paev + &amp;quot;&amp;amp;kuu=&amp;quot; + kuu + &amp;quot;&amp;amp;aasta=&amp;quot; + aasta); selline URI ehitamine võiks näiteks eraldi meetod olla juba, niimoodi on inetu.&lt;br /&gt;
*Kommentaarid puuduvad koodis.&lt;br /&gt;
&lt;br /&gt;
Need olid peamised möödalaskmised mis silma hakkasid. Suures pildis on kena :)&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kino teema on väga huvitav ja hea teema. Proovisin ka ise midagi sellist ühe teise aine raames teha.&lt;br /&gt;
&lt;br /&gt;
Lisan siia, kuidas mulle meeldib koodi kirjutada (mitte mis valesti on):&lt;br /&gt;
&lt;br /&gt;
Vähegi suurema projekti puhul ei kasutaks linq&#039;t, kuna ta genereerib palju tarbetud koodi. Kui ma ei eksi, siis teil on hetkel nii linq kui oma loodud klassid. Andmebaasist kustutamise arvelt saaks palju kokku hoida, kuna tegelikult on ju parem kui jääb kõik ajalugu alles. Filmi / kino saab lihtsalt märkida suletuks. &lt;br /&gt;
Mida suurem projekt, seda rohkem tuleb klasse nagunii, seega ma ei teeks igale suvalisele väärtusele klassi, vaid realiseeriks täpselt niipalju meetodeid, kui parasjagu tarvis läheb. Samuti, kui vähegi võimalik, koondaks ühe teema funktsioonid ühte klassi (n: select, insert, delete jne).&lt;br /&gt;
&lt;br /&gt;
Kliendi pool oli lahedalt kujundatud ja ka repeaterite kasutamine oli hea mõte. &lt;br /&gt;
Ma kasutaks ka webUserControl elemente, siis ei peaks nii palju erinevaid lehti tegema ja saaks ka teinekord kasutada.&lt;br /&gt;
&lt;br /&gt;
PS! Seda, ma tulin teie projekti hindama lootuses, et saan mõne hea kommenteerimis vihje aga... &lt;br /&gt;
ei saa öelda, et ma just palju kommentaare oleks leidnud  :)&lt;br /&gt;
&lt;br /&gt;
Priit Siimo&lt;br /&gt;
&lt;br /&gt;
===Veebiteenuse arvustus===&lt;br /&gt;
&lt;br /&gt;
Teenuse aluseks olev andmebaas on lihtne ja hea. Vajalikud lisaseosed on loodud. Teenuse meetodite hulk on suur ning see on mõistetav, kui tegu on nii rohkelt infot nõudva valdkonna käsitlusega. Kood teenuses on kommenteeritud ja meetodid ise võimalikult erinevates klassides. Lihtne lugeda ja mõista, mis kus asub. Hästi tehtud.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Esmalt kiidusõnad graafilise poole eest. Vaeva on nähtud lehe disainimisega ning seda on hea näha. Mõistmatuks jäi pordi määramise vajalikkus, ehk annab seda vähe rohkem selgitada. Lehe funktsionaalsus oli mulle meeltmööda ning funktsioonid töötasid kenasti. Oli üks katkine link... sitemap. Aga selge see, et rakenduse ja teenuse toimimise näitas tehtu kenasti ära. Rakenduse eesmärk igati täidetud ja hindeks annaksin 5 (pluss jääb ära katkise lingi tõttu).&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
===Klientrakenduse arvustus===&lt;br /&gt;
&lt;br /&gt;
Kasutajaliides näeb päris kena välja, mulle meeldib. Enamus funktsionaalsust on ka juba valmis ehitatud ja kõik tundub loogiliselt paigutatuna. Meeldis, et kõik väljad on ka valideeritud. Teenuste, meetodite ja muutujate nimed oleks te pidanud siiski paremini läbi mõtlema. Leidsin koodist sellised raskesti mõistetavad või isegi koomilised read:         &lt;br /&gt;
        List&amp;lt;Film&amp;gt; annalist = new List&amp;lt;Film&amp;gt;();&lt;br /&gt;
        Anna uusanna = new Anna();&lt;br /&gt;
        var film = uusanna.annaFilmid(...);&lt;br /&gt;
Kahjuks teenust ja klientrakendust koos enda arvutis tööle ei saanudki MS SQL probleemide tõttu. Ei taipa miks Microsoft peab erinevaid, üksteisega mitteühilduvaid versioone nii palju sellest tegema.&lt;br /&gt;
Teil on küll kõigesti üks klientrakendus, aga samas on see suhteliselt korralikult tehtud.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Meeskond valis hea teema. Kino infosüsteemi on kindlasti midagi, mida saaks ka reaalselt kasutada, muidugi kui kõik väga korralikult teha ning rakendust piisavalt siluda. Samas oleks võinud selle teema kohta alguses wikis ka natuke juttu olla, et  millist lõpptulemust oodatakse, millise funktsionaalsusega ning mis rakendustega.&lt;br /&gt;
&lt;br /&gt;
XML tehti igati korralikult nagu ka teenusekiht, kus kõik teemade kaupa ilusasti ära oli jagatud. Rakenduse puhul meeldis mulle välimus, mis jäi kohe positiivse asjan silma. On küll sees väiksemaid buge, kuid põhifunktsionaalsus paistab töötavat.&lt;br /&gt;
&lt;br /&gt;
Meeskonna toimimise poole pealt on hea näha seda, et võeti kasutusele teises aines õpitud ekstreemprogrammeerimise praktika, et rakendust tõhusamalt ehitada. Lisaks tehti enamus asju ühiselt valmis, seega ilmselt kõik meeskonnaliikmeid panustasid korralikult lõpptulemusele.&lt;br /&gt;
&lt;br /&gt;
Kui jätta välja teine klientrakendus, siis tundub, et kõik nõuded said täidetud, muidugi wiki oleks võinud natuke põhjalikum olla. Aga vaadates üldist projektide taset, siis igati korralik tulemus !&lt;br /&gt;
&lt;br /&gt;
Rauno Rüga, D21&lt;br /&gt;
&lt;br /&gt;
[[User:Rruga|Rruga]]&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Kinokavade süsteem on väga huvitav valik. Wikis olev info maht on peaaegu sobiv - puudu jääb ehk vaid detailsemast süsteemiloogikast. Näiteks oleksin huvitatud lugemast täpsemalt kliendi andmevahetuse protokollist.&lt;br /&gt;
&lt;br /&gt;
XML on üldiselt korralik, kuid wikis seisab punkt et süsteem toeta vaid ühte filmi, kas see on iganenud väide või on asi tõesti niimoodi? Mõlemad variandid ei ole eriti kiiduväärt. API on suures plaanis kena, küll aga ei meeldi see &amp;quot;võta&amp;quot; vs. &amp;quot;anna&amp;quot; nimede valik...API meetodite nimed peaks olema ikka nii iseenesestmõistetavad kui vähegi võimalik. &lt;br /&gt;
&lt;br /&gt;
Meeskonnatöö tundub ka huvitav, punktide jaotus on kenasti lineaarne -  hea et aus ollakse. Kuigi liikmeid oli piisavalt ei saadud siiski valmis teise klientrakendusega - võibolla sellepärast et punktide jaotusest tundub et arendajate arv oli projektis siiski väike ja nad lihtsalt ei jõudnud ise kõike valmis koodida.&lt;br /&gt;
&lt;br /&gt;
Kurb oli ka kuulda et projekti arendamisel ei kasutatud versioonihaldust. See oleks olnud VÄGA vajalik kogemus kõikidele.&lt;br /&gt;
&lt;br /&gt;
Need aga on väikesed möödalaskmised, üldiselt on normaalne projekt :)&lt;br /&gt;
&lt;br /&gt;
PS! On tore näha et kasutati agiilseid arendusmeetodeid, eriti just paarisprogrammeerimist.&lt;br /&gt;
&lt;br /&gt;
Tanel Liiv(D22)&lt;br /&gt;
&lt;br /&gt;
===Kokkuvõttev arvustus===&lt;br /&gt;
&lt;br /&gt;
Tehtud töö on täitnud ilusasti nõuded. Valikud realiseerimisel ja esitlemisel on tehtud targalt. Kood on kommenteeritud, see võimaldab tervikpilti kogulahendusest tunduvalt kiiremini luua kui mõne teise projekti puhul. Üldise välimusega võib rahule jääda ja suuremaid etteheiteid pole. Lõpptulemust annab rakendada ka tavaellu. &lt;br /&gt;
&lt;br /&gt;
Indrek Kruuser&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi tehtud. Nõuetest on puudu vaid teine klientrakendus. Vahearvestustes on projekti erinevate osade kohta piisavalt öeldud. Lõppesitlus oli ülevaatlik ja informatsiooni töö korraldusest anti piisavalt. Wikileht on hea, arendustöö etapid ja kronoloogia on kenasti kirjas. Juhend ja testkasutaja klientrakenduse ning teenuse tööle saamiseks on samuti olemas. Meeskonnas rakendati ekstreemprogrammeerimise töömeetodeid, mis on igati tervitatav. Õpitu kohene rakendamine oli hea mõte. &lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
==Kokkouvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Rühma poolt valitud idee projekti jaoks on üsnagi huvitav. Vatsatv kinode infosüsteemi teenus oleks ka päris korralik praktikas kasutatav teenus. Wikis oleks võinud teenuse juures rohkem äraseleteda mida meedodid teevad&lt;br /&gt;
Teenus ise on korralikult läbimõeldud ja kõik võimalikud vajaminevad meetodid on olemas.&lt;br /&gt;
&lt;br /&gt;
Rakkendus näeab korralik välja. On loodud ka eraldi versioonid nii admistreerimiseks kui ka tavakasutajale.&lt;br /&gt;
Oleks hea olnud kui oleks tetud vähemalt veel üks klientrakendus näiteks eraldi admistreerimine desktoprakendusena. Muidu on lahendatud probleemid, mis on nõutud.&lt;br /&gt;
&lt;br /&gt;
Madis Sarv&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõttev arvustus==&lt;br /&gt;
&lt;br /&gt;
Projekt on hästi läbi mõeldud ja päris korralikult lahendatud ning samuti oli ka projekti idee oli väga hea. Meeldis see, et veidi aega oli kulutatud ka disaini peale, sest koledat rakendust ei taha mitte keegi kasutada. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtval esitlusel oleks tahtnud näha ka reaalset rakendust. &lt;br /&gt;
&lt;br /&gt;
Meeskond oleks võinud projektis kasutada ka versioonihaldustarkvara. Sellega seoses oleks saanud vältida probleeme mis tekkisid koodi jagamisel erinevate inimeste ja arvutite vahel.&lt;br /&gt;
&lt;br /&gt;
Meeldis, et kood oli kenasti kommenteeritud, seega ei tekkinud probleeme aru saamisega mida mõni meetod teeb. Samuti oli teenuskiht päris põhjalik (meetodeid on palju).&lt;br /&gt;
&lt;br /&gt;
Tahaks loota, et rakendus lükatakse ka reaalselt käima.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Martin Lensment D21&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33846</id>
		<title>Talk:Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33846"/>
		<updated>2011-06-06T09:54:55Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Arvamus XML osa kohta!&lt;br /&gt;
&lt;br /&gt;
Meeldib järgnev:&lt;br /&gt;
*Kohviku kohata on väljtoodud info asukoha kohta.&lt;br /&gt;
*Näha on lahtiolekuajad.&lt;br /&gt;
*Iga päeva kohta kehtiv menüü koos hindadega.&lt;br /&gt;
*Erinevad soodustuste liigid.&lt;br /&gt;
&lt;br /&gt;
Juurede võiks luua võimaluse ,et kasutaja saaks näha ka kas menüüs olemasolevat toitu on veel võimalik saada või mitte. Mis preagult on olemas küll XML failis aga seda infot pole väljatoodud XSL-is.&lt;br /&gt;
 &lt;br /&gt;
Ise oleksin teinud nii et, oleks olemas üldine soodustus kogu ostu pealt ja eraldi soodustused toidu kohta ainult näidata kambaania korral.&lt;br /&gt;
&lt;br /&gt;
Madis Sarv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kõik vajalik nagu XML, XML-i skeemifail ja stiilifail on olemas. Ainuke tähelepanek, et toitude juures võiks kommenteerimis võimalus olla (idee: eraldi võiks ka kohvikuid kommenteerida). XML tundub muus osas olevat mõistlikult üles ehitatud- ei midagi ülemäärast ja puudu ka ei paista midagi olulist olevat.Skeemi faili näide on olemas ning tundub olema mõistlik, natukene kujundamist ja see on reaalselt kasutatav.&lt;br /&gt;
Wikist loen, et idee on luua kohvikute menüüde kohta infot jagav veebiteenus. Kuna sarnast projekti teevad mitmed meeskonnad, siis saab olema neid hiljem hea võrrelda, et millist teenust või rakendust ise tulevikus kasutaks. Jään tulemust ootama...&lt;br /&gt;
&lt;br /&gt;
Andrus Reedla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Positiivne:&lt;br /&gt;
&lt;br /&gt;
Xml on tehtud väga põhjalikult. Olemas skeemifail ja stiilifail. Sisemiselt kommenteeritud loetavuse parandamiseks.&lt;br /&gt;
Menüüs eraldi olevad toiduvaliku kategooriad. Paistab, et asi on hästi läbi mõeldud ning xml&#039;s kirjeldatud palju erinevaid erindeid.&lt;br /&gt;
&lt;br /&gt;
Negatiivne:&lt;br /&gt;
&lt;br /&gt;
XSLT tulemuses oleks võinud näha ka näiteks kehtivat päeva mille kohta menüü käib. Kuigi selle saab väikse vaevaga nende xml-st kätte.&lt;br /&gt;
Wikilehel oleks võinud olla rohkem infot ajaloo ning inimeste panuse kohta. Kuid kuna projekt on alles algujärgus siis jõuavad nad seda ka kindlasti täiustada.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte:&lt;br /&gt;
&lt;br /&gt;
Jään huviga projekti lõppprodukti ootama. Hetkel väga hea.&lt;br /&gt;
&lt;br /&gt;
Toomas Soha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenus&lt;br /&gt;
----&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
*Esimesena hakkab silma korralik andmemudel, lõhnab korraliku proffesionaalsuse järele. Kasutajad ning nende rollid on korralikult kirjeldatud, eriti meeldib mulle kommenteerimise süsteem, nii kohvikul kui ka toidul, mis meie endi kohviku programmist puudu on. See annab otset tagasisidet kohvikule ning põhjus paranemiseks. WCF kõik omadused on ilusti ära kasutatud ning andmebaas ei saa liigset koormust. &lt;br /&gt;
*Logi on ka põhjalik, kuid tundub, et pisut liigagi, kuna kõike jälgitakse.&lt;br /&gt;
Veel siis andmebaasist mis on väga põhjalik, muudab see programmi dünaamilisemaks, kuid tundub, et selle all kannatab usability ehk kliendi jaoks lihtsus kaob ära ja peab esmalt süvenema ning õppima program selgeks. A&#039;la energiat peab koolitusele ka panema. Kõik tundub, et on väga hea aga mugavust lisaks kindlasti mingi integreeritud kassa süsteem mis automaatselt portse loendaks.&lt;br /&gt;
*Wikis võiks olla teenused rohkem lahti seletatuna kui ka muid infot võiks olla rohkem programmi kui terviku kohta.&lt;br /&gt;
&lt;br /&gt;
Üldiselt väga tubli töö on siiamaani tehtud, jätkake samas vaimus.&lt;br /&gt;
&lt;br /&gt;
*Jaan Kruusma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
*Andmemudel on korralikult tehtud, meeldib kuidas on lahendatud kasutajate haldus, komenteerimine ja soodustuste osa anmemudelis.&lt;br /&gt;
*Teenuse poolt võiks juurede lisada meetodi, mis lisaks ka uusi kohvikuid andmebaasi, praegust paistab, et see tehakse käsitsi või jäetakse siis rakenduse hooleks. &lt;br /&gt;
*Meeldis ka see et on loodud autocomplite meetod teenuses, mis aitab kasutajatel aega kokku hoida.&lt;br /&gt;
*Kokkuvõtvalt on tegemist päris asjaliku teensega antud ülesandele ja wiki paistab olevat korralikult täidetud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Sarv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenus&lt;br /&gt;
&lt;br /&gt;
Veebiteenus on koostatud igati hästi. Andmebaasi mudel on koostatud põhjalik, kõiki võimalusi silmas pidades. Veebiteenuse meetodid tunduvad olevat ka hästi valitud, nii et ikka saaks sisukaid rakendusi sinna peale teha. &lt;br /&gt;
Kood: Tundus olevat ainult osaliselt kommenteeritud, samas minu jaoks ei tundunud see probleem olevat, sest kommenteerimata olid jäetud ainult niigi selged kohad. Muidu oli kood selge ja korralikult klassidesse jaotatud.&lt;br /&gt;
Positiivne on see, et teenusele on lisatud kommenteerimise võimalus, statistika/logimine on koostatud põhjalik. Eriti mõistlik tundus, et otsustatud oli cache-t kasutada ning seda oli ka rakendatud.&lt;br /&gt;
&lt;br /&gt;
Kliendirakendus&lt;br /&gt;
&lt;br /&gt;
Kuna teenus oli paljude võimalustega, siis on sinna peale võimalik ehitada sisukaid kliendirakendusi. Sellega on saadud hästi hakkama. Visuaalselt tundub esimesel pilgul olevat kõik korras. Sellise õppe eesmärgil koostatud projekti kohta ei saagi iga pisikese asja kallal virisema hakata, sest reaalselt läheb vigade kõrvaldamise/silumise peale teinekord rohkem aega, kui põhifunktsionaalsuse kirjutamsele.&lt;br /&gt;
Plussiks on see, et kasutatud on kaarti ja kliendid saavad kohvikuid kaardi järgi otsida. Hiljem võiks seda teha muidugi nii, et süsteem proovib alguses ise positsioneerida õieti (ip järgi vms) ning hiljem kasutatakse otsingus autocomplete-t või eelsisestatud valikuid olemasolevate kohvikute/aadresside hulgast (combobox, listbox vms).&lt;br /&gt;
Üldmulje: igati korralik rakendus (mida oleks võimalik väheke edasi arendades reaalselt isegi kasutada).&lt;br /&gt;
&lt;br /&gt;
Andrus Reedla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõttev&lt;br /&gt;
----&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
Väga korralik ja põhjalik töö. Kõik toimis testimisel hästi. Wiki on korralikult täidetud ja annab kogu tööst väga hea ülevaate. Erinevad projekti osad on hästi lahendatud ja dokumenteeritud. Teema valik oli üsna populaarne, kuid lahendus on see eest vägagi korralik. Näha on, et meeskonnas oli põhiliseks vedajaks üks inimene ehk meeskonna töö eriti ei sujunud. Üldiselt tundub, et kõik nõuded said täidetud. Üldiselt vaadates on tehtud väga korralik töö.&lt;br /&gt;
&lt;br /&gt;
Seda Sahradyan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teenus on tehtud parajalt põhjalik, mis annab võimaluse seda reaalselt tulevikus edasi arendada ning kasutusele võtta. Andmemudel on koostatud küllaltki mõistlikult (see mille peale süsteemi luua ehk kõige alus peabki olema tehtud korralikult/läbimõeldult).&lt;br /&gt;
Wiki lehel on kirjas kõik vajalik info teenuse ja rakenduse kohta. Sealt on piisavalt informatsiooni, et aru saada mida on põhijoontes tehtud ning millal.&lt;br /&gt;
Teenust ja rakendust oli kerge installeerida ning käivitada (õnnestus esimesel korral:), polnud vaja isegi juhendit kasutada.&lt;br /&gt;
Mina annaks igale töö osale (ja tervikule) väga hea positiivse hinde, sest kõik nõuded, mis projektilt oodati olid täidetud.&lt;br /&gt;
&lt;br /&gt;
Andrus Reedla&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33767</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33767"/>
		<updated>2011-06-05T21:57:02Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Meeskonnasisene punktide jaotus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
Kellegi teise poolt (Subgurim) kohandatud Google mapsi kasutamise asemel oleks siiski võinud võtta ametliku versiooni. Javascriptiga mässamist oli küll vähem, aga hiljem ilmnesid mõningad probleemid, millest ilma javascripti häkkide kasutamiseta jagu ei saanud. Üks bugi jäi sellest hoolimata siiski sisse. Võib olla ei oleks ametlikus versioonis üldse sellega probleeme tekkinud.&lt;br /&gt;
&lt;br /&gt;
Mõned head ideed jäid siiski rakendamata. Näiteks toitude lisamist muudaks palju mugavamaks, kui autocomplete poolt pakutava toidu valimisel täidetaks kõik väljad eelmisel korral kasutatud andmetega ära. Seejärel saaks kasutaja hõlpsasti veel mõned pisiparandused sisse viia ning ei peaks iga kord portse ja soodustusi uuesti sisse toksima. Samuti võiks olla valik, et lisamisel saaks laadida terve eelmise päeva menüü ette. Seejärel saaks kasutaja eemaldada toidud, mida see kord ei pakuta ja lisada teised asemele. Kohvikutel võib iga päev olla sama menüü või ainult mõningate väikeste erinevustega.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiiruse parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google mapsi klientrakendusse integreerimine muudab kasutajate elu mugavamaks, kui nad kohvikute asukohti veel peast ei tea&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 17p&lt;br /&gt;
* Kaspar Kallasmaa - 18p&lt;br /&gt;
* Siim Aaver - 25p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33743</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33743"/>
		<updated>2011-06-05T20:19:43Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
Kellegi teise poolt (Subgurim) kohandatud Google mapsi kasutamise asemel oleks siiski võinud võtta ametliku versiooni. Javascriptiga mässamist oli küll vähem, aga hiljem ilmnesid mõningad probleemid, millest ilma javascripti häkkide kasutamiseta jagu ei saanud. Üks bugi jäi sellest hoolimata siiski sisse. Võib olla ei oleks ametlikus versioonis üldse sellega probleeme tekkinud.&lt;br /&gt;
&lt;br /&gt;
Mõned head ideed jäid siiski rakendamata. Näiteks toitude lisamist muudaks palju mugavamaks, kui autocomplete poolt pakutava toidu valimisel täidetaks kõik väljad eelmisel korral kasutatud andmetega ära. Seejärel saaks kasutaja hõlpsasti veel mõned pisiparandused sisse viia ning ei peaks iga kord portse ja soodustusi uuesti sisse toksima. Samuti võiks olla valik, et lisamisel saaks laadida terve eelmise päeva menüü ette. Seejärel saaks kasutaja eemaldada toidud, mida see kord ei pakuta ja lisada teised asemele. Kohvikutel võib iga päev olla sama menüü või ainult mõningate väikeste erinevustega.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiiruse parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google mapsi klientrakendusse integreerimine muudab kasutajate elu mugavamaks, kui nad kohvikute asukohti veel peast ei tea&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33742</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33742"/>
		<updated>2011-06-05T20:19:27Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
Kellegi teise poolt (Subgurim) kohandatud Google mapsi kasutamise asemel oleks siiski võinud võtta ametliku versiooni. Javascriptiga mässamist oli küll vähem, aga hiljem ilmnesid mõningad probleemid, millest ilma javascripti häkkide kasutamiseta jagu ei saanud. Üks bugi jäi sellest hoolimata siiski sisse. Võib olla ei oleks ametlikus versioonis üldse sellega probleeme tekkinud.&lt;br /&gt;
&lt;br /&gt;
Mõned head ideed jäid siiski rakendamata. Näiteks toitude lisamist muudaks palju mugavamaks, kui autocomplete poolt pakutava toidu valimisel täidetaks kõik väljad eelmisel korral kasutatud andmetega ära. Seejärel saaks kasutaja hõlpsasti veel mõned pisiparandused sisse viia ning ei peaks iga kord portse ja soodustusi uuesti sisse toksima. Samuti võiks olla valik, et lisamisel saaks laadida terve eelmise päeva menüü ette. Seejärel saaks kasutaja eemaldada toidud, mida see kord ei pakuta ja lisada teised asemele. Kohvikutel võib iga päev olla sama menüü või ainult mõningate väikeste erinevustega.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google mapsi klientrakendusse integreerimine muudab kasutajate elu mugavamaks, kui nad kohvikute asukohti veel peast ei tea&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33741</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33741"/>
		<updated>2011-06-05T20:18:23Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
Kellegi teise poolt (Subgurim) kohandatud Google mapsi kasutamise asemel oleks siiski võinud võtta ametliku versiooni. Javascriptiga mässamist oli küll vähem, aga hiljem ilmnesid mõningad probleemid, millest ilma javascripti häkkide kasutamiseta jagu ei saanud. Üks bugi jäi sellest hoolimata siiski sisse. Võib olla ei oleks ametlikus versioonis üldse sellega probleeme tekkinud.&lt;br /&gt;
&lt;br /&gt;
Mõned head ideed jäid siiski rakendamata. Näiteks toitude lisamist muudaks palju mugavamaks, kui autocomplete poolt pakutava toidu valimisel täidetaks kõik väljad eelmisel korral kasutatud andmetega ära. Seejärel saaks kasutaja hõlpsasti veel mõned pisiparandused sisse viia ning ei peaks iga kord portse ja soodustusi uuesti sisse toksima. Samuti võiks olla valik, et lisamisel saaks laadida terve eelmise päeva menüü ette. Seejärel saaks kasutaja eemaldada toidud, mida see kord ei pakuta ja lisada teised asemele. Kohvikutel võib iga päev olla sama menüü või ainult mõningate väikeste erinevustega.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google mapsi klientrakendusse integreerimine muudab kasutajate elu mugavamaks, kui nad kohvikute asukohti veel peast ei tea.&lt;br /&gt;
+ Google code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33740</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33740"/>
		<updated>2011-06-05T20:14:59Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
Kellegi teise poolt (Subgurim) kohandatud Google mapsi kasutamise asemel oleks siiski võinud võtta ametliku versiooni. Javascriptiga mässamist oli küll vähem, aga hiljem ilmnesid mõningad probleemid, millest ilma javascripti häkkide kasutamiseta jagu ei saanud. Üks bugi jäi sellest hoolimata siiski sisse. Võib olla ei oleks ametlikus versioonis üldse sellega probleeme tekkinud.&lt;br /&gt;
&lt;br /&gt;
Mõned head ideed jäid siiski rakendamata. Näiteks toitude lisamist muudaks palju mugavamaks, kui autocomplete poolt pakutava toidu valimisel täidetaks kõik väljad eelmisel korral kasutatud andmetega ära. Seejärel saaks kasutaja hõlpsasti veel mõned pisiparandused sisse viia ning ei peaks iga kord portse ja soodustusi uuesti sisse toksima. Samuti võiks olla valik, et lisamisel saaks laadida terve eelmise päeva menüü ette. Seejärel saaks kasutaja eemaldada toidud, mida see kord ei pakuta ja lisada teised asemele. Kohvikutel võib iga päev olla sama menüü või ainult mõningate väikeste erinevustega.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google.code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33736</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33736"/>
		<updated>2011-06-05T19:45:57Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Samas mingi kogemuse XMLi koostamise kohta saime aga sellegi poolest. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google.code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33735</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33735"/>
		<updated>2011-06-05T19:30:10Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google.code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33734</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33734"/>
		<updated>2011-06-05T19:29:53Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Paraku oli sellel ka oma hind - teenuse toitude osa läks kohati väga keeruliseks.&lt;br /&gt;
Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli jaoks vajalik selle jaoks, et näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google.code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33733</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33733"/>
		<updated>2011-06-05T19:22:41Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com &amp;lt;br/&amp;gt;&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine:&lt;br /&gt;
[[File:Esileht.PNG|thumb|center]]&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nagu näha on vasakul üleval tulbas erinevate kohvikute nimekiri, millele klikates avaneb täpsem informatsioon valitud kohviku kohta - menüü, avamisajad, pildid jne. Alumises tulbas on kõige uuemad uudised/reklaam kohvikute kohta(näiteks: &amp;quot;Sõbrapäeva pakkumine, kõik joogid -15%&amp;quot; vms), mille all on veel link täpsema informatsiooni jaoks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Esilehele tulles on võimalik külastajal enda asukoht lahtrisse kirjutada, mille peale otsitakse talle välja kohvik, mis asub talle kõige lähemal. Kaardil markeri peale vajutades viib antud kohviku lehele. Tavavaates on kaardil kõik kohvikud tähistatud. &lt;br /&gt;
&lt;br /&gt;
Kuna meil on 3 erinevat kasutajatüüpi:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;tavakasutaja&#039;&#039; - &amp;quot;tavaline&amp;quot; kohvikukülastaja&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;kohvikutöötaja&#039;&#039; - kes haldab oma kohviku andmeid&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;superadmin&#039;&#039; - saab kõigi kohvikute andmeid muuta&amp;lt;br/&amp;gt;&lt;br /&gt;
..siis, et kohviku(te) andmeid muuta, on vajalik admin lehelt sisse logida. Tavavaates(tavakasutajale) seda linki ei näidata, tegemist on eraldi lehega. Kui on oma parooliga sisse logitud, ilmub menüüribale &amp;quot;Admin&amp;quot; link(vt. all pilt nr 2), kus on võimalik näiteks kohvikutöötajal pilte juurde lisada ja ennekõike just toite sisestada, kustutada, muuta.&lt;br /&gt;
&lt;br /&gt;
[[File:Muutmine.PNG|thumb|center]] [[File:AdminVaade.PNG|thumb|center]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paindliku andmebaasi disaini tõttu on meil võimalik lugematul hulgal erinevaid portse ja soodustusi menüüle/toitudele lisada. Sellega lahendatakse ära see olukord, kus suur ports võib otsas olla, aga väike ports on samas olemas. Alumiselt pildilt on näha ka see, et kui antud toiduga kaasneb ka mingi soodustus, siis see uus hind kuvatakse sinna alla. Kui toit/ports on otsas, siis on see mahatõmmatud. Samuti saavad külastajad toite kommenteerida, kommentaaride hulk(arv) on näidatud toidu nimetuse taga sulgudes. Nagu alumisel pildil näha, saab külastaja erinevate päevade menüüsid sirvida(klikates kalendri ikooni peale). Toidud on kategooriatesse jaotatud, et tekiks loogiline ülesehitus.&lt;br /&gt;
&lt;br /&gt;
[[File:Menyy.PNG|thumb|center]]     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
Projektiks valisime kohvikute infosüsteemi, kust külastaja näeb kohvikute menüüsid ja muud infot kohvikute kohta ning lisaks on antud võimalus toite kommenteerida. Kohviku omanikel/töötajatel on võimalus oma kohviku menüüd muuta, uusi toite/soodustusi lisada. Projekti ehitamist alustasime XML, XML Schema ja XSLT. Selle esimese osa oleks võinud tegelikult üldse ära jätta, sest teadsmime, et me ei ehita oma süsteemi XML&#039;i peale üles, vaid modelleerisime andmebaasi mudeli, mille järgi tabelid koostasime. Andmebaas sai küllaltki läbimõeldud ning paindlik, näiteks on võimalik lugematul hulgal portse ja soodustusi toiduga seostada. Kui esimene versioon andmebaasist oli valmis saanud, alustasime tööd teenusega, milleks oli tavaline asp.net veebi teenus. Peaaegu paralleelselt teenusega, alustasime ka rakenduse ehitamist, milleks oli asp.net veebileht. Peatselt läksime üle WCF teenusele, sest sellega kaasnes rohkem võimalusi. Kohene rakenduse ehitamine oli selle jaoks vajalik, et oli näha visuaalselt, kuidas asi tegelikult töötama hakkab ning rakendus tõi välja suure hulga meetodeid, mida algul teenusesse ei arvestanud.&lt;br /&gt;
&lt;br /&gt;
+ Paindlik andmebaas&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Teenuse kasutajaliideses on logi ning tegevused kirjutatake ka logifaili&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Cache kiirese parandamiseks&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Google.code kasutamine andis hea ülevaate koodis toimunud muutustest ja tegi projekti kergesti hallatavaks&amp;lt;br/&amp;gt;&lt;br /&gt;
- Teenus peaks asuma seal kus väline andmebaas või andmebaas oleks pidanud asuma enda arvutis&amp;lt;br/&amp;gt;&lt;br /&gt;
- Disain üksikutes kohtades&amp;lt;br/&amp;gt;&lt;br /&gt;
- Ajapuudusel ei jõudnud klientrakendusse teha vormide valideerimist ja veateadete näitamist&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 100p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33667</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33667"/>
		<updated>2011-06-05T14:28:52Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:Capture22.PNG|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine: &lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
//TODO:&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 1p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33665</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33665"/>
		<updated>2011-06-05T14:25:19Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * Boolean deleteUudis(int uudisId);        &lt;br /&gt;
       * Boolean insertEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean editEntityUudis(EntityUudis uusUudis);        &lt;br /&gt;
       * Boolean isSuperAdmin(string id);       &lt;br /&gt;
       * string getKohvikuKirjeldus(string id);        &lt;br /&gt;
       * int newKohvikuKirjeldus(string kirjeldus, string id);        &lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();        &lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItems();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getAllItemNames();        &lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);        &lt;br /&gt;
       * EntityKaup getItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);        &lt;br /&gt;
       * Boolean editItem(int olemineID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);       &lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);        &lt;br /&gt;
       * Boolean deleteItemByOlemineId(int olemineID);        &lt;br /&gt;
       * Boolean toggleAvailability(int ports_ID);        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();        &lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);        &lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);        &lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();        &lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);        &lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);        &lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();        &lt;br /&gt;
       * int login(String user, String pass);        &lt;br /&gt;
       * int getCafIdByUserId(int id);        &lt;br /&gt;
       * int getUserRoleId(int userID);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);        &lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKatNimed(string prefixText);        &lt;br /&gt;
       * string EncodePassword(string originalPassword);        &lt;br /&gt;
       * int lisaUusKohvik(EntityKohvik k);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine: &lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
//TODO:&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 1p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
===15. mai===&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
===10. mai===&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
===2. mai===&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
===18. aprill===&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
===16. aprill===&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
===7. aprill===&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
===2. aprill===&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
===23. märts===&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
===9. märts===&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
===8. märts===&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
===1. märts===&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
===27. veebruar===&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
===24. veebruar===&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
===22. veebruar===&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
===21. veebruar===&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33655</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33655"/>
		<updated>2011-06-05T14:09:53Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Disaini saime lehelt http://www.freewebtemplates.com&lt;br /&gt;
Esimene leht, mida külastaja näeb, on järgmine: &lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
//TODO:&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 1p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=15. mai=&lt;br /&gt;
&lt;br /&gt;
muudatused.aspx ja WCF klientrakendus valmis.&lt;br /&gt;
&lt;br /&gt;
=10. mai=&lt;br /&gt;
&lt;br /&gt;
Toidu muutmise leht.&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33609</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33609"/>
		<updated>2011-06-05T09:11:49Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Kokkuvõte ==&lt;br /&gt;
&lt;br /&gt;
//TODO:&lt;br /&gt;
&lt;br /&gt;
== Meeskonnasisene punktide jaotus ==&lt;br /&gt;
&lt;br /&gt;
* Joosep Ilves - 1p&lt;br /&gt;
* Kaspar Kallasmaa - 1p&lt;br /&gt;
* Siim Aaver - 58p&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33603</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33603"/>
		<updated>2011-06-04T19:00:49Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Lähtekood */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit] (seisuga 04.06). Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33602</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33602"/>
		<updated>2011-06-04T19:00:22Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Lähtekood */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit]. Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=33552</id>
		<title>Võrgurakendused II: 2011 kevadel valminud kodutööd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=V%C3%B5rgurakendused_II:_2011_kevadel_valminud_kodut%C3%B6%C3%B6d&amp;diff=33552"/>
		<updated>2011-06-03T11:31:30Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Siim Aaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Jaan Igamees=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kert Suvi=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Helen Muidik=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Mihkel Sokk=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Seda Sahradyan=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Priit Siimo=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Siim Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Reigo Männiste=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Karl Männil=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Ilmar Telga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Siim Aaver=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Taavi Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_&amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jaan Kruusma=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry_Student_Food_Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Andrus Reedla=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jaak Lehtsalu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jana Mrots=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Heiki Tamm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Meeskond&amp;quot;]]&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond  &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Toomas Soha=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Miina Sikk=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Rauno Rüga=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Tanel Liiv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Hungry Student Food Board&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Gaspar Karm=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Joosep Ilves=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Taivo Türnpu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond Tool]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Sander Baikov=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Allar Anijago=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tool&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Madis Sarv=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Kaspar Kallasmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Jarko Kaskmaa=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele [[Talk:Meeskond_%22H2%22]]&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Indrek Kõue=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;GAP&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Erik Kaju=&lt;br /&gt;
* Meeskond [[Meeskond Tool]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mailis Toompuu=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;H2&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;Sepad&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Madis Kõosaar=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tyhik&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;C terav&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Gert Glükmann=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond &amp;quot;ASP-tastic&amp;quot;]]&lt;br /&gt;
** Arvustus veebiteenusele&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;br /&gt;
&lt;br /&gt;
=Martin Lensment=&lt;br /&gt;
* Meeskond [[Meeskond &amp;quot;Tact&amp;quot;]]&lt;br /&gt;
* Arvustused&lt;br /&gt;
** Arvustus XML failile [[Talk:Meeskond_&amp;quot;FoodWars&amp;quot;]] ja [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenusele [[Talk:Meeskond_Tool]]&lt;br /&gt;
** Arvustus veebiteenuse klientidele&lt;br /&gt;
** Arvustus projektile kokkuvõtvalt&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=33551</id>
		<title>Talk:Meeskond &quot;Tyhik&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tyhik%22&amp;diff=33551"/>
		<updated>2011-06-03T11:29:52Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Arvustus&lt;br /&gt;
&lt;br /&gt;
Meeskonna Tyhik loodud kinokavade xml faili struktuur on nõuetekohane, kenasti stiilis &lt;br /&gt;
&amp;lt;kinod&amp;gt;&lt;br /&gt;
   &amp;lt;kino&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
ning &lt;br /&gt;
&amp;lt;filmid&amp;gt;&lt;br /&gt;
   &amp;lt;film&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
Stiili- ja abifailid on olemas ning kui ma neid läbi vaatasin, siis vigu ei tuvastanud.&lt;br /&gt;
Lehe esialgne kujundus on hea, mulle meeldib.&lt;br /&gt;
Kokkuvõttes: minu arvates hea raam, millele veebirakendus ümber ehitada.&lt;br /&gt;
&lt;br /&gt;
Indrek Tamm, meeskond Tool, 4.III.2011&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Võib öelda, et XML on väga põhjalik ja seal on kajastatud kõik andmed, mis kinokülastajale huvi võiksid pakkuda. Isiklikult ei leidnudki kohta, kus oleks tahtnud midagi teistmoodi teha. Sellise XML põhjal on kindlasti võimalik korralik teenus ja klientrakendus ehitada. Samuti on olemas skeemifail ja korralik XSLT, mis esitab andmeid vägagi loetaval ja ülevaatlikul kujul.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver, D21&lt;br /&gt;
&lt;br /&gt;
Uurides XML, uurisin mis uurisin aga ei oska kohe midagi ette heita. XML fail tundub ilusti struktureeritud, ja paistab et on olemas ka kõik vajalikud asjad, mis kinosüsteemis peaksolemas olema. Kõik failid on korralikult loetaavad ja arusaamisega probleeme ei teki. Lihtne ülesehitus.&lt;br /&gt;
&lt;br /&gt;
Jaak Lehtsalu D22&lt;br /&gt;
&lt;br /&gt;
XML fail keskendub elementidele, struktuur on loogiline. Andmed hoitakse võimalikult detailselt, nii et midagi halba pole öelda. Skeemifailis on seatud elementidele vastavusse andmetüübid, mida neis hoitakse, korralik töö. Stiilifail mitte ainult ei loe lihtsalt XMLi elementide sisu vaid paneb need ka stiliseeritud tabelisse, mis parandab loetavust. Tore oleks tõesti sait, kust kerge kinodes toimuvast infot saada ning see on hea põhi sellise teenuse loomiseks.&lt;br /&gt;
&lt;br /&gt;
Reigo Männiste D22&lt;br /&gt;
&lt;br /&gt;
Väga põhjalik XML fail ning väga hästi ülesehitatud stiilifail. Kõik vajalik on olemas ning veel lisaks ka muudki.&lt;br /&gt;
&lt;br /&gt;
Nimetused oleks võinud teistmoodi üles ehitada. Seal on olemas originaal ning tõlgitud filmi nimi, kuid sinna võiks olla võimalik lisada ka muid keeli. Kuigi kui rakendus jääbki ainult eesti keelseks siis pole vahet.&lt;br /&gt;
&lt;br /&gt;
Jarko Kaskmaa D21&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Teenuse arvamus&lt;br /&gt;
&lt;br /&gt;
Erinevaid teenuseid tundub olevat piisavalt palju, et antud veebiteenusele&lt;br /&gt;
saaks ehitada ühe korraliku ja kasuliku rakenduse. &lt;br /&gt;
Natuke tekitavad kahtlused näitkes võta hind, kustuta hind - mille jaoks neid vaja on?&lt;br /&gt;
Kui see käib mingi seansi kohta, siis võiks see olla näiteks filmi objekti küljes&lt;br /&gt;
koos teiste filmi parameetritega. Kui liiga palju meetoteid on, pole ka alati hea.&lt;br /&gt;
Aga samas, see on minu arvamus. Edu!&lt;br /&gt;
&lt;br /&gt;
Taavi Ilves D21&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Vastus: &lt;br /&gt;
&lt;br /&gt;
Tegelikult saab filmi küsimise meetodile öelda, kas ta annab ka alamobjektid (hind, zanr, inimesed jne) või mitte. &lt;br /&gt;
Eraldi ongi sellepärast, et saaks küsida ainult filmi kohta infot. Pannes üheks parameetriks &amp;quot;true&amp;quot;, siis pistetakse&lt;br /&gt;
hind filmi objekti külge. Samas on vaja hinda eraldi pärida näiteks kino hinnakirja genereerimiseks. Ning hindasid&lt;br /&gt;
peab saama eraldi ka kustutada, kuna hinnad ei ole ju jäigalt seotud filmiga vaid ikka kinoga.&lt;br /&gt;
&lt;br /&gt;
Aga täname arvamuse eest :)&lt;br /&gt;
&lt;br /&gt;
Kert Suvi D22&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Teenuseid on korralik hulk, kuid Eestikeelsed API nimed ei ole arusaadavad välismaalastele. Segadust tekitab veel &amp;quot;anna*&amp;quot; ja &amp;quot;võta*&amp;quot;, kas mina annan talle ja ta võtab, või võtab tema ja annab mulle - nimi peaks ütleme kohe mis suunas liiklus käib. Tundub et mõned päringud saaks kokku &#039;&#039;mergeda&#039;&#039;, näiteks annaFilmid ja annaFilmidNimi. Üldiselt aga on kena :)&lt;br /&gt;
&lt;br /&gt;
-Tanel Liiv D22&lt;br /&gt;
&lt;br /&gt;
Teenuse arvustus&lt;br /&gt;
&lt;br /&gt;
Esimese asjana hakkas silma, et te olete iga päringu tüübi jaoks teinud eraldi teenuse. Minu arvates koodi loetavuse mõttes on see hea, aga teenust ennast oleks mugavam kasutada kui kõik meetodid oleks üheks teenuseks koondatud.&lt;br /&gt;
Üldiselt tundub, et teenusel on olemas kõikvõimalikud meetodid, mida vaja võiks minna. Positiivne on, et peaaegu kõigil meetoditel on olemas ka kirjeldus, et mida see teeb ning mis parameetreid vajab.&lt;br /&gt;
Projektiga võiksite .sln või vähemalt .csproj failid ka kaasa panna, et visual studios parem vaadata oleks ning käivitada saaks.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33242</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33242"/>
		<updated>2011-05-29T15:39:25Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Lähtekood */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt_27.05.zip siit]. Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33241</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=33241"/>
		<updated>2011-05-29T15:38:04Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Lähtekood */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt_27.05.zip siit]. Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -&amp;gt; properties -&amp;gt; common properties -&amp;gt; startup project -&amp;gt; multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32928</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32928"/>
		<updated>2011-05-26T11:19:29Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Klientrakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32927</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32927"/>
		<updated>2011-05-26T11:18:09Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32926</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32926"/>
		<updated>2011-05-26T11:15:07Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl XSLT link]&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
//TODO: Kaspar&lt;br /&gt;
&lt;br /&gt;
ASP.net aine raames tegime tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda [[Meeskond &amp;quot;Nämm-nämm asp.net&amp;quot;]] lehelt.&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32663</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32663"/>
		<updated>2011-05-23T20:50:06Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* XSLT tulemus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml link XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd link XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl link XSLT link]&lt;br /&gt;
&lt;br /&gt;
=== XSLT tulemus ===&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32662</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32662"/>
		<updated>2011-05-23T20:49:38Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml link XML link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd link XSD link]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl link XSLT link]&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32661</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=32661"/>
		<updated>2011-05-23T20:49:27Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xml link XML link]&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsd link XSD link]&lt;br /&gt;
[http://enos.itcollege.ee/~saaver/VR2/n%e4mm-n%e4mm.xsl link XSLT link]&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32660</id>
		<title>Meeskond &quot;Nämm-nämm asp.net&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32660"/>
		<updated>2011-05-23T20:36:59Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Sisu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Liikmed==&lt;br /&gt;
*Kaspar Kallasmaa - kohvikute lisamine&lt;br /&gt;
*Siim Aaver - Silverlighti galerii ja piltide lisamine&lt;br /&gt;
*Indrek Kõue - Uudiste muutmine, lisamine, otsingu kasutajaliides, kohviku kirjelduse lisamine, muutmine, wiki täiendamine&lt;br /&gt;
&lt;br /&gt;
==Mõte==&lt;br /&gt;
Kohvikute infosüsteem&lt;br /&gt;
&lt;br /&gt;
==Võimalused==&lt;br /&gt;
Saab vaadata kohvikuid, lisada toite, kommenteerida kohvikuid/toite, lisada uudiseid, lisada kohvikute kirjeldusi&lt;br /&gt;
&lt;br /&gt;
==Tehnoloogia==&lt;br /&gt;
*.NET WCF teenus&lt;br /&gt;
* MySql andmebaas&lt;br /&gt;
* ASP.NET kasutajaliides&lt;br /&gt;
&lt;br /&gt;
==Sisu==&lt;br /&gt;
See projekt on VR2 aine [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]] projekti laienduseks. Teenuse ja toitude osa kohta saab pikemalt lugeda VR2 lehelt.&lt;br /&gt;
&lt;br /&gt;
ASP net aine raames lisasime kohviku lehele tekstivälja, mille saab iga kohvikupidaja enda soovi järgi täita (kasvõi htmliga). Teisteks lisavõimalusteks on uudiste lisamine/muutmine/kustutamine, Silverlighti galerii ja kohvikute lisamine. &lt;br /&gt;
Galerii jaoks kasutasime  [http://www.vertigo.com/slideshow.aspx Vertigo Slide.Show] nimelist silverlighti pluginat. See võimaldab pilte organiseerida kohvikute kaupa albumitesse. Lisamise lehel saab administraator lisada pilte ükskõik missuguse kohviku albumisse, kohvikupidaja ainult enda kohviku kausta.&lt;br /&gt;
&lt;br /&gt;
==Andmebaasi struktuur==&lt;br /&gt;
[[File:Capture22.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
 r169 galerii + piltide upload&lt;br /&gt;
 r168 uudise kustutamine  &lt;br /&gt;
 r167 textboxide suurus + admini menüü muudatus &lt;br /&gt;
 r166 silverlighti galerii&lt;br /&gt;
 r165 uudiste muutmine/lisamine&lt;br /&gt;
 r162 otsing kasutajaliides&lt;br /&gt;
 r161 kohviku muutmise lehel on kohviku nimi + teavitab kasutajad kui kirjeldus on edukalt muudetud&lt;br /&gt;
 r160 peale audentimist suunab default.aspx lehele&lt;br /&gt;
 r159 kohviku kirjeledus&lt;br /&gt;
 r157 kalendrile normaalne kujundus&lt;br /&gt;
 r156 kohviku lehelt suunab muutmise lehele, kui kasutajal on selleks õigused&lt;br /&gt;
 r155 kirjelduse lisamine/muutmine põhimõtteliselt tehtud&lt;br /&gt;
 r154 kohviku kirjelduste implementeerimine&lt;br /&gt;
 .....&lt;br /&gt;
 ...&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32659</id>
		<title>Meeskond &quot;Nämm-nämm asp.net&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32659"/>
		<updated>2011-05-23T20:31:25Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Liikmed==&lt;br /&gt;
*Kaspar Kallasmaa - kohvikute lisamine&lt;br /&gt;
*Siim Aaver - Silverlighti galerii ja piltide lisamine&lt;br /&gt;
*Indrek Kõue - Uudiste muutmine, lisamine, otsingu kasutajaliides, kohviku kirjelduse lisamine, muutmine, wiki täiendamine&lt;br /&gt;
&lt;br /&gt;
==Mõte==&lt;br /&gt;
Kohvikute infosüsteem&lt;br /&gt;
&lt;br /&gt;
==Võimalused==&lt;br /&gt;
Saab vaadata kohvikuid, lisada toite, kommenteerida kohvikuid/toite, lisada uudiseid, lisada kohvikute kirjeldusi&lt;br /&gt;
&lt;br /&gt;
==Tehnoloogia==&lt;br /&gt;
*.NET WCF teenus&lt;br /&gt;
* MySql andmebaas&lt;br /&gt;
* ASP.NET kasutajaliides&lt;br /&gt;
&lt;br /&gt;
==Sisu==&lt;br /&gt;
See projekt on VR2 aine [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]] projekti laienduseks. Teenuse ja toitude osa kohta saab pikemalt lugeda VR2 lehelt.&lt;br /&gt;
&lt;br /&gt;
ASP net aine raames lisasime kohviku lehele tekstivälja, mille saab iga kohvikupidaja enda soovi järgi täita (kasvõi htmliga). Teisteks lisavõimalusteks on uudiste lisamine/muutmine/kustutamine, Silverlighti galerii ja kohvikute lisamine.&lt;br /&gt;
&lt;br /&gt;
==Andmebaasi struktuur==&lt;br /&gt;
[[File:Capture22.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
 r169 galerii + piltide upload&lt;br /&gt;
 r168 uudise kustutamine  &lt;br /&gt;
 r167 textboxide suurus + admini menüü muudatus &lt;br /&gt;
 r166 silverlighti galerii&lt;br /&gt;
 r165 uudiste muutmine/lisamine&lt;br /&gt;
 r162 otsing kasutajaliides&lt;br /&gt;
 r161 kohviku muutmise lehel on kohviku nimi + teavitab kasutajad kui kirjeldus on edukalt muudetud&lt;br /&gt;
 r160 peale audentimist suunab default.aspx lehele&lt;br /&gt;
 r159 kohviku kirjeledus&lt;br /&gt;
 r157 kalendrile normaalne kujundus&lt;br /&gt;
 r156 kohviku lehelt suunab muutmise lehele, kui kasutajal on selleks õigused&lt;br /&gt;
 r155 kirjelduse lisamine/muutmine põhimõtteliselt tehtud&lt;br /&gt;
 r154 kohviku kirjelduste implementeerimine&lt;br /&gt;
 .....&lt;br /&gt;
 ...&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32658</id>
		<title>Meeskond &quot;Nämm-nämm asp.net&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm_asp.net%22&amp;diff=32658"/>
		<updated>2011-05-23T20:28:49Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Liikmed==&lt;br /&gt;
*Kaspar Kallasmaa - kohvikute lisamine&lt;br /&gt;
*Siim Aaver - Silverlighti galerii ja piltide lisamine&lt;br /&gt;
*Indrek Kõue - Uudiste muutmine, lisamine, otsingu kasutajaliides, kohviku kirjelduse lisamine, muutmine, wiki täiendamine&lt;br /&gt;
&lt;br /&gt;
==Mõte==&lt;br /&gt;
Kohvikute infosüsteem&lt;br /&gt;
&lt;br /&gt;
==Võimalused==&lt;br /&gt;
Saab vaadata kohvikuid, lisada toite, kommenteerida kohvikuid/toite, lisada uudiseid, lisada kohvikute kirjeldusi&lt;br /&gt;
&lt;br /&gt;
==Tehnoloogia==&lt;br /&gt;
*.NET WCF teenus&lt;br /&gt;
* MySql andmebaas&lt;br /&gt;
* ASP.NET kasutajaliides&lt;br /&gt;
&lt;br /&gt;
==Sisu==&lt;br /&gt;
See projekt on VR2 aine [[Meeskond &amp;quot;Nämm-nämm&amp;quot;]] projekti laienduseks. Teenuse ja toitude osa kohta saab pikemalt lugeda VR2 lehelt.&lt;br /&gt;
&lt;br /&gt;
ASP net aine raames lisasime kohviku lehele tekstivälja, mille saab iga kohvikupidaja enda soovi järgi täita (kasvõi htmliga). Teisteks lisavõimalusteks on uudiste lisamine/muutmine/kustutamine, Silverlighti galerii ja kohvikute lisamine.&lt;br /&gt;
&lt;br /&gt;
==Andmebaasi struktuur==&lt;br /&gt;
[[File:Capture22.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
 r165 uudiste muutmine/lisamine&lt;br /&gt;
 r162 otsing kasutajaliides&lt;br /&gt;
 r161 kohviku muutmise lehel on kohviku nimi + teavitab kasutajad kui kirjeldus on edukalt muudetud&lt;br /&gt;
 r160 peale audentimist suunab default.aspx lehele&lt;br /&gt;
 r159 kohviku kirjeledus&lt;br /&gt;
 r157 kalendrile normaalne kujundus&lt;br /&gt;
 r156 kohviku lehelt suunab muutmise lehele, kui kasutajal on selleks õigused&lt;br /&gt;
 r155 kirjelduse lisamine/muutmine põhimõtteliselt tehtud&lt;br /&gt;
 r154 kohviku kirjelduste implementeerimine&lt;br /&gt;
 r151 ID näitamine kaotatud + CSS&lt;br /&gt;
 r147 errordab, test + yks pisiasi&lt;br /&gt;
 ...&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=31749</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=31749"/>
		<updated>2011-05-16T08:49:04Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus1 :: ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Rakendus2 :: WPF baasil ==&lt;br /&gt;
[[File:Rakendus_jsk.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~joilves/Rakendus2.rar LAE ALLA (Lähtekood + jooksutamiseks vajalik teenuse osa)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kuidas käivitada:&lt;br /&gt;
&lt;br /&gt;
1. Ava WCF-i projekt&lt;br /&gt;
&lt;br /&gt;
2. Ava WPF projekt&lt;br /&gt;
&lt;br /&gt;
== Lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=29675</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=29675"/>
		<updated>2011-05-02T16:42:11Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=2. mai=&lt;br /&gt;
&lt;br /&gt;
Teenusele lisatud paar puuduvat meetodit.&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=29670</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=29670"/>
		<updated>2011-05-02T16:41:16Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * Boolean deleteItem(int itemID, String kuupaev);&lt;br /&gt;
       * public Boolean toggleAvailability();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=28566</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=28566"/>
		<updated>2011-04-26T13:10:47Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
       * List&amp;lt;String&amp;gt; getKaupNimed(int kasutaja_ID, string prefixText);&lt;br /&gt;
       * List&amp;lt;EntityKategooria&amp;gt; getKatNimed(int kasutaja_ID);&lt;br /&gt;
       * string EncodePassword(string originalPassword);&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~saaver/VR2/Teenus.zip link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=28270</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=28270"/>
		<updated>2011-04-25T08:09:25Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27435</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27435"/>
		<updated>2011-04-19T11:26:07Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Meeskond */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27430</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27430"/>
		<updated>2011-04-19T11:00:50Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja &#039;cache&#039;, mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud.&lt;br /&gt;
&lt;br /&gt;
Teenus/andmebaas on paindlik: &lt;br /&gt;
* Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.&lt;br /&gt;
* Soodustused on seostatud kindla toiduga. Seega saab igale toidule määrata erinevad soodustused.&lt;br /&gt;
* Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.&lt;br /&gt;
* Iga portsul eraldi on olemas &#039;saadavuse&#039; väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.&lt;br /&gt;
&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27418</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27418"/>
		<updated>2011-04-19T09:51:08Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
Autocomplete.&lt;br /&gt;
&lt;br /&gt;
=16. aprill=&lt;br /&gt;
&lt;br /&gt;
Adminni lehel sisselogimine.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27347</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27347"/>
		<updated>2011-04-18T11:35:26Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=18. aprill=&lt;br /&gt;
&lt;br /&gt;
Töötab toitude lisamise leht.&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27313</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27313"/>
		<updated>2011-04-18T08:22:35Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]][[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27306</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27306"/>
		<updated>2011-04-18T08:17:41Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png|thumb|center]]&amp;lt;br /&amp;gt;[[File:ABskeem.png|thumb|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27305</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27305"/>
		<updated>2011-04-18T08:14:37Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:teenus.png |thumb]]&amp;lt;br /&amp;gt;[[File:ABskeem.png|thumb]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27300</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27300"/>
		<updated>2011-04-18T08:03:32Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
[[File:teenus.png |thumb]][[File:ABskeem.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:ABskeem.png&amp;diff=27297</id>
		<title>File:ABskeem.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:ABskeem.png&amp;diff=27297"/>
		<updated>2011-04-18T07:58:24Z</updated>

		<summary type="html">&lt;p&gt;Saaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27296</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27296"/>
		<updated>2011-04-18T07:57:13Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
[[File:teenus.png]][[File:ABskeem.png]]&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27295</id>
		<title>Meeskond &quot;Nämm-nämm&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22N%C3%A4mm-n%C3%A4mm%22&amp;diff=27295"/>
		<updated>2011-04-18T07:56:25Z</updated>

		<summary type="html">&lt;p&gt;Saaver: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
&lt;br /&gt;
Meie poolne teenus:&lt;br /&gt;
&lt;br /&gt;
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida.&lt;br /&gt;
Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rakendus:&lt;br /&gt;
&lt;br /&gt;
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;kohvikud&amp;gt;&lt;br /&gt;
  &amp;lt;kohvik id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nimi&amp;gt;Saiapäts&amp;lt;/nimi&amp;gt;&lt;br /&gt;
    &amp;lt;aadress laius=&amp;quot;59.395515&amp;quot; pikkus=&amp;quot;24.664993&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;riik&amp;gt;Eesti&amp;lt;/riik&amp;gt;&lt;br /&gt;
      &amp;lt;maakond&amp;gt;Harjumaa&amp;lt;/maakond&amp;gt;&lt;br /&gt;
      &amp;lt;linnVald&amp;gt;Tallinn&amp;lt;/linnVald&amp;gt;&lt;br /&gt;
      &amp;lt;indeks&amp;gt;64739&amp;lt;/indeks&amp;gt;&lt;br /&gt;
      &amp;lt;tanav&amp;gt;pätsi&amp;lt;/tanav&amp;gt;&lt;br /&gt;
      &amp;lt;maja&amp;gt;5&amp;lt;/maja&amp;gt;&lt;br /&gt;
    &amp;lt;/aadress&amp;gt;   &lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;lahtiolekuajad&amp;gt;   &lt;br /&gt;
      &amp;lt;alates&amp;gt;               &amp;lt;!--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;01&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/alates&amp;gt;   &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;E&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;08&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;19&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt;      &lt;br /&gt;
      &amp;lt;lahtiolekuaeg&amp;gt;&lt;br /&gt;
        &amp;lt;nadalapaev&amp;gt;T&amp;lt;/nadalapaev&amp;gt;&lt;br /&gt;
        &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;09&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;30&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;tund&amp;gt;10&amp;lt;/tund&amp;gt;&lt;br /&gt;
          &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
        &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
      &amp;lt;/lahtiolekuaeg&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      &amp;lt;erandid&amp;gt;        &amp;lt;!--lahtiolekuaegade erandid--&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;suletud&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
        &amp;lt;erand&amp;gt;&lt;br /&gt;
          &amp;lt;kuupaev&amp;gt;&lt;br /&gt;
            &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
            &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
            &amp;lt;paev&amp;gt;25&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
          &amp;lt;avamisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;12&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;00&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/avamisaeg&amp;gt;&lt;br /&gt;
          &amp;lt;sulgemisaeg&amp;gt;&lt;br /&gt;
            &amp;lt;tund&amp;gt;16&amp;lt;/tund&amp;gt;&lt;br /&gt;
            &amp;lt;minut&amp;gt;20&amp;lt;/minut&amp;gt;&lt;br /&gt;
          &amp;lt;/sulgemisaeg&amp;gt;&lt;br /&gt;
        &amp;lt;/erand&amp;gt;&lt;br /&gt;
      &amp;lt;/erandid&amp;gt;      &lt;br /&gt;
    &amp;lt;/lahtiolekuajad&amp;gt;    &lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;menüü&amp;gt;&lt;br /&gt;
      &amp;lt;kuupaev&amp;gt;                         &amp;lt;!--kuupäev, millal antud menüü kehtib--&amp;gt;&lt;br /&gt;
        &amp;lt;aasta&amp;gt;2011&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;kuu&amp;gt;02&amp;lt;/kuu&amp;gt;&lt;br /&gt;
        &amp;lt;paev&amp;gt;24&amp;lt;/paev&amp;gt;&lt;br /&gt;
      &amp;lt;/kuupaev&amp;gt;&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;suupisted&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;                   &amp;lt;!--Igale tootegrupile saab määrata soodustused eraldi. Soodustusi võib olla mitme erineva suurusega--&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;ISIC&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;10&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;%&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
          &amp;lt;soodustus&amp;gt;                   &amp;lt;!--võimalik on panna ka soodustusi, kus hinnast antakse mingi kindel summa alla, mitte protsent--&amp;gt;&lt;br /&gt;
            &amp;lt;liik&amp;gt;kliendikaart&amp;lt;/liik&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;0.1&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;yhik&amp;gt;EUR&amp;lt;/yhik&amp;gt;&lt;br /&gt;
          &amp;lt;/soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;tikuvõileib magushapus kastmes&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;                       &amp;lt;!--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda--&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;      &amp;lt;!--1 - true; 0 - false--&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;0&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
              &amp;lt;hind&amp;gt;&lt;br /&gt;
                &amp;lt;vaartus&amp;gt;9.90&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
                &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
              &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;mittealkoholsed joogid&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;kategooria&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus&amp;gt;lisad&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;soodustused&amp;gt;&amp;lt;/soodustused&amp;gt;&lt;br /&gt;
        &amp;lt;toit&amp;gt;&lt;br /&gt;
          &amp;lt;nimetus&amp;gt;ahjukartul&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;suur&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
          &amp;lt;ports&amp;gt;&lt;br /&gt;
            &amp;lt;suurus&amp;gt;väike&amp;lt;/suurus&amp;gt;&lt;br /&gt;
            &amp;lt;saadaval&amp;gt;1&amp;lt;/saadaval&amp;gt;&lt;br /&gt;
            &amp;lt;hind&amp;gt;&lt;br /&gt;
              &amp;lt;vaartus&amp;gt;0&amp;lt;/vaartus&amp;gt;&lt;br /&gt;
              &amp;lt;valuuta&amp;gt;EUR&amp;lt;/valuuta&amp;gt;&lt;br /&gt;
            &amp;lt;/hind&amp;gt;&lt;br /&gt;
          &amp;lt;/ports&amp;gt;&lt;br /&gt;
        &amp;lt;/toit&amp;gt;&lt;br /&gt;
      &amp;lt;/kategooria&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/menüü&amp;gt;&lt;br /&gt;
  &amp;lt;/kohvik&amp;gt;&lt;br /&gt;
&amp;lt;/kohvikud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML Schema&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;kohvik&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;aadress&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;riik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maakond&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;linnVald&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;indeks&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;tanav&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;maja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;laius&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;pikkus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;lahtiolekuajad&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;alates&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nadalapaev&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;erandid&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;erand&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;avamisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sulgemisaeg&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tund&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;minut&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menüü&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;kuupaev&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kategooria&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;soodustused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs =&amp;quot;unbounded&amp;quot; name=&amp;quot;soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;liik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;yhik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;suurus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;saadaval&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;hind&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;vaartus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;valuuta&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSL&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvikud&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvik &amp;lt;xsl:value-of select=&amp;quot;kohvik/nimi&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Asukoht: &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/tanav&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maja&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/linnVald&amp;quot;/&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/maakond&amp;quot;/&amp;gt;, &lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;kohvik/aadress/riik&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;Lahtiolekuajad: &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/lahtiolekuaeg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;nadalapaev&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p&amp;gt;Lahtiolekuaegade erandid: &amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;xsl:for-each select=&amp;quot;kohvik/lahtiolekuajad/erandid/erand&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;kuupaev/paev&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/kuu&amp;quot;/&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;kuupaev/aasta&amp;quot;/&amp;gt;  - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;avamisaeg/minut&amp;quot;/&amp;gt; - &lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/tund&amp;quot;/&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;sulgemisaeg/minut&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;strong&amp;gt;MENÜÜ&amp;lt;/strong&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;xsl:for-each select=&amp;quot;kohvik/menüü/kategooria&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;-- &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt; -- &amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOODUSTUSED: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Liik&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Suurus&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th align=&amp;quot;center&amp;quot;&amp;gt;Ühik&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;soodustused/soodustus&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;liik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;toit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;ports&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt; - &amp;lt;xsl:value-of select=&amp;quot;hind/vaartus&amp;quot;/&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;hind/valuuta&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XSLT tulemus ==&lt;br /&gt;
&lt;br /&gt;
[[File:Xsllololololol.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
Public meetodid:&lt;br /&gt;
       * List&amp;lt;EntityKohvik&amp;gt; getEntityKohvikList();&lt;br /&gt;
       * EntityKohvik getEntityKohvikById(int id);&lt;br /&gt;
       * List&amp;lt;EntityKaup&amp;gt; getItemData(int kohvikID, string date);&lt;br /&gt;
       * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List&amp;lt;EntityPorts&amp;gt; portsud, List&amp;lt;EntitySoodustus&amp;gt; soodukad);&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisList();&lt;br /&gt;
       * List&amp;lt;EntityUudis&amp;gt; getEntityUudisListByAmount(int limit);&lt;br /&gt;
       * EntityUudis getEntityUudisById(int id);&lt;br /&gt;
       * List&amp;lt;EntityLahtiolekuAjad&amp;gt; getEntityLahtiolekuAjadByKohvikId(int kohvikId);&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarList();&lt;br /&gt;
       * List&amp;lt;EntityKommentaar&amp;gt; getEntityKommentaarFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * int getCommentCountFor(KommentaarType kommentaarType, int id);&lt;br /&gt;
       * bool addKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor);&lt;br /&gt;
       * List&amp;lt;EntityValuuta&amp;gt; getCurrency();&lt;br /&gt;
       * int login(String user, String pass);&lt;br /&gt;
[[File:teenus.png]][[File:skeem.png]]&lt;br /&gt;
&lt;br /&gt;
== Rakendus ASP.NET baasil ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=7. aprill=&lt;br /&gt;
&lt;br /&gt;
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.&lt;br /&gt;
&lt;br /&gt;
=2. aprill=&lt;br /&gt;
&lt;br /&gt;
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.&lt;br /&gt;
&lt;br /&gt;
=23. märts=&lt;br /&gt;
&lt;br /&gt;
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.&lt;br /&gt;
&lt;br /&gt;
=9. märts=&lt;br /&gt;
&lt;br /&gt;
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.&lt;br /&gt;
&lt;br /&gt;
=8. märts=&lt;br /&gt;
&lt;br /&gt;
Tõenäoliselt lõplik versioon andmebaasi disainist.&lt;br /&gt;
&lt;br /&gt;
=1. märts=&lt;br /&gt;
&lt;br /&gt;
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.&lt;br /&gt;
&lt;br /&gt;
=27. veebruar=&lt;br /&gt;
&lt;br /&gt;
XML fail, schema, xsl. Esialgne andmebaasi mudel.&lt;br /&gt;
&lt;br /&gt;
=24. veebruar=&lt;br /&gt;
&lt;br /&gt;
Google mapsi integreerimine rakendusse.&lt;br /&gt;
&lt;br /&gt;
=22. veebruar=&lt;br /&gt;
&lt;br /&gt;
SVN ülesseadmine, esialgne rakenduse disain.&lt;br /&gt;
&lt;br /&gt;
=21. veebruar=&lt;br /&gt;
&lt;br /&gt;
Meeskonna moodustamine, teema valimine.&lt;/div&gt;</summary>
		<author><name>Saaver</name></author>
	</entry>
</feed>