<?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=Lilember</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=Lilember"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Lilember"/>
	<updated>2026-06-10T19:10:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Head_isu%22&amp;diff=33561</id>
		<title>Meeskond &quot;Head isu&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Head_isu%22&amp;diff=33561"/>
		<updated>2011-06-03T12:40:18Z</updated>

		<summary type="html">&lt;p&gt;Lilember: /* Summary (est) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Team==&lt;br /&gt;
* Liisa Viljaste (Lember)&lt;br /&gt;
* Kalev Paju&lt;br /&gt;
* Elvin Risti&lt;br /&gt;
* Katri Pokats&lt;br /&gt;
&lt;br /&gt;
==Summary (est)==&lt;br /&gt;
Kuna oli teada kitsas ajapiirang, siis sai võetud kinni õpetaja pakutud teemast - kohvikuteema.&lt;br /&gt;
&lt;br /&gt;
Algsest XML-st sai ka vastav andmemudel. Veebiteenusega muidugi sellist 1:1 väljundit pakkuda ei saa, kuna veebiteenusel ei saanud atribuute väljundisse (vähemalt meie näites).&lt;br /&gt;
&lt;br /&gt;
Kitsas ajapiirang ei lasknud teha valmis kogu funktsionaalsust, mis sai algselt mõeldud.&lt;br /&gt;
&lt;br /&gt;
Põhiline funktsionaalsus sai klientrakendustesse juurutatud, kuid administreerimise poolel &#039;&#039;desktop&#039;&#039;-rakendusel ei saanud kõike teostatud.&lt;br /&gt;
&lt;br /&gt;
Tagantjärele mõeldes oleks pidanud skoopi kokku tõmbama ja mitte mõtlema nii laiaks süsteemi.&lt;br /&gt;
&lt;br /&gt;
Tegemise käigus sai omandatud oskusi Visual Studio programmiga ja saime teada, et on ka .Net rakendustele teenused olemas, mida saab tasuta kasutada. Nii saime oma MSSQL andmebaasi, WSDL-teenuse ja veebiklientrakenduse sellele teenusele üles panna.&lt;br /&gt;
&lt;br /&gt;
Tiimivahelise peamiseks suhtluskanaliks oli e-post, kuid sai ka kommenteeritud ja püstitatud ülesandeid vastavas keskkonnas, milleks valisime Springloopsi &#039;&#039;ticket&#039;&#039;-süsteemi, mis toetas ka versioonihaldust ja oli autentitav. Samuti sai kord nädalas loenguvaheajal lühikesi püstijala koosolekuid peetud, kus jaagasime omavahel tööülesandeid.&lt;br /&gt;
&lt;br /&gt;
Saime teada et .Net rakenduse tegemine ei olegi nii raske kui seda algselt ette kujutasime. Kindlasti oli üllatus kui lihtsalt sai tehtud MSSQLi andmetest läbi LINQ veebiteenus.&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
&lt;br /&gt;
 Webservices:              http://headisu.somee.com/app/webservice-ver0.2.zip&lt;br /&gt;
 Web application:          http://headisu.somee.com/app/KohvikuVeebiKlient.zip&lt;br /&gt;
 Windows client for admin: http://headisu.somee.com/app/WpfHeadIsu-win_klient.zip&lt;br /&gt;
&lt;br /&gt;
== Used services ==&lt;br /&gt;
* For version control and team discussion we used [http://www.slsapp.com Springloops]&lt;br /&gt;
 For one project this is free for use&lt;br /&gt;
 Used [http://tortoisesvn.net/ TortoiseSVN] in Windows to commit and update to there&lt;br /&gt;
&lt;br /&gt;
* For C# online hosting we used FREE.NET HOSTING package from http://www.somee.com/FreeAspNetHosting.aspx&lt;br /&gt;
 From there we serve private AdminService, public Cafes service and Web application&lt;br /&gt;
 &lt;br /&gt;
 Web application: http://headisu.somee.com/&lt;br /&gt;
 &lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
Teise tiimi arvustus meie XML-le: https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Head_isu%22&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;
&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;kohvik.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
itkheadisu2011.slsapp.com&lt;br /&gt;
http://itkheadisu2011.slsapp.com/source/itkheadisu&lt;br /&gt;
Elvin Risti		eristi[at]itcollege.ee&lt;br /&gt;
Liisa Lember	lilember[at]itcollege.ee&lt;br /&gt;
Kalev Paju		kpaju[at]itcollege.ee&lt;br /&gt;
Katri Pokats&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;cafemenus&amp;gt;&lt;br /&gt;
  &amp;lt;cafes&amp;gt;&lt;br /&gt;
    &amp;lt;cafe id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Reval&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;coordinates long=&amp;quot;59.430756&amp;quot; lat=&amp;quot;24.74565&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt;Pärnu mnt&amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house&amp;gt;271&amp;lt;/house&amp;gt;&lt;br /&gt;
        &amp;lt;houseExtra /&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;Tallinn&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;!-- country -  ISO 3166-1 alpha-2 code - http://en.wikipedia.org/wiki/ISO_3166-2 --&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt;EE&amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;zip&amp;gt;10141&amp;lt;/zip&amp;gt;&lt;br /&gt;
        &amp;lt;!-- opened is per location --&amp;gt;&lt;br /&gt;
        &amp;lt;opened year=&amp;quot;2011&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;weekdays&amp;gt;&lt;br /&gt;
            &amp;lt;!-- http://en.wikipedia.org/wiki/ISO_8601 --&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;1&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;2&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;3&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;4&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;21:00:00+03:00&amp;quot;&amp;gt;5&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;10:00:00+03:00&amp;quot; until=&amp;quot;15:00:00+03:00&amp;quot;&amp;gt;6&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday isclosed=&amp;quot;true&amp;quot;&amp;gt;7&amp;lt;/weekday&amp;gt;&lt;br /&gt;
          &amp;lt;/weekdays&amp;gt;&lt;br /&gt;
          &amp;lt;exceptions&amp;gt;&lt;br /&gt;
            &amp;lt;date isclosed=&amp;quot;true&amp;quot;&amp;gt;2011-01-01&amp;lt;/date&amp;gt;&lt;br /&gt;
            &amp;lt;date isclosed=&amp;quot;true&amp;quot;&amp;gt;2011-02-24&amp;lt;/date&amp;gt;&lt;br /&gt;
            &amp;lt;date begin=&amp;quot;12:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;2011-02-25&amp;lt;/date&amp;gt;&lt;br /&gt;
          &amp;lt;/exceptions&amp;gt;&lt;br /&gt;
        &amp;lt;/opened&amp;gt;&lt;br /&gt;
        &amp;lt;comment lang=&amp;quot;et&amp;quot;&amp;gt;Asume kesklinnas Pärnu mnt ja Tatari nurgal.&amp;lt;/comment&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/cafe&amp;gt;&lt;br /&gt;
    &amp;lt;cafe id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Reval 2&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;coordinates long=&amp;quot;59.430756&amp;quot; lat=&amp;quot;24.74565&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt;Pärnu mnt&amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house&amp;gt;272&amp;lt;/house&amp;gt;&lt;br /&gt;
        &amp;lt;houseExtra /&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;Tallinn&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;!-- country -  ISO 3166-1 alpha-2 code - http://en.wikipedia.org/wiki/ISO_3166-2 --&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt;EE&amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;zip&amp;gt;10141&amp;lt;/zip&amp;gt;&lt;br /&gt;
        &amp;lt;!-- opened is per location --&amp;gt;&lt;br /&gt;
        &amp;lt;opened year=&amp;quot;2011&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;weekdays&amp;gt;&lt;br /&gt;
            &amp;lt;!-- http://en.wikipedia.org/wiki/ISO_8601 --&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;1&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;2&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;3&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;19:00:00+03:00&amp;quot;&amp;gt;4&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;09:00:00+03:00&amp;quot; until=&amp;quot;21:00:00+03:00&amp;quot;&amp;gt;5&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday begin=&amp;quot;10:00:00+03:00&amp;quot; until=&amp;quot;15:00:00+03:00&amp;quot;&amp;gt;6&amp;lt;/weekday&amp;gt;&lt;br /&gt;
            &amp;lt;weekday isclosed=&amp;quot;true&amp;quot;&amp;gt;7&amp;lt;/weekday&amp;gt;&lt;br /&gt;
          &amp;lt;/weekdays&amp;gt;&lt;br /&gt;
        &amp;lt;/opened&amp;gt;&lt;br /&gt;
        &amp;lt;comment lang=&amp;quot;et&amp;quot;&amp;gt;Asume kesklinnas Pärnu mnt ja Tatari nurgal.&amp;lt;/comment&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/cafe&amp;gt;&lt;br /&gt;
  &amp;lt;/cafes&amp;gt;&lt;br /&gt;
  &amp;lt;menus&amp;gt;&lt;br /&gt;
    &amp;lt;menuscafe cafeid=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- currency -  ISO 4217 - http://en.wikipedia.org/wiki/ISO_4217 --&amp;gt;&lt;br /&gt;
      &amp;lt;currency&amp;gt;EUR&amp;lt;/currency&amp;gt;&lt;br /&gt;
      &amp;lt;!-- @lang - ISO 639-1 - http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes --&amp;gt;&lt;br /&gt;
      &amp;lt;menu lang=&amp;quot;et&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;item type=&amp;quot;food&amp;quot; subtype=&amp;quot;roast&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Kiievi kotlett&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;!-- @comment - simple comment --&amp;gt;&lt;br /&gt;
          &amp;lt;price comment=&amp;quot;väike&amp;quot;&amp;gt;2&amp;lt;/price&amp;gt;&lt;br /&gt;
          &amp;lt;price comment=&amp;quot;suur&amp;quot;&amp;gt;3&amp;lt;/price&amp;gt;&lt;br /&gt;
          &amp;lt;!-- availability: true/false --&amp;gt;&lt;br /&gt;
          &amp;lt;availability&amp;gt;true&amp;lt;/availability&amp;gt;&lt;br /&gt;
          &amp;lt;comment&amp;gt;Väiksel portsul üks kotlett, suurel kolm.&amp;lt;/comment&amp;gt;&lt;br /&gt;
        &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;item type=&amp;quot;drink&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Piim&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;!-- @unit: string,litres --&amp;gt;&lt;br /&gt;
          &amp;lt;price quantity=&amp;quot;0.33&amp;quot; unit=&amp;quot;l&amp;quot;&amp;gt;0.5&amp;lt;/price&amp;gt;&lt;br /&gt;
          &amp;lt;availability&amp;gt;true&amp;lt;/availability&amp;gt;&lt;br /&gt;
          &amp;lt;comment /&amp;gt;&lt;br /&gt;
        &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;item type=&amp;quot;food&amp;quot; subtype=&amp;quot;dessert&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Martsipani tort&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;!-- @comment - simple comment --&amp;gt;&lt;br /&gt;
          &amp;lt;price comment=&amp;quot;viil&amp;quot;&amp;gt;1&amp;lt;/price&amp;gt;&lt;br /&gt;
          &amp;lt;price quantity=&amp;quot;0.8&amp;quot; unit=&amp;quot;kg&amp;quot;&amp;gt;9&amp;lt;/price&amp;gt;&lt;br /&gt;
          &amp;lt;!-- availability: true/false --&amp;gt;&lt;br /&gt;
          &amp;lt;availability&amp;gt;true&amp;lt;/availability&amp;gt;&lt;br /&gt;
          &amp;lt;comment&amp;gt;Tordil on valge jänese pilt.&amp;lt;/comment&amp;gt;&lt;br /&gt;
        &amp;lt;/item&amp;gt;&lt;br /&gt;
      &amp;lt;/menu&amp;gt;&lt;br /&gt;
      &amp;lt;benefits&amp;gt;&lt;br /&gt;
        &amp;lt;benefit isprecent=&amp;quot;true&amp;quot; name=&amp;quot;ISIC kaart&amp;quot;&amp;gt;5&amp;lt;/benefit&amp;gt;&lt;br /&gt;
        &amp;lt;benefit isprecent=&amp;quot;true&amp;quot; name=&amp;quot;Püsikliendi soodustus&amp;quot;&amp;gt;10&amp;lt;/benefit&amp;gt;&lt;br /&gt;
        &amp;lt;benefit isprecent=&amp;quot;false&amp;quot; name=&amp;quot;Kampaania X soodustus&amp;quot;&amp;gt;1.5&amp;lt;/benefit&amp;gt;&lt;br /&gt;
      &amp;lt;/benefits&amp;gt;&lt;br /&gt;
    &amp;lt;/menuscafe&amp;gt;&lt;br /&gt;
  &amp;lt;/menus&amp;gt;&lt;br /&gt;
&amp;lt;/cafemenus&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML Schema==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&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;cafemenus&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;cafes&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;cafe&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;address&amp;quot; minOccurs=&amp;quot;1&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;coordinates&amp;quot; minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;long&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;lat&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;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;houseExtra&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;city&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;opened&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;weekdays&amp;quot;&amp;gt;&lt;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;7&amp;quot; maxOccurs=&amp;quot;7&amp;quot; name=&amp;quot;weekday&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:extension base=&amp;quot;xs:unsignedByte&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;begin&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;until&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;isclosed&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:simpleContent&amp;gt;&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;exceptions&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;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;date&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:extension base=&amp;quot;xs:date&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;isclosed&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;begin&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:attribute name=&amp;quot;until&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:simpleContent&amp;gt;&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;year&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:element name=&amp;quot;comment&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;lang&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&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:unsignedInt&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:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&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:element name=&amp;quot;menus&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;menuscafe&amp;quot; minOccurs=&amp;quot;0&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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;menu&amp;quot;&amp;gt;&lt;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;item&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;comment&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;quantity&amp;quot; type=&amp;quot;xs:decimal&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:simpleContent&amp;gt;&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;availability&amp;quot; type=&amp;quot;xs:boolean&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;comment&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;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;subtype&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&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:attribute name=&amp;quot;lang&amp;quot; type=&amp;quot;xs:string&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;benefits&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;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;benefit&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;isprecent&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&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;cafeid&amp;quot; type=&amp;quot;xs:unsignedInt&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:sequence&amp;gt;&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&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;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;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;h1&amp;gt;Kohvikud&amp;lt;/h1&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;/cafemenus/cafes/cafe&amp;quot; /&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:template match=&amp;quot;/cafemenus/cafes/cafe&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;name&amp;quot;/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;addresses&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;address&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;menus&amp;quot; style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:call-template name=&amp;quot;show_menus&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;cafe_id&amp;quot; select=&amp;quot;@id&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;hr /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;address&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- variable &amp;quot;thisyear&amp;quot; should be come from querystring, currently we set it statically --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;thisyear&amp;quot; select=&amp;quot;2011&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;address&amp;quot; style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;coordinates and coordinates/@long!=&#039;&#039; and coordinates/@lat!=&#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;img border=&amp;quot;0&amp;quot; style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;http://maps.google.com/maps/api/staticmap?zoom=16&amp;amp;amp;size=200x200&amp;amp;amp;maptype=roadmap&amp;amp;amp;markers=color:red|label:A|&amp;lt;xsl:value-of select=&amp;quot;coordinates/@long&amp;quot; /&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;coordinates/@lat&amp;quot; /&amp;gt;&amp;amp;amp;sensor=false&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;/img&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;street&amp;quot; /&amp;gt;&amp;amp;#160;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;house&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:when test=&amp;quot;houseExtra!=&#039;&#039;&amp;quot;&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;houseExtra&amp;quot; /&amp;gt;&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:choose&amp;gt;, &amp;lt;xsl:value-of select=&amp;quot;city&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:when test=&amp;quot;opened and opened/@year = $thisyear&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:call-template name=&amp;quot;show_opened&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:with-param name=&amp;quot;opened&amp;quot; select=&amp;quot;opened[@year = $thisyear]&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;show_opened&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;opened&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;strong&amp;gt;Oleme avatud:&amp;lt;/strong&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;päev&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;alates&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;kuni&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;$opened/weekdays/weekday&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:call-template name=&amp;quot;getShortDayname&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:with-param name=&amp;quot;weekday&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;@isclosed and @isclosed = &#039;true&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;suletud&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;substring(@begin, 1, 2)&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;substring(@begin, 4, 2)&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;substring(@until, 1, 2)&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;substring(@until, 4, 2)&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$opened/exceptions and $opened/exceptions/date&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;strong&amp;gt;Erandid:&amp;lt;/strong&amp;gt;&lt;br /&gt;
        &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;päev&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;alates&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;kuni&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;$opened/exceptions/date&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;@isclosed and @isclosed = &#039;true&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;suletud&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;substring(@begin, 1, 2)&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;substring(@begin, 4, 2)&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;substring(@until, 1, 2)&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;substring(@until, 4, 2)&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;show_menus&amp;quot; match=&amp;quot;/cafemenus/menus&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;cafe_id&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;/cafemenus/menus/menuscafe[@cafeid=$cafe_id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;/cafemenus/menus/menuscafe[@cafeid=$cafe_id]/currency&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;Menüü&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;thead&amp;gt;&lt;br /&gt;
            &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;th&amp;gt;Tüüp&amp;lt;/th&amp;gt;&lt;br /&gt;
              &amp;lt;th&amp;gt;Nimetus&amp;lt;/th&amp;gt;&lt;br /&gt;
              &amp;lt;th&amp;gt;Hinnad&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/thead&amp;gt;&lt;br /&gt;
          &amp;lt;tbody&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/cafemenus/menus/menuscafe[@cafeid=$cafe_id]/menu/item&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  (&amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;@subtype&amp;quot;&amp;gt;&lt;br /&gt;
                      --&amp;amp;gt; &amp;lt;xsl:value-of select=&amp;quot;@subtype&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;)&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&amp;amp;#160;&amp;lt;xsl:value-of select=&amp;quot;$currency&amp;quot;/&amp;gt;&lt;br /&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;
          &amp;lt;/tbody&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Menüü puudub&amp;lt;/h2&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;getShortDayname&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;weekday&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 1&amp;quot;&amp;gt;E&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 2&amp;quot;&amp;gt;T&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 3&amp;quot;&amp;gt;K&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 4&amp;quot;&amp;gt;N&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 5&amp;quot;&amp;gt;R&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 6&amp;quot;&amp;gt;L&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;$weekday = 7&amp;quot;&amp;gt;P&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Result preview==&lt;br /&gt;
[[File:Screenshot1.png|400px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==HeadIsu ERD==&lt;br /&gt;
[[File:HeadIsu2011ERD.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==WebService methods==&lt;br /&gt;
===Source===&lt;br /&gt;
 http://headisu.somee.com/app/webservice-ver0.2.zip&lt;br /&gt;
&lt;br /&gt;
===Public methods===&lt;br /&gt;
Service location: &#039;&#039;http://headisu.somee.com/Cafes.asmx&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*getCafeMenus&lt;br /&gt;
*getCafeWithAddresses&lt;br /&gt;
*getCafes&lt;br /&gt;
*getCities&lt;br /&gt;
*getCountries&lt;br /&gt;
*getMenu&lt;br /&gt;
*getStates&lt;br /&gt;
&lt;br /&gt;
===Restricted methods===&lt;br /&gt;
 Service location: &#039;&#039;http://headisu.somee.com/AdminService.asmx&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*IsRole &lt;br /&gt;
Is user in role&lt;br /&gt;
*deleteCafe &lt;br /&gt;
For admin: delete cafe entry&lt;br /&gt;
*deleteFood &lt;br /&gt;
For admin: delete food entry&lt;br /&gt;
*deleteFoodType &lt;br /&gt;
For admin: delete food&#039;s type&lt;br /&gt;
*deleteMenu &lt;br /&gt;
For admin: delete menu entry&lt;br /&gt;
*getCafeMenus&lt;br /&gt;
*getCafeWithAddresses&lt;br /&gt;
*getCafes&lt;br /&gt;
*getCities&lt;br /&gt;
*getCountries&lt;br /&gt;
*getDayLog &lt;br /&gt;
For admin: get log for asked date&lt;br /&gt;
*getMenu&lt;br /&gt;
*getRolesList &lt;br /&gt;
Returns roles list&lt;br /&gt;
*getStates&lt;br /&gt;
*getTodayLog &lt;br /&gt;
For admin: get log only for today&lt;br /&gt;
*isAdmin &lt;br /&gt;
Has user admin role&lt;br /&gt;
*logout &lt;br /&gt;
logout user&lt;br /&gt;
*removeBenefit &lt;br /&gt;
For admin: remove benefit name&lt;br /&gt;
*removeCafeBenefit &lt;br /&gt;
For admin: remove cafe&#039;s benefit&lt;br /&gt;
*removeFoodMenu &lt;br /&gt;
For admin: remove food from menu&lt;br /&gt;
*saveBenefit &lt;br /&gt;
For admin: add/update benefit name&lt;br /&gt;
*saveCafe &lt;br /&gt;
For admin: add/update cafe entry&lt;br /&gt;
*saveCafeBenefit &lt;br /&gt;
For admin: add/update cafe&#039;s benefit&lt;br /&gt;
*saveCountry &lt;br /&gt;
For admin: add/update country entry&lt;br /&gt;
*saveState &lt;br /&gt;
For admin: add/update state entry&lt;br /&gt;
*saveCity &lt;br /&gt;
For admin: add/update city entry&lt;br /&gt;
*saveFood &lt;br /&gt;
For admin: add/update food entry&lt;br /&gt;
*saveFoodMenu &lt;br /&gt;
For admin: add/update food to menu&lt;br /&gt;
*saveFoodType &lt;br /&gt;
For admin: add/update food&#039;s type&lt;br /&gt;
*saveMenu &lt;br /&gt;
For admin: add/update menu entry&lt;br /&gt;
&lt;br /&gt;
==Windows Application==&lt;br /&gt;
* made with WPF&lt;br /&gt;
* for administrating only&lt;br /&gt;
* using AdminService.asmx&lt;br /&gt;
  &lt;br /&gt;
 WPF app setup: http://headisu.somee.com/app/WPFApp.zip&lt;br /&gt;
 Username: admin&lt;br /&gt;
 Pwd: ?????????&lt;br /&gt;
&lt;br /&gt;
===Screenshots===&lt;br /&gt;
[[File:Headisu_logging-in.png||400px]]&lt;br /&gt;
[[File:Headisu_cafes-list.png||400px]]&lt;br /&gt;
&lt;br /&gt;
==Web application==&lt;br /&gt;
* using Cafes.asmx&lt;br /&gt;
&lt;br /&gt;
Web application is public at:&lt;br /&gt;
 http://headisu.somee.com/&lt;br /&gt;
&lt;br /&gt;
Web application startup preview: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:act_screenshot.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
Web application selection preview: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:act_screenshot_selected.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
Initial design sketch for web application of daily menu display that was not fully realised due to time constraints: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:plan_Screenshot.jpg||300px]]&lt;/div&gt;</summary>
		<author><name>Lilember</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kujuneb%22&amp;diff=33464</id>
		<title>Talk:Meeskond &quot;Kujuneb&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kujuneb%22&amp;diff=33464"/>
		<updated>2011-05-31T19:15:31Z</updated>

		<summary type="html">&lt;p&gt;Lilember: /* Kliendrakenduse arvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XML Arvustus ==&lt;br /&gt;
Kommenteerimisel tooks eelkõige välja teie tiimi XML koodi plussid:&lt;br /&gt;
- Juurelement - olemas on 1 juurelement, milles asuvad nn &amp;quot;alamelemendid&amp;quot;.&lt;br /&gt;
- Kõigil XML elementidel on olemas alguse ja lõpu tag.&lt;br /&gt;
- Kasutatud on ühtset stiili (läbivalt väiketäht, eesti keel)&lt;br /&gt;
- Atribuudina on kasutatud ainult metadata, id-d, mille väärtus asub korrektselt jutumärkide vahel&lt;br /&gt;
&lt;br /&gt;
Miinuseid hetkel mina ei leia, kõik on selge ja korrektne. Jõudu tööle!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Katri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Antud XML on väga lihtsa ülesehitusega, kus on toodud plaadid nende artistidega. Mina oleks tahtnud näha ka selles XML-kirjelduses artistide kirjeldusi eraldi (näiteks viide artisti kodulehele, miski lühikirjeldus nende kohta, kust riigist bänd pärineb vms).&lt;br /&gt;
Alubmite sees võiks toodud olla ka laulude pealkirjad ja nende kestvus, võiks olla ka mp3-viide loo lühi-introle.&lt;br /&gt;
&lt;br /&gt;
XSD kirjelduse andmetüübid on natuke puudulikud. Peamiselt pean silma id-atribuudi tüüpi unsignedByte, mille väärtus saab olla vahemikus 0 and 255, seega süsteem toetab kuni 255 kirjet.&lt;br /&gt;
&lt;br /&gt;
XSLT-s soovitan kasutada &amp;lt;xsl:for-each select=&amp;quot;albumid/album&amp;quot;&amp;gt; asemel miskit &amp;lt;xsl:template name=&amp;quot;show_album&amp;quot; match=&amp;quot;albumid/album&amp;quot;&amp;gt; näiteks.&lt;br /&gt;
&lt;br /&gt;
Visuaalselt vaadates tundub muidu kõik korrektne.&lt;br /&gt;
&lt;br /&gt;
Edu!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elvin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Teenuse arvustus ==&lt;br /&gt;
&lt;br /&gt;
Tunnis esitatud teenus oli lihtsa ülesehitusega, mis tegi seda mida küsiti - päris andmeid XML-failist ja kirjutas andmeid XML-faili, näiteks logi kirjutamine, millist funktsiooni küsiti. Andmebaasi kasutatud polnud.&lt;br /&gt;
Viimases tunnis koos klientrakendusega esitatu oli aga muudetud kõvasti - andmehoidlaks oli nüüd MSSQL-andmebaas ja tabeleid oli tekkinud kõvasti rohkem juurde. See oli see, mida juba algselt ootasin :)&lt;br /&gt;
Viimases tunnis esitatu põhjal tundus ka et saadi veebiteenus somee.com all toimima, väljaarvatud autentimise mehhanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elvin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Klientrakenduse arvustus ==&lt;br /&gt;
&lt;br /&gt;
Veebirakendus puudus, kuid Windows Formsiga tehtud klientrakendus nägi väga hea välja UI poolelt. &lt;br /&gt;
Programmi tööle panekul oli suur viivitus algul. Aken tuli alles siis ette kui olid tehtud funktsioonis [https://github.com/R3ality/tootekataloog/blob/master/TootekatKlient/TootekatKlient/Kasutajaliides.cs#L26 LaeAndmed()] toimingud. Siin oleks soovitanud need teha asünkroonselt - enne näidata akent, disable&#039;nud elemendid, näidanud miskit teadet või &#039;&#039;loading&#039;&#039; pilti ja siis asünkroonsete päringute lõppemisel väljad täitnud ja elemendid &#039;&#039;enable&#039;&#039;tud.&lt;br /&gt;
Asynkroonselt oli tehtud piltide laadimine - selle osa teostus meeldis.&lt;br /&gt;
Kokkuvõttes oli viimane töö tehtud väga hästi!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elvin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Klientrakendusi oli küll vaid üks, kuid see rakendus oli see-eest hästi teostatud ja terviklik (tundus, et kogu kavandatud funktsionaalsus oli suudetud ka teostada).&lt;br /&gt;
Selle, et esitlusel ei töödanud kõik päris nii nagu oleks pidanud, võib vist kirjutada Murphy seaduste arvele - positiivne oli seejuures, et kõik sai siiski kokkuvõttes näidatud-nähtud.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Liisa&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Lilember</name></author>
	</entry>
</feed>