<?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=Rkivinur</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=Rkivinur"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Rkivinur"/>
	<updated>2026-05-08T02:46:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=123650</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=123650"/>
		<updated>2017-06-14T16:56:26Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumisteks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
==== Rakendus ====&lt;br /&gt;
[http://enos.itcollege.ee/~rkivinur/VRII/Lukufy_v2.zip Projekti zip]&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Talk:Unnamed_Team Veebiteenuse ja veebirakenduse retsensioonid] ===&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Unnamed_Team&amp;diff=123649</id>
		<title>Talk:Unnamed Team</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Unnamed_Team&amp;diff=123649"/>
		<updated>2017-06-14T16:54:29Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: Created page with &amp;quot;== Retsensioonid meeskond RK poolt == === Veebirakendus === Registreerimisel pole peale e-maili kontrolli mitte mingisugust tagasisidet kui midagi valest läheb, seetõttu on...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Retsensioonid meeskond RK poolt ==&lt;br /&gt;
=== Veebirakendus ===&lt;br /&gt;
Registreerimisel pole peale e-maili kontrolli mitte mingisugust tagasisidet kui midagi valest läheb, seetõttu on keeruline aru saada kas registreerimisel õnnestus või jäi midagi katki. Sisselogimisega seda viga ei ole, ebaõnnestumise korral tagastatakse veateade. Mängu võtme lisamisel, kui loodud olem ei läbi valideerimist siis kuvatakse kasutajale veebiteenuse stacktrace. Kui kohe õigesti sisestada toimivad asjad korralikult, saab lisada uusi ja eemaldada olemasolevaid võtmeid. Uue mängu sisestamisel lubatakse submittida tühi vorm ja selle põhjal luuakse ka mäng, milles on kõik infoväljad tühjad. Õigesti sisestada mulle mängu ei õnnestunudki kuna veateated puudusid ja ma ei saanud aru mida ma vormi täites valesti tegin. Otsingud toimivad korralikult ja väga kiiresti.&lt;br /&gt;
Rakenduse struktuur tundub loogiline ja arusaadav. Eraldi on jaotatud kontrollerid, teenused ja vaated ja sellest piisab hetkel projektis olevate failide koguse puhul. Kui rakendus peaks suuremaks minema, siis ilmselt peaks struktuuri natuke ümber tegema. Javascriptis on funktsioonide nimetus väga hea, nimest on koheselt aru mida antud funktsioon tegema peaks, sama käib ka muutujate nimetamise kohta. CSS failis oli kasutamata stiilid, vähemalt mina ei suutnud nende kasutamist rakendusest leida, üheks neist näiteks „dropdown-content“. Vaadetes on ilusti ära kasutatud angulari bindimist. Rakenduses on ka ära kasutatud jqueryt mingil põhjusel ning bootstrap’i disainimise jaoks. Need on rakendusse võetud kusagilt teiselt veebilehelt ja mitte rakendusega kaasas, mina eelistaksin, et rakenduses olevad scriptid ja css-id on ikka rakenduses endaga kaasas. &lt;br /&gt;
&lt;br /&gt;
=== Veebiteenus ===&lt;br /&gt;
Rakendus on enamjaolt loogiliselt üles ehitatud, loodud eraldi projektid vastavate rakenduse osade jaoks. Mõni asi oli valesse kohta sattunud, nagu FavouriteService hoopis Service interface’i alla, lisaks peaks ära mainima , et on loodud eraldi projekt interface’de jaoks kuid sinna alla pole koondatud teenuste interface’d. Loodud on baasklass teenuste jaoks, kuid seda kasutatakse vaid pooltes teenustes. Rakendusse on loodud korralikult repositooriumid iga olemi jaoks, kuid enamus on neist tühjad custom päringuid ei koostata. Domeeni mudelitel võiks olla natuke rohkem annotatsioone ja kohati on nendes olevaid piiranguid liialt kasutatud. Näiteks SystemRequirements-is Os maksimaalne pikkus on pandud 20 tähemärki kuigi ühe suvalise mängu vaadates Steamist on operatsioonisüsteemi väljal: „Windows 7/8/10 (64-bit)“ mis on juba rohkem kui piirangus. GameCdKey-s kasutatakse arusaamatul põhjusel Boolean väärtust tavalise bool’i asemel. Veebiteenuses on kaasas millegipärast üle 40 tuhande isiku nime json-i formaadis. Kontrollerites kasutakse ära erinevaid http meetodeid (post, delete, get) ja autoriseerimise annotatsioone.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=123486</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=123486"/>
		<updated>2017-06-12T06:08:29Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Andmebaasi mudel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumisteks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
==== Rakendus ====&lt;br /&gt;
[http://enos.itcollege.ee/~rkivinur/VRII/Lukufy_v2.zip Projekti zip]&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=123329</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=123329"/>
		<updated>2017-06-08T14:32:14Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Kaitsmisele registreerumine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2017=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;20. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;27. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;17.aprill 2017&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/6):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* AngularJS klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmine toimub ruumis 314 neljapäeval, 8ndal juunil peale konsultatsiooni, mis algab kell 16:00.&lt;br /&gt;
&lt;br /&gt;
*16:30 - Bob&#039;s Burgers&lt;br /&gt;
*16:45 - Redundant Rappers&lt;br /&gt;
*17:00 - ...&lt;br /&gt;
*17:15 - Ott&lt;br /&gt;
*17:30 - ..&lt;br /&gt;
*17:45 - ..&lt;br /&gt;
*18:00 - ..&lt;br /&gt;
*18:15 - ..&lt;br /&gt;
&lt;br /&gt;
kui nendest aegadest ei piisa, siis lisada aegu juurde ise 15 min tsükliga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reede&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*16:00 - Meeskond: QView (neljapäeval pole tiimi!)&amp;lt;br&amp;gt;&lt;br /&gt;
*16:15 - Meeskond: HelpOut&amp;lt;br&amp;gt;&lt;br /&gt;
*16:30 - Meeskond: VeebiGurmaanid &amp;lt;br&amp;gt;&lt;br /&gt;
*16:45 - Meeskond: Helistajad (et oleks ikka rohkem mida näidata reedel)&lt;br /&gt;
*17:00 - Meeskond: Blogify&lt;br /&gt;
*17:15 - Meeskond: Sense Of Direction&lt;br /&gt;
*17.30 - ??? Profit&lt;br /&gt;
*17.45 -&lt;br /&gt;
*18.00 - Meeskond: Echo (Tiimiliikmed jõuavad selleks ajaks)&lt;br /&gt;
*18.15 - Meeskond: Sulased&lt;br /&gt;
... kui nendest aegadest ei piisa, siis lisada aegu juurde ise 15 min tsükliga&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esmaspäev&#039;&#039;&#039;&lt;br /&gt;
*08:45 - &lt;br /&gt;
*09:00 -&lt;br /&gt;
*09:15 - RK&lt;br /&gt;
*09:30 - Kirde sai&lt;br /&gt;
&lt;br /&gt;
..ülejäänud meeskonnad panevad nime kirja siia ning kaitsmine toimub päeva jooksul jooksvalt. Kaitsta saavad need, kellel on nimi siin kirjas&lt;br /&gt;
&lt;br /&gt;
=Teemad 2017 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2017=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Helistajad===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kristjan Tõnismäe&lt;br /&gt;
Meeskonna koduleht: [[Helistajad]]&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: &lt;br /&gt;
&lt;br /&gt;
===Meeskond: QView===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Semjon Greef&lt;br /&gt;
* Martin Nigul&lt;br /&gt;
* Martin Nõukas&lt;br /&gt;
* Margus Muru&lt;br /&gt;
* Lisandra Noor&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: QView]]&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/User_talk:Meeskond:_VeebiGurmaanid#M.C3.A4rkused: VeebiGurmaanid]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Redundant Rappers===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kliss&lt;br /&gt;
*Kertu Nurmberg&lt;br /&gt;
*Anneli Asser&lt;br /&gt;
*Mart-Erki Nõumees&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: Redundant Rappers]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna XML/XSD/XSLT : [https://wiki.itcollege.ee/index.php/Meeskond:_Redundant_Rappers#XML_.2F_XSD_.2F_XSLT]&lt;br /&gt;
&lt;br /&gt;
Meeskonna retsensioon meeskonnale Sense Of Direction: [https://wiki.itcollege.ee/index.php/Talk:Sense_Of_Direction]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Sense Of Direction===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
*Aleksandr Babõkin&lt;br /&gt;
*Vladislav Lahtarin&lt;br /&gt;
*Vladislav Kovaltšuk&lt;br /&gt;
Meeskonna koduleht: [[Sense Of Direction]]&amp;lt;br&amp;gt;&lt;br /&gt;
XML/XSD/XSLT osa asub [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#XML siin]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Poly&amp;quot; [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#Retsensioon_XML-failide_kohta_meeskonnale_.22Poly.22 siin]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RK Meeskond: RK]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
Esimene osa: [https://wiki.itcollege.ee/index.php/RK#XML XML] / [https://wiki.itcollege.ee/index.php/RK#XSD XSD] / [https://wiki.itcollege.ee/index.php/RK#XSLT_HTML XSLT HTML] / [https://wiki.itcollege.ee/index.php/RK#XSLT_XML XSLT XML]&lt;br /&gt;
&amp;lt;BR&amp;gt; [https://wiki.itcollege.ee/index.php/RK#Retsensioonid Retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_Echo Meeskond: Echo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Vajak&lt;br /&gt;
* Janno Oolo&lt;br /&gt;
* Mari-Liis Oldja&lt;br /&gt;
* Arti Zirk&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Team_Echo#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Redundant_Rappers#Retsensioon_Team_Echo_poolt Retsensioon meeskonnale Redundant Rappers]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers Meeskond: Bob&#039;s Burgers]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Aleksei Kopõlov&lt;br /&gt;
*Sander Perens&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers#XML_Retsensioon_meeskonnale_VeebiGurmaanid Retsensioon meeskonnale &#039;&#039;&#039;VeebiGurmaanid&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/User:Meeskond:_VeebiGurmaanid Meeskond: VeebiGurmaanid]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Koit Kõrvel&lt;br /&gt;
* Marko Kask&lt;br /&gt;
* Melissa Eenmaa&lt;br /&gt;
* Joosep Koort&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_HelpOut HelpOut]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Muru#Retsensioonid Retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Repi Meeskond: Repi]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Renet Pirso&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Blogify Retsensioon: BLOGIFY]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: HelpOut===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mikk Sarapuu&lt;br /&gt;
* Martin Paakspuu&lt;br /&gt;
* Kerdo Kullamäe&lt;br /&gt;
* Marvin Mardiat&lt;br /&gt;
* Piret Pomerants&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_HelpOut Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
* XML/XSLT/XSD retsensioon meeskonnale &#039;&#039;&#039;Falador&#039;&#039;&#039; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Falador siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/2017_Meeskond_Poly Meeskond: Poly]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kristian Kalm&lt;br /&gt;
* Roland Kontson&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/Meeskond_%22Nope%22: Nope] ===&lt;br /&gt;
* Raido Vell&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Lisette Noor&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna koduleht:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Meeskond_%22Nope%22: Nope]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML/XSLT/XSD&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Bob%27s_Burgers Bob&#039;s Burgers] &amp;lt;br/&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Blogify Blogify]&lt;br /&gt;
&lt;br /&gt;
===Meeskond [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab Alt + Tab]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Roots&lt;br /&gt;
* Roland Soosaar&lt;br /&gt;
* Krista Norak&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#Esimene_osa Esimene osa:] [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XML XML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSD XSD] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_HTML XSLT HTML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_XML XSLT XML]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#Anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Muru Muru]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Kirde_sai Meeskond: Kirde sai]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Teearu&lt;br /&gt;
*Berit Põldoja&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kirde_sai#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Unnamed Team===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Andreas Kirotar&lt;br /&gt;
*Jaan Kostõgov&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Unnamed Team]]&lt;br /&gt;
 &lt;br /&gt;
Meeskonna retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2017_Meeskond_Poly Poly]&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/%3F%3F%3F_Profit ??? Profit] ===&lt;br /&gt;
* Aivar Romandi&lt;br /&gt;
* Frank Karl Koppel&lt;br /&gt;
* Aldin Talve&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Purgis Retsensioon meeskonnale Purgis]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Purgis===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Märt Lõhmus&lt;br /&gt;
* Kelli Lukas &lt;br /&gt;
Meeskonna koduleht: [[Purgis]]&amp;lt;br&amp;gt;&lt;br /&gt;
Esimene osa asub [https://wiki.itcollege.ee/index.php/Purgis#XML siin]&lt;br /&gt;
&lt;br /&gt;
XML Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Alt_%2B_Tab  Alt + Tab]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Meeskond:_Falador Falador]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Lugus&lt;br /&gt;
* Taavi Metsvahi&lt;br /&gt;
Meeskonna koguleht: [[Meeskond: Falador]]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Falador#XML.2FXSD.2FXSLT XML/XSD/XSLT]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Falador#Veebiteenus Veebiteenuse analüüs]&amp;lt;br&amp;gt;&lt;br /&gt;
XML retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_QView QView]&amp;lt;br&amp;gt;&lt;br /&gt;
Veebiteenuse analüüsi retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_QView QView]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Blogify Blogify]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Hando Laasmägi&lt;br /&gt;
* Tarvo Tammejuur&lt;br /&gt;
* Cathy Toomast&lt;br /&gt;
* Tõnn Vaher&lt;br /&gt;
&lt;br /&gt;
XML etapi Retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Ott#Retsensioon_XML_kohta_meeskonnalt_Blogify Ott]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Proovitud_abielu Proovitud abielu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Elina Kuldkepp&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Proovitud_abielu#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
XML Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Nope%22: Nope]&lt;br /&gt;
&lt;br /&gt;
=== Meeskond: [https://wiki.itcollege.ee/index.php/Mjart Mjart] ===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Märt Häkkinen&lt;br /&gt;
XML/XSLT/XSD Retsensioon meeskonnale [Proovitud Abielu https://wiki.itcollege.ee/index.php/Talk:Proovitud_abielu]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Ott Ott]===&lt;br /&gt;
Liige:&lt;br /&gt;
*Ott Sõerumäe&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Ott#XML_Retsensioon_meeskonnale_Kirde_sai Kirde sai]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/PageNotFound PageNotFound]===&lt;br /&gt;
&#039;&#039;&#039;Liige:&#039;&#039;&#039;&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Mjart XML-i retsensioon meeskonnale Mjart, meeskond PageNotFound poolt] (kirjutatud 01.05.2017)&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/TahaksLopetada TahaksLopetada]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Naris&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Meeskond:_Falador Sulased]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Osa&lt;br /&gt;
* Taavi Kivimaa&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Sulased Koduleht]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Sense_Of_Direction Restsensioon XML/XSD/XSLT]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: CoverMe===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Karit Kilgi&lt;br /&gt;
* Sten Kaasik&lt;br /&gt;
* Ragne Auling&lt;br /&gt;
* Silja Kralik&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: CoverMe]]&lt;br /&gt;
&lt;br /&gt;
XML failide retsensioon meeskonnale PC KartKicker: [https://wiki.itcollege.ee/index.php/Talk:PC_KartKicker Talk:Team_PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
XML failide retsensioon meeskonnale PC KartKicker: [https://wiki.itcollege.ee/index.php/Talk:Ticketer Talk:Team_Ticketer]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_SPOT Meeskond: SPOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Pachel&lt;br /&gt;
* Oliver Tiks&lt;br /&gt;
Esitatud tööd:&lt;br /&gt;
# [https://wiki.itcollege.ee/index.php/Team_SPOT#XML_.2F_XSD_.2F_XSLT XML/XSD/XSLT] + [https://wiki.itcollege.ee/index.php/Talk:JRT retsensioon meeskonnale JRT]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JRT Meeskond: JRT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Riho Uusjärv&lt;br /&gt;
* Jevgeni Gavrilov&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; [https://wiki.itcollege.ee/index.php/JRT#Retsensioon_JRT]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/JRT#Retsensioon_meeskonnale_.22Ninjas_in_pyjamas.22] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ticketer Meeskond: Ticketer]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Krista Rüütel&lt;br /&gt;
* Roland Türi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ninjas_in_pyjamas Meeskond: Ninjas in Pyjamas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Anna Linskaja&lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
* Sergei Hristoforov&lt;br /&gt;
* Artyom Likhachev&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Talupood Meeskond: Talutooted]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Matson&lt;br /&gt;
* Taavi Tilk&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talupood#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:PC_KartKicker Talk:PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/DevHelpVR Meeskond: DevHelp]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Jääger&lt;br /&gt;
* Kristo Leemets&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML failide retsensioon tiimile Ticketer, 26.03.2017:&#039;&#039;&#039;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Ticketer Talk:Ticketer]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
[http://enos.itcollege.ee/~mjaager/VR2/DevHelp2_final/ Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti TFS:&#039;&#039;&#039; &lt;br /&gt;
[https://devhelp.visualstudio.com/DevHelp2 DevHelp2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoote retsensioon:&#039;&#039;&#039;&lt;br /&gt;
[TODO]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/PC_KartKicker Meeskond: PC KartKicker]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Rain Saarmäe&lt;br /&gt;
* Jan Eerik&lt;br /&gt;
XML failide retsensioon meeskonnale DevHelpVR, 27.03.2017: [https://wiki.itcollege.ee/index.php/Talk:DevHelpVR Talk:DevHelpVR] &amp;lt;br&amp;gt;&lt;br /&gt;
XML failide retsensioon meeskonnale Ninjas in pyjamas, 27.03.2017: [https://wiki.itcollege.ee/index.php/Talk:Ninjas_in_pyjamas Talk:Ninjas_in_pyjamas]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/rent_a_bike Meeskond: rent-A-bike]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Erika Ehmann&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/A$unik Meeskond: A$unik]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Hardi Antsov&lt;br /&gt;
* Juhan Trink&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=123301</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=123301"/>
		<updated>2017-06-08T05:43:15Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Kaitsmisele registreerumine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2017=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;20. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;27. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;17.aprill 2017&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/6):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* AngularJS klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmine toimub ruumis 314 neljapäeval, 8ndal juunil peale konsultatsiooni, mis algab kell 15:00.&lt;br /&gt;
&lt;br /&gt;
*15:30 - Bob&#039;s Burgers&lt;br /&gt;
*15:45 - Redundant Rappers&lt;br /&gt;
*16:00 -&lt;br /&gt;
*16:15 -&lt;br /&gt;
*16:30 -&lt;br /&gt;
*16:45 -&lt;br /&gt;
*17:00 -&lt;br /&gt;
*17:15 -&lt;br /&gt;
*17:30 -&lt;br /&gt;
*17:45 -&lt;br /&gt;
*18:00 - RK&lt;br /&gt;
*18:15 -&lt;br /&gt;
*18:30 - Kirde sai&lt;br /&gt;
*18:45 - &lt;br /&gt;
*19:00 - Sense Of Direction&lt;br /&gt;
*19:15 - Ott&lt;br /&gt;
*19:30 - ??? Profit&lt;br /&gt;
*19:45 - Blogify&lt;br /&gt;
... kui nendest aegadest ei piisa, siis toimub kaitsmine ka reedel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Me soovime kaitsta reedel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeskond: QView (neljapäeval pole tiimi!)&amp;lt;br&amp;gt;&lt;br /&gt;
Meeskond: HelpOut&amp;lt;br&amp;gt;&lt;br /&gt;
Meeskond: VeebiGurmaanid &amp;lt;br&amp;gt;&lt;br /&gt;
Meeskond: Helistajad (et oleks ikka rohkem mida näidata reedel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2017 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2017=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Helistajad===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kristjan Tõnismäe&lt;br /&gt;
Meeskonna koduleht: [[Helistajad]]&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: &lt;br /&gt;
&lt;br /&gt;
===Meeskond: QView===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Semjon Greef&lt;br /&gt;
* Martin Nigul&lt;br /&gt;
* Martin Nõukas&lt;br /&gt;
* Margus Muru&lt;br /&gt;
* Lisandra Noor&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: QView]]&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/User_talk:Meeskond:_VeebiGurmaanid#M.C3.A4rkused: VeebiGurmaanid]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Redundant Rappers===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kliss&lt;br /&gt;
*Kertu Nurmberg&lt;br /&gt;
*Anneli Asser&lt;br /&gt;
*Mart-Erki Nõumees&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: Redundant Rappers]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna XML/XSD/XSLT : [https://wiki.itcollege.ee/index.php/Meeskond:_Redundant_Rappers#XML_.2F_XSD_.2F_XSLT]&lt;br /&gt;
&lt;br /&gt;
Meeskonna retsensioon meeskonnale Sense Of Direction: [https://wiki.itcollege.ee/index.php/Talk:Sense_Of_Direction]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Sense Of Direction===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
*Aleksandr Babõkin&lt;br /&gt;
*Vladislav Lahtarin&lt;br /&gt;
*Vladislav Kovaltšuk&lt;br /&gt;
Meeskonna koduleht: [[Sense Of Direction]]&amp;lt;br&amp;gt;&lt;br /&gt;
XML/XSD/XSLT osa asub [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#XML siin]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Poly&amp;quot; [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#Retsensioon_XML-failide_kohta_meeskonnale_.22Poly.22 siin]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RK Meeskond: RK]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
Esimene osa: [https://wiki.itcollege.ee/index.php/RK#XML XML] / [https://wiki.itcollege.ee/index.php/RK#XSD XSD] / [https://wiki.itcollege.ee/index.php/RK#XSLT_HTML XSLT HTML] / [https://wiki.itcollege.ee/index.php/RK#XSLT_XML XSLT XML]&lt;br /&gt;
&amp;lt;BR&amp;gt; [https://wiki.itcollege.ee/index.php/RK#Retsensioonid Retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_Echo Meeskond: Echo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Vajak&lt;br /&gt;
* Janno Oolo&lt;br /&gt;
* Mari-Liis Oldja&lt;br /&gt;
* Arti Zirk&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Team_Echo#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Redundant_Rappers#Retsensioon_Team_Echo_poolt Retsensioon meeskonnale Redundant Rappers]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers Meeskond: Bob&#039;s Burgers]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Aleksei Kopõlov&lt;br /&gt;
*Sander Perens&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers#XML_Retsensioon_meeskonnale_VeebiGurmaanid Retsensioon meeskonnale &#039;&#039;&#039;VeebiGurmaanid&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/User:Meeskond:_VeebiGurmaanid Meeskond: VeebiGurmaanid]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Koit Kõrvel&lt;br /&gt;
* Marko Kask&lt;br /&gt;
* Melissa Eenmaa&lt;br /&gt;
* Joosep Koort&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_HelpOut HelpOut]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Muru#Retsensioonid Retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Repi Meeskond: Repi]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Renet Pirso&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Blogify Retsensioon: BLOGIFY]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: HelpOut===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mikk Sarapuu&lt;br /&gt;
* Martin Paakspuu&lt;br /&gt;
* Kerdo Kullamäe&lt;br /&gt;
* Marvin Mardiat&lt;br /&gt;
* Piret Pomerants&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_HelpOut Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
* XML/XSLT/XSD retsensioon meeskonnale &#039;&#039;&#039;Falador&#039;&#039;&#039; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Falador siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/2017_Meeskond_Poly Meeskond: Poly]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kristian Kalm&lt;br /&gt;
* Roland Kontson&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/Meeskond_%22Nope%22: Nope] ===&lt;br /&gt;
* Raido Vell&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Lisette Noor&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna koduleht:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Meeskond_%22Nope%22: Nope]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML/XSLT/XSD&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Bob%27s_Burgers Bob&#039;s Burgers] &amp;lt;br/&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Blogify Blogify]&lt;br /&gt;
&lt;br /&gt;
===Meeskond [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab Alt + Tab]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Roots&lt;br /&gt;
* Roland Soosaar&lt;br /&gt;
* Krista Norak&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#Esimene_osa Esimene osa:] [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XML XML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSD XSD] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_HTML XSLT HTML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_XML XSLT XML]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#Anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Muru Muru]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Kirde_sai Meeskond: Kirde sai]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Teearu&lt;br /&gt;
*Berit Põldoja&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kirde_sai#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Unnamed Team===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Andreas Kirotar&lt;br /&gt;
*Jaan Kostõgov&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Unnamed Team]]&lt;br /&gt;
 &lt;br /&gt;
Meeskonna retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2017_Meeskond_Poly Poly]&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/%3F%3F%3F_Profit ??? Profit] ===&lt;br /&gt;
* Aivar Romandi&lt;br /&gt;
* Frank Karl Koppel&lt;br /&gt;
* Aldin Talve&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Purgis Retsensioon meeskonnale Purgis]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Purgis===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Märt Lõhmus&lt;br /&gt;
* Kelli Lukas &lt;br /&gt;
Meeskonna koduleht: [[Purgis]]&amp;lt;br&amp;gt;&lt;br /&gt;
Esimene osa asub [https://wiki.itcollege.ee/index.php/Purgis#XML siin]&lt;br /&gt;
&lt;br /&gt;
XML Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Alt_%2B_Tab  Alt + Tab]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Meeskond:_Falador Falador]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Lugus&lt;br /&gt;
* Taavi Metsvahi&lt;br /&gt;
Meeskonna koguleht: [[Meeskond: Falador]]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Falador#XML.2FXSD.2FXSLT XML/XSD/XSLT]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Falador#Veebiteenus Veebiteenuse analüüs]&amp;lt;br&amp;gt;&lt;br /&gt;
XML retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_QView QView]&amp;lt;br&amp;gt;&lt;br /&gt;
Veebiteenuse analüüsi retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_QView QView]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Blogify Blogify]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Hando Laasmägi&lt;br /&gt;
* Tarvo Tammejuur&lt;br /&gt;
* Cathy Toomast&lt;br /&gt;
* Tõnn Vaher&lt;br /&gt;
&lt;br /&gt;
XML etapi Retsensioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Ott#Retsensioon_XML_kohta_meeskonnalt_Blogify Ott]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Proovitud_abielu Proovitud abielu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Elina Kuldkepp&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Proovitud_abielu#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
XML Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Nope%22: Nope]&lt;br /&gt;
&lt;br /&gt;
=== Meeskond: [https://wiki.itcollege.ee/index.php/Mjart Mjart] ===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Märt Häkkinen&lt;br /&gt;
XML/XSLT/XSD Retsensioon meeskonnale [Proovitud Abielu https://wiki.itcollege.ee/index.php/Talk:Proovitud_abielu]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Ott Ott]===&lt;br /&gt;
Liige:&lt;br /&gt;
*Ott Sõerumäe&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Ott#XML_Retsensioon_meeskonnale_Kirde_sai Kirde sai]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/PageNotFound PageNotFound]===&lt;br /&gt;
&#039;&#039;&#039;Liige:&#039;&#039;&#039;&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Mjart XML-i retsensioon meeskonnale Mjart, meeskond PageNotFound poolt] (kirjutatud 01.05.2017)&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/TahaksLopetada TahaksLopetada]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Naris&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: CoverMe===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Karit Kilgi&lt;br /&gt;
* Sten Kaasik&lt;br /&gt;
* Ragne Auling&lt;br /&gt;
* Silja Kralik&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: CoverMe]]&lt;br /&gt;
&lt;br /&gt;
XML failide retsensioon meeskonnale PC KartKicker: [https://wiki.itcollege.ee/index.php/Talk:PC_KartKicker Talk:Team_PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
XML failide retsensioon meeskonnale PC KartKicker: [https://wiki.itcollege.ee/index.php/Talk:Ticketer Talk:Team_Ticketer]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_SPOT Meeskond: SPOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Pachel&lt;br /&gt;
* Oliver Tiks&lt;br /&gt;
Esitatud tööd:&lt;br /&gt;
# [https://wiki.itcollege.ee/index.php/Team_SPOT#XML_.2F_XSD_.2F_XSLT XML/XSD/XSLT] + [https://wiki.itcollege.ee/index.php/Talk:JRT retsensioon meeskonnale JRT]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JRT Meeskond: JRT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Riho Uusjärv&lt;br /&gt;
* Jevgeni Gavrilov&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; [https://wiki.itcollege.ee/index.php/JRT#Retsensioon_JRT]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/JRT#Retsensioon_meeskonnale_.22Ninjas_in_pyjamas.22] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ticketer Meeskond: Ticketer]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Krista Rüütel&lt;br /&gt;
* Roland Türi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ninjas_in_pyjamas Meeskond: Ninjas in Pyjamas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Anna Linskaja&lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
* Sergei Hristoforov&lt;br /&gt;
* Artyom Likhachev&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Talupood Meeskond: Talutooted]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Matson&lt;br /&gt;
* Taavi Tilk&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talupood#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:PC_KartKicker Talk:PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/DevHelpVR Meeskond: DevHelp]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Jääger&lt;br /&gt;
* Kristo Leemets&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML failide retsensioon tiimile Ticketer, 26.03.2017:&#039;&#039;&#039;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Ticketer Talk:Ticketer]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
[http://enos.itcollege.ee/~mjaager/VR2/DevHelp2_final/ Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti TFS:&#039;&#039;&#039; &lt;br /&gt;
[https://devhelp.visualstudio.com/DevHelp2 DevHelp2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoote retsensioon:&#039;&#039;&#039;&lt;br /&gt;
[TODO]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/PC_KartKicker Meeskond: PC KartKicker]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Rain Saarmäe&lt;br /&gt;
* Jan Eerik&lt;br /&gt;
XML failide retsensioon meeskonnale DevHelpVR, 27.03.2017: [https://wiki.itcollege.ee/index.php/Talk:DevHelpVR Talk:DevHelpVR] &amp;lt;br&amp;gt;&lt;br /&gt;
XML failide retsensioon meeskonnale Ninjas in pyjamas, 27.03.2017: [https://wiki.itcollege.ee/index.php/Talk:Ninjas_in_pyjamas Talk:Ninjas_in_pyjamas]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/rent_a_bike Meeskond: rent-A-bike]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Erika Ehmann&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/A$unik Meeskond: A$unik]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Hardi Antsov&lt;br /&gt;
* Juhan Trink&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120237</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120237"/>
		<updated>2017-04-17T17:26:02Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Projekti kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumisteks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
==== Andmebaasi mudel ====&lt;br /&gt;
Loomisel...&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120235</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120235"/>
		<updated>2017-04-17T17:25:05Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Projekti kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumisteks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Loomisel...&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120232</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120232"/>
		<updated>2017-04-17T17:24:10Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Projekti kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Loomisel...&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120231</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120231"/>
		<updated>2017-04-17T17:23:43Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Projekti kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasimudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loomisel...&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120230</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=120230"/>
		<updated>2017-04-17T17:23:23Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus == &lt;br /&gt;
=== Analüüs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Projekti kirjeldus ====&lt;br /&gt;
Rakendus on mõeldud lukufirmade teenuste vahendamiseks. Nii hädaolukordade lahendamisteks, kus on inimesed ennast korterist/majast välja lukustanud, kui ka tavaliste tööde pakkumist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõisted&#039;&#039;&#039;&lt;br /&gt;
* Teenusepakkuja - lukufirma kes pakub teenust kliendile.&lt;br /&gt;
* Klient - era- või juriidilineisik kes tellib teenust teenusepakkujatelt.&lt;br /&gt;
* Admin - Rakenduse poolne isik kes haldab firmasi ja lahendab erimeelsusi.&lt;br /&gt;
* Töö - Kliendi loodud, lahendust vajav tööpakkumine millele teenusepakkujad saavad teha hinnapakkumisi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Must have&#039;&#039;&#039;&lt;br /&gt;
* Klient saab luua konto vajalike andmetega&lt;br /&gt;
* Klient saab valida ettemääratud töödest või võimaluse sisestada käsitsi töö sisu, ning selle põhjal luua uus töö&lt;br /&gt;
* Klient näeb enda tellitud töödest ajalugu&lt;br /&gt;
* Klient saab valida endale sobiva pakkumise teenusepakkujate poolt tehtud pakkumiste hulgast&lt;br /&gt;
* Klient saab esitada tehtud töö kohta kaebuse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab luua konto mis vajab admini kinnitust&lt;br /&gt;
* Teenusepakkuja näeb pakkumisel olevaid töid&lt;br /&gt;
* Teenusepakkuja saab teha hinnapakkumisele tööle&lt;br /&gt;
* Teenusepakkuja näeb enda tehtud tööde ja pakkumiste ajalugu&lt;br /&gt;
* Teenusepakkuja saab vastata tema tehtud kaebuse kohta&lt;br /&gt;
* Teenusepakkuja saab küsida lisainfot töö kohta, mille sisu on nähtav kõikidele hinnapakkujatele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Admin saab näha kogu tööde ajalugu koos vajalike filtreerimistega&lt;br /&gt;
* Admin saab küsida lisainfot kaebuste kohta ja lahendada neid&lt;br /&gt;
* Admin saab aktsepteerida uusi teenusepakkujaid või neist keelduda ja sulgeda olemasolevaid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nice to have&#039;&#039;&#039;&lt;br /&gt;
* Kliendile arvutatakse ligikaudne hind tööst rakenduse ajaloo põhjal - kui töö on valitud ettemääratud nimekirjast&lt;br /&gt;
* Klient saab lisada tööle pilte&lt;br /&gt;
* Klient saab lisada &amp;quot;kiire töö&amp;quot; linnukese mille puhul rakendus arvutab sobiva hinna ning teenusepakkuja saab vastu võtta töö ilma hinnapakkumiseta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Teenusepakkuja saab vastu võtta pilte.&lt;br /&gt;
* Teenusepakkujal on mitu sisselogimist mis on seotud sama firmaga&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasimudel&#039;&#039;&#039;&lt;br /&gt;
Loomisel...&lt;br /&gt;
&lt;br /&gt;
== XML, XSD, XSLT == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=119690</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=119690"/>
		<updated>2017-03-27T16:07:35Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* XML retsensioon meeskonnale Muru (1. osa) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Esimene osa == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon [https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru] (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=119689</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=119689"/>
		<updated>2017-03-27T16:06:40Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Meeskond: RK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2017=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;20. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;27. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;17.aprill 2017&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/6):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* AngularJS klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2017 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2017=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: QView===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Semjon Greef&lt;br /&gt;
* Martin Nigul&lt;br /&gt;
* Martin Nõukas&lt;br /&gt;
* Margus Muru&lt;br /&gt;
* Lisandra Noor&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: QView]]&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/User_talk:Meeskond:_VeebiGurmaanid#M.C3.A4rkused: VeebiGurmaanid]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Redundant Rappers===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kliss&lt;br /&gt;
*Kertu Nurmberg&lt;br /&gt;
*Anneli Asser&lt;br /&gt;
*Mart-Erki Nõumees&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: Redundant Rappers]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna XML/XSD/XSLT : [https://wiki.itcollege.ee/index.php/Meeskond:_Redundant_Rappers#XML_.2F_XSD_.2F_XSLT]&lt;br /&gt;
&lt;br /&gt;
Meeskonna retsensioon meeskonnale Sense Of Direction: [https://wiki.itcollege.ee/index.php/Talk:Sense_Of_Direction]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Sense Of Direction===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
*Aleksandr Babõkin&lt;br /&gt;
*Vladislav Lahtarin&lt;br /&gt;
*Vladislav Kovaltšuk&lt;br /&gt;
Meeskonna koduleht: [[Sense Of Direction]]&amp;lt;br&amp;gt;&lt;br /&gt;
XML/XSD/XSLT osa asub [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#XML siin]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Poly&amp;quot; [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#Retsensioon_XML-failide_kohta_meeskonnale_.22Poly.22 siin]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RK Meeskond: RK]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
Esimene osa: [https://wiki.itcollege.ee/index.php/RK#XML XML] / [https://wiki.itcollege.ee/index.php/RK#XSD XSD] / [https://wiki.itcollege.ee/index.php/RK#XSLT_HTML XSLT HTML] / [https://wiki.itcollege.ee/index.php/RK#XSLT_XML XSLT XML]&lt;br /&gt;
&amp;lt;BR&amp;gt; [https://wiki.itcollege.ee/index.php/RK#Retsensioonid Retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_Echo Meeskond: Echo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Vajak&lt;br /&gt;
* Janno Oolo&lt;br /&gt;
* Mari-Liis Oldja&lt;br /&gt;
* Arti Zirk&lt;br /&gt;
* Joosep Voolma&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Team_Echo#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Redundant_Rappers#Retsensioon_Team_Echo_poolt Retsensioon meeskonnale Redundant Rappers]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers Meeskond: Bob&#039;s Burgers]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Aleksei Kopõlov&lt;br /&gt;
*Sander Perens&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Bob%27s_Burgers#XML_Retsensioon_meeskonnale_VeebiGurmaanid Retsensioon meeskonnale &#039;&#039;&#039;VeebiGurmaanid&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/User:Meeskond:_VeebiGurmaanid Meeskond: VeebiGurmaanid]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Koit Kõrvel&lt;br /&gt;
* Marko Kask&lt;br /&gt;
* Melissa Eenmaa&lt;br /&gt;
* Joosep Koort&lt;br /&gt;
&lt;br /&gt;
Retsentsioon meeskonnale: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_HelpOut HelpOut]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Muru Meeskond: Muru]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Repi Meeskond: Repi]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Renet Pirso&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Blogify Retsensioon: BLOGIFY]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: HelpOut===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mikk Sarapuu&lt;br /&gt;
* Martin Paakspuu&lt;br /&gt;
* Kerdo Kullamäe&lt;br /&gt;
* Marvin Mardiat&lt;br /&gt;
* Piret Pomerants&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_HelpOut Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
* XML/XSLT/XSD retsensioon meeskonnale &#039;&#039;&#039;Falador&#039;&#039;&#039; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Falador siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/2017_Meeskond_Poly Meeskond: Poly]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kristian Kalm&lt;br /&gt;
* Roland Kontson&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/Meeskond_%22Nope%22: Nope] ===&lt;br /&gt;
* Raido Vell&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Lisette Noor&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
&lt;br /&gt;
===Meeskond [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab Alt + Tab]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Roots&lt;br /&gt;
* Roland Soosaar&lt;br /&gt;
* Krista Norak&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#Esimene_osa Esimene osa:] [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XML XML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSD XSD] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_HTML XSLT HTML] | [https://wiki.itcollege.ee/index.php/Alt_%2B_Tab#XSLT_XML XSLT XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Kirde_sai Meeskond: Kirde sai]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Teearu&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kirde_sai#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Unnamed Team===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Andreas Kirotar&lt;br /&gt;
*Jaan Kostõgov&lt;br /&gt;
&lt;br /&gt;
Meeskonna koduleht: [[Unnamed Team]]&lt;br /&gt;
 &lt;br /&gt;
Meeskonna retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2017_Meeskond_Poly Poly]&lt;br /&gt;
&lt;br /&gt;
=== Meeskond [https://wiki.itcollege.ee/index.php/%3F%3F%3F_Profit ??? Profit] ===&lt;br /&gt;
* Aivar Romandi&lt;br /&gt;
* Frank Karl Koppel&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Purgis===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Märt Lõhmus&lt;br /&gt;
* Kelli Lukas &lt;br /&gt;
Meeskonna koduleht: [[Purgis]]&amp;lt;br&amp;gt;&lt;br /&gt;
Esimene osa asub [https://wiki.itcollege.ee/index.php/Purgis#XML siin]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Meeskond:_Falador Falador]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Lugus&lt;br /&gt;
* Taavi Metsvahi&lt;br /&gt;
* Kristjan Kivisild&lt;br /&gt;
Meeskonna koguleht: [[Meeskond: Falador]]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_Falador#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Blogify Blogify]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Hando Laasmägi&lt;br /&gt;
* Tarvo Tammejuur&lt;br /&gt;
* Cathy Toomast&lt;br /&gt;
* Tõnn Vaher&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Proovitud_abielu Proovitud abielu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Berit Põldoja&lt;br /&gt;
*Elina Kuldkepp&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Proovitud_abielu#XML.2FXSD.2FXSLT XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Meeskond: [https://wiki.itcollege.ee/index.php/Mjart Mjart] ===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Märt Häkkinen&lt;br /&gt;
&lt;br /&gt;
===Meeskond: [https://wiki.itcollege.ee/index.php/Ott Ott]===&lt;br /&gt;
Liige:&lt;br /&gt;
*Ott Sõerumäe&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: CoverMe===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Karit Kilgi&lt;br /&gt;
* Sten Kaasik&lt;br /&gt;
* Ragne Auling&lt;br /&gt;
* Silja Kralik&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: CoverMe]]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Team_SPOT Meeskond: SPOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Pachel&lt;br /&gt;
* Oliver Tiks&lt;br /&gt;
Esitatud tööd:&lt;br /&gt;
# [https://wiki.itcollege.ee/index.php/Team_SPOT#XML_.2F_XSD_.2F_XSLT XML/XSD/XSLT] + [https://wiki.itcollege.ee/index.php/Talk:JRT retsensioon meeskonnale JRT]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JRT Meeskond: JRT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Riho Uusjärv&lt;br /&gt;
* Jevgeni Gavrilov&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; [https://wiki.itcollege.ee/index.php/JRT#Retsensioon_JRT]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Retsensioon XML-failide kohta meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/JRT#Retsensioon_meeskonnale_.22Ninjas_in_pyjamas.22] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ticketer Meeskond: Ticketer]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Krista Rüütel&lt;br /&gt;
* Roland Türi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ninjas_in_pyjamas Meeskond: Ninjas in Pyjamas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Anna Linskaja&lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
* Sergei Hristoforov&lt;br /&gt;
* Artyom Likhachev&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Talupood Meeskond: Talutooted]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mihkel Matson&lt;br /&gt;
* Taavi Tilk&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talupood#XML XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/DevHelpVR Meeskond: DevHelp]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Jääger&lt;br /&gt;
* Kristo Leemets&lt;br /&gt;
&lt;br /&gt;
XML failide retsensioon tiimile Ticketer, 26.03.2017: [https://wiki.itcollege.ee/index.php/Talk:Ticketer Talk:Ticketer]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/YAWS Meeskond: Yet Another Weather Station]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Kepler&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/PC_KartKicker Meeskond: PC KartKicker]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Rain Saarmäe&lt;br /&gt;
* Jan Eerik&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=119688</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=119688"/>
		<updated>2017-03-27T16:04:16Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Esimene osa == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid == &lt;br /&gt;
=== XML retsensioon meeskonnale Muru (1. osa) ===&lt;br /&gt;
&lt;br /&gt;
XML vastab kõikidele ülesande püstituses seatud nõuetele ning valideerub sellele vastava XSD-ga. Välja on paista, et XSD-d on muudetud vastavalt meeskonna nägemusele ning ei ole tegemist otse Visual Studios genereeritud skeemifailiga.&lt;br /&gt;
XML failis on olemas vajalikud loogilised dimensioonid ja kasutatakse piisavalt attribuute. Atribuudid on ülesande XML-is küll enamasti andmetüübi kohta kuid kasutakse ära ka andmete järjestuse edastmiseks. Eraldi tooks välja, et eeskujulikult kasutatakse teksti kuvamist CDATA-s.&lt;br /&gt;
&lt;br /&gt;
Esimese transformatsiooniga kuvatakse välja kõik XML-is olevad kontod ning nendega seotud ülekanded. Teises transformatsioonis tehakse kontode jäägi kuvamine kahanevas järjekorras.&lt;br /&gt;
Mõlemates transformatsioonides on kasutatud enamat kui lihtsalt for-each kausleid. Kasutatakse ära sorteerimist ja kuvatakse viisakas HTML. Kahjuks ei kasutata ära parameetreid, kuid see polnud ka otseselt kohustuslik.&lt;br /&gt;
&lt;br /&gt;
Töö on korralik ja ei leidnud ühtegi märkimisväärset probleemi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Praktikum:_XML_failide_valideerimine_(XSD,_DTD)_ning_XML_stiilide_(XSLT)_loomine_,_VR2.3&amp;diff=118614</id>
		<title>Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Praktikum:_XML_failide_valideerimine_(XSD,_DTD)_ning_XML_stiilide_(XSLT)_loomine_,_VR2.3&amp;diff=118614"/>
		<updated>2017-03-17T09:40:16Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Teooria=&lt;br /&gt;
XML on standardiseeritud märgendikeel. Selle eesmärgiks on struktureeritud info hoidmine enamasti transpordi eesmärgil. Kuna XML on laiendatav, siis baseeruvad sellel keelel väga paljud standardiseeritud struktuurid - XHTML, RSS, SOAP, SVG jne.&lt;br /&gt;
&lt;br /&gt;
Selleks, et XML-i edukalt tarnida ühest süsteemist teise on vaja kontrollida selle valiidsust. See on vajalik selleks, et ühest süsteemist teise viies ei esineks vigu. Mõlemad süsteemid kusjuures peavad kasutama sama valideerimismeetodit.&lt;br /&gt;
&lt;br /&gt;
XML-i puhul on valideerimisvõimalusteks Dokument Type Definition (DTD) ja XML Schema (XSD).&lt;br /&gt;
* DTD meetodiga määratakse ära lubatud struktuurelemendid, nende attribuudid ning nende väärtustüübid.&lt;br /&gt;
* XSD meetod on võimalusterohkem, kui DTD, ning sellega on võimalik kirjeldada palju keerulisemaid struktuure valideerimiseks.&lt;br /&gt;
&lt;br /&gt;
===Aga milleks me ikkagi valideerime XML-e?===&lt;br /&gt;
XML on enamikel juhtudel elulise tähtsusega rakenduse toimimisel. Kui me valideerime XML-i ja leiame enne selle kasutamist, et see ei ole soovitud formaati, siis sellega saame me hoida ära paljud ebameeldivad üllatused, mis võivad tekkida. Siiski see ei välista nende tekkimist.&lt;br /&gt;
&lt;br /&gt;
==Document Type Definition - DTD==&lt;br /&gt;
DTD puhul on tegemist XMList eraldi seisva keelega. Sellega on võimalik ära määrata elementide ja nende attribuutide esinemist. Elementide ja attribuutide väärtuste tüüpi on võimalik määrata väga kesiselt.&lt;br /&gt;
&lt;br /&gt;
DTD struktuurikirjeldust saab määrata XML-i jaoks kahte moodi:&lt;br /&gt;
* Inline - ehk siis sama XML&#039;i sees kirjeldatakse ära selle juurelemendi alamelementide ja -attribuutide puu.&lt;br /&gt;
* External - ehk XML-i struktuur kirjeldatakse ära XML-ist eraldi failina.&lt;br /&gt;
&lt;br /&gt;
Esimest varianti tasub kasutada vaid juhul, kui tegu on väga väikese struktuuiga XML-iga. Ehk siis enamasti õppimise ja testimise raames.&lt;br /&gt;
Teine variant on mõeldud kasutamiseks juba väheke keerukamate XML struktuuride kirjeldamise puhuks.&lt;br /&gt;
&lt;br /&gt;
Selle XML-i struktuuri kirjeldamise peamisteks märgenditeks on:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;!ELEMENT elemendi_nimi (alam_element1, alam_element2)&amp;gt; või &amp;lt;!ELEMENT elemendi_nimi (elemendi_andmetüüp)&amp;gt;&lt;br /&gt;
** Elemendi tüüpideks on: [http://www.w3schools.com/XML/xml_cdata.asp W3Schools]&lt;br /&gt;
*** #PCDATA - kontrollitakse väärtust, et temas ei oleks &amp;lt; ja &amp;amp; sümboleid.&lt;br /&gt;
*** #CDATA - väärtust ei kontrolita, et temas ei oleks &amp;lt; ja &amp;amp; sümboleid.&lt;br /&gt;
*** EMPTY - elemendil ei ole väärtust&lt;br /&gt;
* &amp;lt;!ATTLIST elemendi_nimi attribuudi_nimi andmetüüp nõutavus&amp;gt;&lt;br /&gt;
** Andmetüübid: [http://www.w3schools.com/dtd/dtd_attributes.asp W3Schools]&lt;br /&gt;
*** CDATA - Tekstväärtus&lt;br /&gt;
*** (en1|en2|..) - Üks võimalik väärtus enumereeritud loetelust&lt;br /&gt;
*** ID - Väärtus on unikaalne id&lt;br /&gt;
*** IDREF - Väärtus on mõne teise elemendi ID&lt;br /&gt;
*** IDREFS - Väärtus on loetelu teiste elemendide ID-dest&lt;br /&gt;
*** NMTOKEN - Väärtus on valiidne XML-i nimi&lt;br /&gt;
*** NMTOKENS - Väärtuseks on valiidsed XML-i nimed&lt;br /&gt;
*** ENTITY - Väärtus on üksuse nimi&lt;br /&gt;
*** ENTITIES - Väärtus on üksuste loetelu&lt;br /&gt;
*** NOTATION - Väärtus on märke nimi.&lt;br /&gt;
*** xml: - Väärtus on eelnevalt määratud XMLi väärtus&lt;br /&gt;
** Nõutavus: [http://www.w3schools.com/dtd/dtd_attributes.asp W3Schools]&lt;br /&gt;
*** väärtus - Vaikimisi attribuudi väärtus&lt;br /&gt;
*** #REQUIRED - Väärtus on vajalik.&lt;br /&gt;
*** #IMPLIED - Väärtus on valikuline&lt;br /&gt;
*** #FIXED väärtus - fikseeritud väärtus&lt;br /&gt;
&lt;br /&gt;
===Internal DTD===&lt;br /&gt;
Nagu mainitud, kirjeldatakse sellisel juhul ära struktuur XML&#039;i enda sees:&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;!DOCTYPE HOUSE [&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT HOUSE (ROOM*)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT ROOM (DOOR+,WINDOW+)&amp;gt; &amp;lt;!-- + * ? tähistavad esinevust failis --&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT DOOR (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT WINDOW (#PCDATA)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST HOUSE ADDRESS CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST ROOM OWNER CDATA #IMPLIED&amp;gt;&lt;br /&gt;
]&amp;gt;&lt;br /&gt;
&amp;lt;HOUSE ADDRESS=&amp;quot;Raja 3C&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
&amp;lt;/HOUSE&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===External DTD===&lt;br /&gt;
Sellisel juhul asub struktuurikirjeldus eraldi failis. Oletame, et meil on selleks failiks House.dtd&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT HOUSE (ROOM*)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT ROOM (DOOR+,WINDOW+)&amp;gt; &amp;lt;!-- + * ? tähistavad esinevust failis --&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT DOOR (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT WINDOW (#PCDATA)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST HOUSE ADDRESS CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST ROOM OWNER CDATA #IMPLIED&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ja XMLiks House.xml&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;!DOCTYPE HOUSE SYSTEM &amp;quot;House.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;HOUSE ADDRESS=&amp;quot;Raja 3C&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
  &amp;lt;ROOM OWNER=&amp;quot;User1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;DOOR /&amp;gt;&lt;br /&gt;
    &amp;lt;WINDOW /&amp;gt;&lt;br /&gt;
  &amp;lt;/ROOM&amp;gt;&lt;br /&gt;
&amp;lt;/HOUSE&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DTD loomiseks ei ole Visual Studio keskkonnas olemasoleva XMLi peale genereerimiseks automaatseid vahendeid. DTD tuleb kirjutada käsitsi.&lt;br /&gt;
===Valideerimine===&lt;br /&gt;
Valideerimisel tuleb silmas pidada, et ei saa kasutada Linq to XML meetodit, kuna ee ei toeta DTD-d. XML&#039;i valideerimiseks DTD põhjal kasutame external DTD näidet:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;CSharp&amp;quot;&amp;gt;&lt;br /&gt;
// Set the validation settings.&lt;br /&gt;
XmlReaderSettings settings = new XmlReaderSettings();&lt;br /&gt;
settings.DtdProcessing = DtdProcessing.Parse;&lt;br /&gt;
settings.ValidationType = ValidationType.DTD;&lt;br /&gt;
settings.ValidationEventHandler += new ValidationEventHandler ((sender, e) =&amp;gt;{&lt;br /&gt;
        System.Windows.Forms.MessageBox.Show(&amp;quot;Validation Error: &amp;quot; + e.Message);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// Create the XmlReader object.&lt;br /&gt;
XmlReader reader = XmlReader.Create(&amp;quot;House.xml&amp;quot;, settings);&lt;br /&gt;
&lt;br /&gt;
// Parse the file. &lt;br /&gt;
while (reader.Read());&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.documenttype.aspx XDocument&#039;iga ei tööta]&lt;br /&gt;
&lt;br /&gt;
==XML Schema Definition (XSD)==&lt;br /&gt;
XSD puhul on tegemist alternatiiviga DTDle. Kusjuures XMLi struktuur kirjeldatakse ära samuti XML märgendikeeles.&lt;br /&gt;
XSD struktuuris saab kirjeldada, mis tohib, mis ei tohi olla ja kuidas peavad olema need elemendid määratud. Selles märgendistandardis saab kirjeldada väga keerulisi struktuure.&lt;br /&gt;
&lt;br /&gt;
Selles saab kirjeldada:&lt;br /&gt;
* Elementide järjestikulist esinemist.&lt;br /&gt;
* Nende esinemiste arvu&lt;br /&gt;
* Attribuutide esinemisi elementides&lt;br /&gt;
* Attribuutide ja elementide väärtustüüpe.&lt;br /&gt;
* Lisaks on võimalik määrata andmetele tingimusi.&lt;br /&gt;
* Oluliseks saab teha nende esinemise järjekorra&lt;br /&gt;
&lt;br /&gt;
XSDs leiduvad elemendid saab jämedalt jagada kaheks:&lt;br /&gt;
* Simple type&lt;br /&gt;
* Complex type&lt;br /&gt;
&lt;br /&gt;
====Simple type====&lt;br /&gt;
Tegemist on elemendikirjeldusega, millel ei ole attribuute ega ka alamelemente vaid lihtsalt väärtus.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;elementName&amp;gt;value&amp;lt;/elementName&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
====Complex type====&lt;br /&gt;
Sellisel andmetüübil ehk elemendil võib olla alamelemente ja attribuute.&lt;br /&gt;
&lt;br /&gt;
Complex type lähemaks uurimiseks palun kasutada järgnevaid viiteid:&lt;br /&gt;
*[http://minitorn.tlu.ee/~jaagup/kool/java/kursused/09/xmlrak/skeemid/skeemid_lyhi.txt http://minitorn.tlu.ee/~jaagup/kool/java/kursused/09/xmlrak/skeemid/skeemid_lyhi.txt]&lt;br /&gt;
*[http://www.w3.org/TR/xmlschema-0/ W3]&lt;br /&gt;
&lt;br /&gt;
===XSD genereerimine Visual Studio keskkonnas===&lt;br /&gt;
Võrreldes DTDga on XSD&#039;l hea eelis. Seda ei pea käsitsi kirjutama. Selleks saab kasutada Visual Studio arenduskeskkonna vahendeid. Selleks loote või avate VS keskkonnas XML&#039;i ja vajuta &amp;quot;Create Schema&amp;quot; nuppu tööriistaribal. Peale seda genereeritakse teile XSD fail, mida antud hetkel ei ole veel salvestatud kuskile. selle peate ise salvestama soovitud asukohta.&lt;br /&gt;
&lt;br /&gt;
===Valideerimine===&lt;br /&gt;
XML&#039;i valideerimiseks XSD-ga saab kasutada järgnevat meetodit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;CSharp&amp;quot;&amp;gt;&lt;br /&gt;
// Oletame, et meil on House.xml jaoks ka fail House.xsd&lt;br /&gt;
XmlSchemaSet schemas = new XmlSchemaSet();&lt;br /&gt;
schemas.Add(&amp;quot;&amp;quot;, &amp;quot;House.xsd&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Laeme sisse House.xml-i&lt;br /&gt;
XDocument doc = XDocument.Load(&amp;quot;House.xml&amp;quot;);&lt;br /&gt;
// Ja üritame valideerida&lt;br /&gt;
custOrdDoc.Validate(schemas, (o, e) =&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        // Iga vea kohta avatakse teade&lt;br /&gt;
        System.Windows.Forms.MessageBox.Show(e.Message);&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/en-us/library/bb387037.aspx MSDN Näide]&lt;br /&gt;
==Extensible Stylesheet Language Transformations (XSLT)==&lt;br /&gt;
Jämedalt öeldes on XSLT teemakirjeldus nagu CSS on HTMLi jaoks. See on mõeldud XML andmete HTMLiks transformeerimiseks. Seda selleks, et neid andmeid oleks võimalik inimlikul kujul lugeda. &#039;&#039;&#039;Siiski ei ole see mõeldud kasutajaliideste loomiseks!&#039;&#039;&#039; Kuigi see on võimalik.&lt;br /&gt;
&lt;br /&gt;
XSLT puhul on väga tähtsal kohal XPath&#039;i kasutamise oskamine. Selle adresseimismeetodiga liigutakse transformeerimise andmete saamiseks XML-is ringi.&lt;br /&gt;
&lt;br /&gt;
[http://www.w3schools.com/xml/xpath_syntax.asp XPath süntaksi tarbeks vaadake antud viidet.]&lt;br /&gt;
&lt;br /&gt;
====XSLT viitamine XMLis====&lt;br /&gt;
Selleks, et XMLi jaoks XSLT template&#039;i kasutataks tuleb see määrata XML&#039;is peale &amp;lt;?xml ... ?&amp;gt; tagi&lt;br /&gt;
&amp;lt;source lang=XML&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;House.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:template&amp;gt;===&lt;br /&gt;
Antud elemendiga määratakse ära stiili põhi. Näide:&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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; &amp;lt;!-- xsl:template element vastab XML&#039;i juurelemendile --&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 1&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 2&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 3&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 4&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:value-of&amp;gt;===&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;HOUSE/ROOM&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;!-- xsl:value-of element vastab XML&#039;i HOUSE juurelemendi esimesele ROOM elemendile --&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 2&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 3&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Element 4&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:for-each&amp;gt;===&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;HOUSE/ROOM&amp;quot;&amp;gt; &amp;lt;!-- valime järjest tsüklis kõik ROOM elemendid --&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@OWNER&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;!-- xsl:value-of tagastab ROOM elemendi OWNER attribuudei väärtuse --&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:sort&amp;gt;===&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;HOUSE/ROOM&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;@OWNER&amp;quot;/&amp;gt; &amp;lt;!-- sorteerime omaniku järgi --&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@OWNER&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:if&amp;gt;===&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;HOUSE/ROOM&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;0 = count(WINDOW)&amp;quot;/&amp;gt; &amp;lt;!-- kuvame ainult ruumi omanikud, kelle ruumil pole aknaid --&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@OWNER&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;xsl:choose&amp;gt;===&lt;br /&gt;
&amp;lt;source lang=XML&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;&lt;br /&gt;
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;
    Mingi nimekiri.&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;HOUSE/ROOM&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:when test=&amp;quot;0 = count(WINDOW)&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;li bgcolor=red&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@OWNER&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;!-- kuva punaselt, kui pole aknaid --&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;li&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@OWNER&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;!-- kuva tavaliselt --&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:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Materjali lugemiseks===&lt;br /&gt;
*[http://nwalsh.com/docs/tutorials/xsl/xsl/frames.html http://nwalsh.com/docs/tutorials/xsl/xsl/frames.html]&lt;br /&gt;
*[http://cs.au.dk/~amoeller/XML/transformation/ http://cs.au.dk/~amoeller/XML/transformation/]&lt;br /&gt;
*[http://www.ibm.com/developerworks/xml/library/x-hands-on-xsl/index.html?dwzone=xml http://www.ibm.com/developerworks/xml/library/x-hands-on-xsl/index.html?dwzone=xml]&lt;br /&gt;
*[http://www.dpawson.co.uk/xsl/sect2/bestpractice.html Best Practice]&lt;br /&gt;
*[http://www.xmlplease.com/xsltidentity http://www.xmlplease.com/xsltidentity]&lt;br /&gt;
&lt;br /&gt;
=Praktiline ülesanne=&lt;br /&gt;
&lt;br /&gt;
==Käsi_hoitud_tegevus==&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesande aluseks on filmide andmebaasi XML.  [http://enos.itcollege.ee/~mposka/Vorgurakendused%20II%202017/Paevaope/Praktikumid/02/movies.xml Antud XMLis] on kirjeldatud filmid.&lt;br /&gt;
&lt;br /&gt;
Loengus tehtud näited asuvad [http://enos.itcollege.ee/~mposka/Vorgurakendused%20II%202017/Paevaope/Loengud/02/ siin]&lt;br /&gt;
&lt;br /&gt;
Filmide kohta on piisavalt andmeid, et lahendada järgnev ülesanne:&lt;br /&gt;
*Loo XSLT, mis kuvab kõikide filmide pealkirjad ja näitlejad&lt;br /&gt;
*Luua filmide andmebaasi XMLi jaoks XSLT, kus kuvatakse kõik žanrid. &lt;br /&gt;
**Ning iga žanri alla pannakse filmid. Sama filmi võib esineda erineva žanr&#039;i all mitu korda.&lt;br /&gt;
**Väljundiks on HTML&lt;br /&gt;
**Iga filmi puhul tuleb välja kirjutada ka näitlejad&lt;br /&gt;
**Kirss tordil: kuva ka pildid, mis on XMLiga kaasas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Juhul kui Visual Studiost ei toimi XSLT käivitamine, võib proovida lisada järgneva deklaratsioonis XML faili, millest transformatsiooni tehake. movies.xslt asendada enda xslt faili nimega.&lt;br /&gt;
**&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;movies.xslt&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Proovi automaatselt genereerida XSD skeemifail ning vii sisse vajalikud parandused&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C# näide: https://msdn.microsoft.com/en-us/library/ms163431.aspx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpetada Käsi_hoitud_tegevus. Saata õppejõule hiljemalt 26.02.2017 kell 23:59. Kirja pealkiri algab teemaga: [DKBoonus2] ja võimalik on teenida 2p boonust.&#039;&#039;&#039;&lt;br /&gt;
*NB! Lisa juurde Year=&amp;quot;1994&amp;quot; IMDB_Position=&amp;quot;1&amp;quot; ja Description väljad&lt;br /&gt;
*Vajadusel saad abi päevaõppe praktikum 2 videost.&lt;br /&gt;
&lt;br /&gt;
==Käsi_mittehoitud_tegevus==&lt;br /&gt;
Luua eelmises praktikumis loodud XMLidele stiilifailid, kus&lt;br /&gt;
* prinditakse välja HTML kujul eelmises praktikumis valminud retseptide XML andmefailist välja retseptide kohta käiv info&lt;br /&gt;
* prinditakse välja kõik ruumid HTML kujul koos arvutitega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luua eelmises praktikumis tehtud XML failidele skeemifailid&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=118597</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=118597"/>
		<updated>2017-03-15T20:17:58Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Päevaõpe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2017=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;20. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;27. märts 2017&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;17.aprill 2017&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;29. mai 2017&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;08. juuni 2017&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/6):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* AngularJS klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2017 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2017=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===Meeskond: QView===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Semjon Greef&lt;br /&gt;
* Martin Nigul&lt;br /&gt;
* Martin Nõukas&lt;br /&gt;
* Margus Muru&lt;br /&gt;
* Lisandra Noor&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: QView]]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Redundant Rappers===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kliss&lt;br /&gt;
*Kertu Nurmberg&lt;br /&gt;
*Anneli Asser&lt;br /&gt;
*Mart-Erki Nõumees&lt;br /&gt;
Meeskonna koduleht: [[Meeskond: Redundant Rappers]]&lt;br /&gt;
&lt;br /&gt;
===Meeskond: Sense Of Direction===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
*Aleksandr Babõkin&lt;br /&gt;
*Vladislav Lahtarin&lt;br /&gt;
*Vladislav Kovaltšuk&lt;br /&gt;
Meeskonna koduleht: [[Sense Of Direction]]&amp;lt;br&amp;gt;&lt;br /&gt;
XML/XSD/XSLT osa asub [https://wiki.itcollege.ee/index.php/Sense_Of_Direction#XML siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RK Meeskond: RK]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
Esimene osa: [https://wiki.itcollege.ee/index.php/RK#XML XML] / [https://wiki.itcollege.ee/index.php/RK#XSD XSD] / [https://wiki.itcollege.ee/index.php/RK#XSLT_HTML XSLT HTML] / [https://wiki.itcollege.ee/index.php/RK#XSLT_XML XSLT XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=RK&amp;diff=118596</id>
		<title>RK</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=RK&amp;diff=118596"/>
		<updated>2017-03-15T20:12:53Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: Created page with &amp;quot;== Meeskond == Raido Kivinurm  == Esimene osa ==  === XML === &amp;lt;pre&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt; &amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt; &amp;lt;!--&amp;lt;?xml-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
&lt;br /&gt;
== Esimene osa == &lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&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;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedHtml.xslt&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;andmedXml.xslt&amp;quot;?&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Computer hardware &amp;quot;middleman&amp;quot;--&amp;gt;&lt;br /&gt;
&amp;lt;Hardware&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Company that offers following item --&amp;gt;&lt;br /&gt;
   &amp;lt;Company code=&amp;quot;12494674&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Arvutitark OÜ&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Address&amp;gt;&lt;br /&gt;
         &amp;lt;Country&amp;gt;Estonia&amp;lt;/Country&amp;gt;&lt;br /&gt;
         &amp;lt;State&amp;gt;Harjumaa&amp;lt;/State&amp;gt;&lt;br /&gt;
         &amp;lt;City&amp;gt;Tallinn&amp;lt;/City&amp;gt;&lt;br /&gt;
         &amp;lt;AadressLine&amp;gt;&amp;lt;/AadressLine&amp;gt;&lt;br /&gt;
      &amp;lt;/Address&amp;gt;&lt;br /&gt;
   &amp;lt;/Company&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;!-- Components they offer --&amp;gt;&lt;br /&gt;
   &amp;lt;Components&amp;gt;&lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Processor&amp;quot; shortName=&amp;quot;CPU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;BX80646I74790K&amp;quot;&amp;gt;&amp;lt;![CDATA[I7 4790K]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Intel&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-06-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;350&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[SUPER SALE!!!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[LGA 1150]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[84W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images10.newegg.com/ProductImage/19-117-369-02.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;           &lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;YD1700BBAEBOX&amp;quot;&amp;gt;&amp;lt;![CDATA[Ryzen 7 1700]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;AMD&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-03-01&amp;quot; validUntil=&amp;quot;2017-05-05&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;390&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[ALL NEW CPU HAS &amp;quot;RYZEN&amp;quot;]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://www.bhphotovideo.com/images/images1000x1000/amd_yd1700bbaebox_ryzen_7_1700_am4_1322539.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;# of Cores&amp;quot;&amp;gt;&amp;lt;![CDATA[8]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Frequency&amp;quot;&amp;gt;&amp;lt;![CDATA[3.0 GHz]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Socket Type&amp;quot;&amp;gt;&amp;lt;![CDATA[AM4]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;TDP&amp;quot;&amp;gt;&amp;lt;![CDATA[65W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt; &lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Power supply&amp;quot; shortName=&amp;quot;PSU&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
        &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.enermax.pl/uploads/pics/maxpro01.png]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;EMP500AGT&amp;quot;&amp;gt;&amp;lt;![CDATA[MaxPro 500]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Enermax&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Power&amp;quot;&amp;gt;&amp;lt;![CDATA[500W]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Efficiency&amp;quot;&amp;gt;&amp;lt;![CDATA[80 Plus]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
        &amp;lt;Price validFrom=&amp;quot;2017-02-03&amp;quot; validUntil=&amp;quot;2017-06-03&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Amount&amp;gt;55.50&amp;lt;/Amount&amp;gt;&lt;br /&gt;
          &amp;lt;Currency&amp;gt;USD&amp;lt;/Currency&amp;gt;&lt;br /&gt;
          &amp;lt;Description&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
        &amp;lt;/Price&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;   &lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Monitor&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;210-AICW&amp;quot;&amp;gt;&amp;lt;![CDATA[UltraSharp U2717D]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Dell&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-08-01&amp;quot; validUntil=&amp;quot;2018-01-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;450&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;EUR&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Be ready or be square]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[http://www.gadgetreview.com/wp-content/uploads/2016/07/Dell-U2717D-Monitor-Design.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
        &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Display size&amp;quot;&amp;gt;&amp;lt;![CDATA[27&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Resolution&amp;quot;&amp;gt;&amp;lt;![CDATA[WQHD 2560×1440]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;HDMI&amp;quot;&amp;gt;&amp;lt;![CDATA[Yes]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
          &amp;lt;InfoLine name=&amp;quot;Thunderbolt&amp;quot;&amp;gt;&amp;lt;![CDATA[No]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
        &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;Component type=&amp;quot;Storage&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Item&amp;gt;&lt;br /&gt;
            &amp;lt;Name productcode=&amp;quot;MZ-75E250B/EU&amp;quot;&amp;gt;&amp;lt;![CDATA[850 EVO 250GB SATA 6Gbit/s]]&amp;gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;
            &amp;lt;Manufacturer&amp;gt;Samsung&amp;lt;/Manufacturer&amp;gt;&lt;br /&gt;
            &amp;lt;Price validFrom=&amp;quot;2017-01-01&amp;quot; validUntil=&amp;quot;2017-02-01&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Amount&amp;gt;500&amp;lt;/Amount&amp;gt;&lt;br /&gt;
               &amp;lt;Currency&amp;gt;Bottle cap&amp;lt;/Currency&amp;gt;&lt;br /&gt;
               &amp;lt;Description&amp;gt;&amp;lt;![CDATA[Extra cheap. Get your caps ready!]]&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;
            &amp;lt;/Price&amp;gt;&lt;br /&gt;
            &amp;lt;CustomInfo&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Capacity&amp;quot;&amp;gt;&amp;lt;![CDATA[250GB]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
               &amp;lt;InfoLine name=&amp;quot;Size&amp;quot;&amp;gt;&amp;lt;![CDATA[2.5&#039;&#039;]]&amp;gt;&amp;lt;/InfoLine&amp;gt;&lt;br /&gt;
            &amp;lt;/CustomInfo&amp;gt;&lt;br /&gt;
            &amp;lt;Image&amp;gt;&amp;lt;![CDATA[https://images-na.ssl-images-amazon.com/images/I/71gkS5vep8L._SL1500_.jpg]]&amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;
         &amp;lt;/Item&amp;gt;&lt;br /&gt;
      &amp;lt;/Component&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
   &amp;lt;/Components&amp;gt;&lt;br /&gt;
&amp;lt;/Hardware&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&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;Hardware&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Company&amp;quot; minOccurs=&amp;quot;1&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:all&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;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:all&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;State&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;AadressLine&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;code&amp;quot; type=&amp;quot;xs:long&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;
        &lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Components&amp;quot;&amp;gt;&lt;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;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Component&amp;quot;&amp;gt;&lt;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;1&amp;quot; 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:all&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Name&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;productcode&amp;quot; type=&amp;quot;xs:string&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;Manufacturer&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:all&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Amount&amp;quot; type=&amp;quot;positiveDecimal&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Currency&amp;quot; type=&amp;quot;currencyType&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;Description&amp;quot; type=&amp;quot;description&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:all&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validFrom&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;optional&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;validUntil&amp;quot; type=&amp;quot;xs:date&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:element name=&amp;quot;CustomInfo&amp;quot;&amp;gt;&lt;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;InfoLine&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;name&amp;quot; type=&amp;quot;description&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:element name=&amp;quot;Image&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:all&amp;gt;&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;type&amp;quot; use=&amp;quot;required&amp;quot; type=&amp;quot;componentType&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;shortName&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: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;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;componentType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Processor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Power supply&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Videocard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Monitor&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Storage&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Motherboard&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Cooler&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Case&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Other&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;currencyType&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;EUR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;USD&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;RUB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;IRR&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;Bottle cap&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;positiveDecimal&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xs:maxLength value=&amp;quot;256&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT HTML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&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;xsl:variable name=&amp;quot;company&amp;quot; select=&amp;quot;/Hardware/Company&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;companyName&amp;quot; select=&amp;quot;$company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;country&amp;quot; select=&amp;quot;$company/Address/Country&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;state&amp;quot; select=&amp;quot;$company/Address/State&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;aLine&amp;quot; select=&amp;quot;$company/Address/AadressLine&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;fullAdress&amp;quot; select=&amp;quot;concat($country,&#039;, &#039;,$state,&#039;, &#039;, $aLine)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$companyName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;$fullAdress&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h3&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@shortName&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@shortName&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;/h3&amp;gt;&lt;br /&gt;
          &amp;lt;table&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;Item&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;imageTitle&amp;quot; select=&amp;quot;concat(Price/Description, &#039; &#039;, Price/Amount,Price/Currency)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;start&amp;quot; select=&amp;quot;Price/@validFrom&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:variable name=&amp;quot;end&amp;quot; select=&amp;quot;Price/@validUntil&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;p&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;p style=&amp;quot;font-size: 50%;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;Name/@productcode&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/p&amp;gt;&lt;br /&gt;
                  &amp;lt;img src=&amp;quot;{Image}&amp;quot; title=&amp;quot;{$imageTitle}&amp;quot; width=&amp;quot;250&amp;quot; height=&amp;quot;250&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;table&amp;gt;&lt;br /&gt;
                    &amp;lt;tbody&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;CustomInfo/InfoLine&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;tr&amp;gt;&lt;br /&gt;
                          &amp;lt;td style=&amp;quot;width:100px; font-weight:bold&amp;quot;&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 style=&amp;quot;width:150px&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;Yes&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2714;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;. = &#039;No&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;&amp;amp;#x2716;&amp;lt;/xsl:text&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;xsl:value-of select=&amp;quot;.&amp;quot;/&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;/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;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;hr/&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;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT XML ===&lt;br /&gt;
&amp;lt;pre&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Root&amp;gt;&lt;br /&gt;
        &amp;lt;ComponentTypes&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;count&amp;quot; select=&amp;quot;count(Item)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Type amount=&amp;quot;{$count}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Type&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ComponentTypes&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;seller&amp;quot; select=&amp;quot;Hardware/Company/Name&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Components&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;Hardware/Components/Component/Item&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Component&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;Price/Currency&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Manufacturer&amp;quot; select=&amp;quot;Manufacturer&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;Name company=&amp;quot;{$Manufacturer}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Name&amp;gt;&lt;br /&gt;
              &amp;lt;Seller&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$seller&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Seller&amp;gt;&lt;br /&gt;
              &amp;lt;Price curreny=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Price/Amount&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/Price&amp;gt;&lt;br /&gt;
              &amp;lt;ImageUrl&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;Image&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/ImageUrl&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency=&#039;Bottle cap&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;Warning&amp;gt;Only for sale in Wastelands!&amp;lt;/Warning&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;$currency!=&#039;EUR&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Warning&amp;gt;Not for sale in EU!&amp;lt;/Warning&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;/Component&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/Components&amp;gt;&lt;br /&gt;
      &amp;lt;/Root&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;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=74200</id>
		<title>Juhend: Kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (2013)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=74200"/>
		<updated>2014-01-13T20:05:26Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Meeskond &amp;quot;pöial&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kodutöö aines &amp;quot;Programmeerimine C# keeles&amp;quot;=&lt;br /&gt;
&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. &lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3-4 tudengit. Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).&lt;br /&gt;
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service&#039;it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com .&lt;br /&gt;
&lt;br /&gt;
==Tähtaegadest kinnipidamine==&lt;br /&gt;
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Maksimumpunktide saavutamiseks tuleb tähtajaks esitada töö, mis vastab püstitatud nõuetele. Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2013 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2013 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2013 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.&lt;br /&gt;
&lt;br /&gt;
===Meeskonna kokkupanek ja idee===&lt;br /&gt;
&#039;&#039;&#039;09.11.2013&#039;&#039;&#039; (2p)&lt;br /&gt;
&lt;br /&gt;
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb  kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Paari sõnaga peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav.&lt;br /&gt;
&lt;br /&gt;
===Analüüs===&lt;br /&gt;
&#039;&#039;&#039;16.11.2013&#039;&#039;&#039; (6p)&lt;br /&gt;
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.&#039;&#039;&#039;NB! Miinimum sõnade arv 700&#039;&#039;&#039; Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:&lt;br /&gt;
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 23.11.2013 (3p)&lt;br /&gt;
&lt;br /&gt;
===Prototüüp===&lt;br /&gt;
&#039;&#039;&#039;30.11.2013&#039;&#039;&#039;(10p)&lt;br /&gt;
&lt;br /&gt;
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada).  Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 07.12.2013(5p)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&#039;&#039;&#039;16.12.2013&#039;&#039;&#039;(20p)&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 05.01.2012(5p)&lt;br /&gt;
&lt;br /&gt;
===Esitlus/Kaitsmine=== &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Toimub loengutes/praktikumides&#039;&#039;&#039; &#039;&#039;(4p) &#039;&#039;&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks.  Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
====Kaitsmise ajad====&lt;br /&gt;
Siia ilmuvad kaitsmise ajad&lt;br /&gt;
&lt;br /&gt;
=Teemad 2013 sügis=&lt;br /&gt;
Kodutööna tuleb luua:&lt;br /&gt;
&lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
&lt;br /&gt;
==Tetris(XNA)==&lt;br /&gt;
==XoniX(XNA)==&lt;br /&gt;
&lt;br /&gt;
==Nõuded rakendusele==&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone 8, Windows 8 Store App või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
==Nõuded XNA projektile==&lt;br /&gt;
Loodav mäng peab sisaldama:&lt;br /&gt;
* Erinevaid tasemeid&lt;br /&gt;
* Punktiarvestust&lt;br /&gt;
* XBox puldi tuge&lt;br /&gt;
* Klaviatuurilt juhtimise tuge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea &#039;&#039;story&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Meeskonnad 2013=&lt;br /&gt;
==Meeskond &amp;quot;Ajarändurid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajarändurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Marten Jänt&lt;br /&gt;
*Joosep Taluväli&lt;br /&gt;
*Sandra Loho&lt;br /&gt;
*Ranno Maripuu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ajarändurid&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ajarändurid%22#Anal.C3.BC.C3.BCsi_retsensioon retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Rock Desk&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Rock_Desk &amp;quot;Rock Desk&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Stanislav Gorski&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Meeskondbrah&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskondbrah &amp;quot;Meeskondbrah&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Erling Tammisto&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Kaspar Jesse Tormis&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Meeskondbrah&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskondbrah retsensioon]&lt;br /&gt;
*Meeskonna &amp;quot;Rock Desk&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Rock_Desk retsensioon] meeskonnalt &amp;quot;Meeskondbrah&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Ventilaator&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tauri Metsoja&lt;br /&gt;
*Ahto Luuri&lt;br /&gt;
*Raul Prosso&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22T.C3.9CC.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/T%C3%9CC &amp;quot;TÜC&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22.21.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 &amp;quot;!&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22DentNet.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;DenTnet&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; lõpptoote [http://whatyoudidlastnightapp.blogspot.com/2014/01/retsensioon-meeskonna-ventilaator.html retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; lõpptoote [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22.21.22_2 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 &amp;quot;!&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; lõpptoote [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22Ajar.C3.A4ndurid.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajar%C3%A4ndurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;TÜC&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/TÜC &amp;quot;TÜC&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed: Anna Carina Vainola, Ülle Tiitson, Tiit Teder&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;TÜC&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:T%C3%9CC#Retsensioon_meeskonnalt_.22Ventilaator.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;TÜC&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:T%C3%9CC#Protot.C3.BC.C3.BCbi_retsensioon_meeskonnalt_.22Lingviinid.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Lingviinid &amp;quot;Lingviinid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;ITK Life&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_ITK_Life &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Siim Talvik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Kristo Kuiv&lt;br /&gt;
*Rauno Villberg&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/Rets_poial &amp;quot;Retsensioon&amp;quot;] meeskonna &amp;quot;pöial&amp;quot; poolt&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;LastNight&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Margus Birk&lt;br /&gt;
*Doris Hallmägi&lt;br /&gt;
*Andres Kalev&lt;br /&gt;
*Piia-Helin Oras&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: Meeskonna &amp;quot;LastNight&amp;quot; projekti analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Last_Night retsensioon]  meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 &amp;quot;!&amp;quot;] ja meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajar%C3%A4ndurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;lt;span style=&amp;quot;font-size: 26px;&amp;quot;&amp;gt;&amp;quot;!&amp;quot;&amp;lt;/span&amp;gt;==&lt;br /&gt;
Meeskonna wikileht[https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 !]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jander Lapmaa&lt;br /&gt;
*Fred Moritz&lt;br /&gt;
*Mihkel Ehrlich&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;!&amp;quot; projekti analüüsi [http://whatyoudidlastnightapp.blogspot.com/2013/11/retsentsioon.html retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Lingviinid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [[Meeskond Lingviinid]]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Johanna Mariah Kammiste&lt;br /&gt;
*Karin Lepik&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Olga Trikk&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Lingviinid&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Lingviinid retsensioon] - kirjutanud meeskond &amp;quot;TÜC&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;DenTnet&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristjan Oliver Kruus&lt;br /&gt;
*Rene Hollo&lt;br /&gt;
*Indrek Luts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Retsentsioonid:&amp;quot;]&lt;br /&gt;
Retsensioon meeskonnalt Lingviinid: [[DenTnet retsensioon]]&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;DenTnet&amp;quot; prototüübi [http://whatyoudidlastnightapp.blogspot.com/2013/12/retsensioon-meeskonna-meeskonna-dentnet.html retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==MeeskondX==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/MeeskondX wiki]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Henri Abel&lt;br /&gt;
*Eda Post&lt;br /&gt;
*Raudo Lepik&lt;br /&gt;
*Mart Naris&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;MeeskondX&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:MeeskondX retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;] ja meeskonnalt [https://wiki.itcollege.ee/index.php/WizERD &amp;quot;WizERD&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;MeeskondX&amp;quot; lõpptoote [https://wiki.itcollege.ee/index.php/Talk:MeeskondX retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;pöial&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_%22p%C3%B6ial%22 &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Stenn Mäeots&lt;br /&gt;
* Priit Aarma&lt;br /&gt;
* Paul Niidas&lt;br /&gt;
* Kert Treikelder&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt ITK Life&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt ITK Life&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; lõpptoote [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt ITK Life&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; lõpptoote [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt WizERD&lt;br /&gt;
&lt;br /&gt;
==Meeskond Nimetud==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Nimetud &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jevgenia Motorenko&lt;br /&gt;
*Kentti Koppel&lt;br /&gt;
*Aare-Arnold Äkke&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Meeskonna &amp;quot;Rock Desk&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Rock_Desk retsensioon]&lt;br /&gt;
&lt;br /&gt;
Meeskonna &#039;&amp;quot;WizERD&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:WizERD retsensioon]&lt;br /&gt;
&lt;br /&gt;
Meeskonna &#039;&amp;quot;WizERD&amp;quot; täisversiooni [https://wiki.itcollege.ee/index.php/Talk:WizERD#T.C3.A4isversiooni_retsensioon_meeskonnalt_.22Nimetud.22 retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;SI&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/SI &amp;quot;SI&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kert Kukk&lt;br /&gt;
*Roland Pukk&lt;br /&gt;
*Anti Meos&lt;br /&gt;
*Kristjan Adrat&lt;br /&gt;
====Retsensioon====&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:SI &amp;quot;Retsensioon&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;WizERD&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WizERD &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaspar Kallas (projektijuht)&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
*Rico Veskiväli&lt;br /&gt;
*Meelis-Marius Pinka&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;wizERD&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:WizERD#Protot.C3.BC.C3.BCbi_retsensioon_meeskonnalt_.22Nimetud.22 retsensioon] meeskonnalt pöial&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Lupardid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Lupardid &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Madis Männik (projektijuht)&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;GiftsForYou&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/GiftsForYou &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jevgeni Širai (projektijuht)&lt;br /&gt;
*Andre Padu&lt;br /&gt;
*Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;GiftsForYou&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:GiftsForYou retsensioonid]&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22p%C3%B6ial%22&amp;diff=74196</id>
		<title>Talk:Meeskond &quot;pöial&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22p%C3%B6ial%22&amp;diff=74196"/>
		<updated>2014-01-13T20:04:33Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Analüüsi retsensioon==&lt;br /&gt;
Meeskond „pöial“ , koosseisus Stenn Mäeots, Priit Aarma, Paul Niidas ja Kert Treikelder, on aine programmeerimine C# keeles projekti eesmärgiks võtnud XNA platvormil baseeruva kaardimängu Blackjack koostamise. Oma analüüsis on nad välja toonud traditsioonilise kaardimängu lühikirjelduse, iseloomustanud tööprotsessi ning üles loetlenud &#039;&#039;must have&#039;&#039; ja &#039;&#039;nice to have&#039;&#039; funktsionaalsused.&lt;br /&gt;
&lt;br /&gt;
Kriitikana analüüsile tuleb mainida, et analüüs on rohkem kui kaks korda nõutavast lühem. Lisaks trükivead ja ingliskeelsete terminite vaba kasutamine eestikeelses tekstis viitab kiirustamisele ja/või hooletule suhtumisele.  Analüüsi lühidusest tulenevalt on ka sisulisi puudujääke. Hetkel jääb selgusetuks, mis põhjustel on just selline projekt valitud, mille poolest erineb see juba väga paljudest olemasolevatest Blackjack mängudest ning kes on potentsiaalne kasutaja. Ehk küsimus on, mis on meeskonna „pöial“ eesmärgiks seesuguse projekti  elluviimisel.&lt;br /&gt;
&lt;br /&gt;
Projekti nõutele vastavust hinnates saab positiivse poole pealt välja tuua &#039;&#039;must have&#039;&#039; funktsionaalsuse all märgitud Xbox puldi ja klaviatuuriga juhtimise tuge ning punktiarvestuse rollis on arusaadavalt raha teenimine ja kaotamine. Paraku jääb arusaamatuks, milles väljenduvad erinevad tasemed. Kas erinevate vastastega mängimine kvalifitseerub erinevate tasemete alla? Lisanõuete alla kuuluva mängu orginaalsuse osas sai juba varem küsimus püstitatud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt, meeskond „pöial“ plaanib Blackjack kaardimängu loomist ning analüüsis on nad kirjeldanud eesootavat tööprotsessi ning loetlenud loodava mängu funktsionaalsused. Liiga lühikese analüüsi tõttu jääb arusaamatuks konkreetse ülesande valimise põhjus ja eesmärk. Samuti on küsitav, kas kõik projekti nõuded on täidetud.&lt;br /&gt;
&lt;br /&gt;
Retsenseeris meeskond ITK Life&lt;br /&gt;
&lt;br /&gt;
==Prototüübi retsensioon==&lt;br /&gt;
Meeskond “pöial“ on tähtaegselt esitanud kaardimängu BlackJack prototüübi. Lisaks on esitatud &#039;&#039;published&#039;&#039; versioon. Prototüübina on esitatud vigadeta toimiv kaardimäng. Mängijale ja diilerile jagatakse kaks kaarti. Tühikut vajutades saab mängija kaardi juurde võtta ning „Stand“ nupule vajutades  saab mängija kaartide juurdevõtmisest loobuda, mille järel mängijat teavitatakse mängu tulemusest. Järgmise mängu alustamiseks tuleb vajutada nupule „Uuesti“. Võrreldes tehtut &#039;&#039;must have&#039;&#039; funktsionaalsuste nimekirjaga,  on realiseeritud vigadeta töötav mäng ja klaviatuuriga juhtimine. Puuduvad näiteks start menüü, raha-/punktisüsteem, erinevad vastased ja kasutajanime loomise võimalus.&lt;br /&gt;
&lt;br /&gt;
Mäng iseenesest toimib kenasti. Kasutaja seisukohast oleks mõistlik, kui mängida saaks kas ainult klaviatuuri või ainult hiire abil. Hetkel saab kaarte juurde vaid klaviatuuril tühikut vajutades ning mängu uuesti alustada ja passida vaid hiire abil. Hea stiil oleks mängus kasutada ka vaid eesti või inglise keelt.&lt;br /&gt;
&lt;br /&gt;
Koodi kirjutamisel on korralikult kasutatud klasse, mis on omakorda kaustadesse jagatud. Võimalike täiustamiskohtadena saab välja tuua kaks punkti. Esiteks klassid &#039;&#039;DealerCard&#039;&#039; ja &#039;&#039;PlayerCard&#039;&#039; on sisult samad, erinedes vaid joonistamise asukoha poolest. Seega võiks mõelda baasklassi kasutamise peale. Teiseks on klasside &#039;&#039;PlayerLoogika&#039;&#039; ja &#039;&#039;WhoWinTurnDraw&#039;&#039; &#039;&#039;if-else&#039;&#039; lausetes märkimisväärne kogus sama koodi korduvalt välja kirjutatud. Parem oleks kasutada mingit meetodit nende välja kutsumiseks.&lt;br /&gt;
&lt;br /&gt;
Retsenseeris meeskond ITK Life&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lõpptoote retsensioon==&lt;br /&gt;
Meeskonna „pöial“ poolt realiseeritud projektiks on kaardimäng BlackJack. Edasiminek võrreldes prototüübiga on märgatav ning mäng on üldjoontes toimiv. Lähtudes kodutööle esitatud nõuetest on mängust puudu vaid erinevad tasemed. Analüüsi &#039;&#039;must have&#039;&#039; sektsioonis välja toodud funktsionaalsused on samuti realiseeritud, kuid peab mainima, et võrreldes esialgse analüüsiga on ka vastav nimekiri mõnevõrra muutunud. Seejuures ei ole mäng ka täielikult vigadeta – mitmel korral võis ligi pool minutit lillat ekraani näha enne, kui mängupilt jälle taastus.&lt;br /&gt;
&lt;br /&gt;
Mängu kasutajaliidesega muid tõsisemaid probleeme enam pole, paranadatud on ka prototüübi puhul välja toodud ebamugavus - hiire ja klaviatuuriga läbisegi juhtimine. Küsitav on, kas see, et panust tegemata on võimalik mängida, on taotuslik. Detailidesse laskudes võib veel välja tuua asjaolu, et panustamisel muutuvad näiliselt aktiivseks alati kõik nupud, vaatamata sellele, et mõni panus on lubamatult suur, seda tegelikult valida ei saa ja nupule vajutamisel ka midagi ei juhtu. Paraku pole arvesse võetud prototüübile tehtud kriitikat eesti ja inglise keele koos kasutamise kohta.&lt;br /&gt;
&lt;br /&gt;
Ka koodi poole pealt on juba prototüübile tehtud märkused (nt klassid &#039;&#039;DealerCard&#039;&#039; ja &#039;&#039;PlayerCard&#039;&#039; ning koodi kordumine) parandamata. Lisaks neile saab välja tuua veel alljärgnevad momendid:&lt;br /&gt;
&lt;br /&gt;
1) &#039;&#039;Buttons&#039;&#039; võiks olla lahendatud baasklassi/pärilusega, selle asemel, et iga žetooni väärtuse jaoks eraldi klass teha ja enamikku koodi kopeerida. &lt;br /&gt;
&lt;br /&gt;
2) Mittemuutuvate asukohtadega nuppude asukohti ei ole vaja iga &#039;&#039;update&#039;&#039;’i puhul uuendada.&lt;br /&gt;
&lt;br /&gt;
4) Kõik muutujad on &#039;&#039;public static,&#039;&#039; ehk põhimõtteliselt objetke ei kasutata.&lt;br /&gt;
&lt;br /&gt;
5) Koodi loogikast on keeruline aru saada, kuna meetodeid kasutatakse vähe ja on palju korduvat koodi.&lt;br /&gt;
&lt;br /&gt;
6) &#039;&#039;LoadGame&#039;&#039; meetodis (Salvestamine.cs klassis) on küsitav &#039;&#039;for&#039;&#039;-tsükli eesmärk. Parimate tulemuste salvestamisega seoses oleks võinud lihtsalt tekstifaili kirjutamise asemel serialiseerimist kasutada.&lt;br /&gt;
&lt;br /&gt;
Et positiivse noodiga lõpetada, siis klassis Misc on hästi kasutatud enumit ning tore, et projekt on valmis tehtud ning põhimõtteliselt on tegemist töötava mänguga.&lt;br /&gt;
&lt;br /&gt;
Retsenseeris meeskond ITK Life&lt;br /&gt;
&lt;br /&gt;
==Lõpptoote retsensioon==&lt;br /&gt;
Meeskond &amp;quot;pöial&amp;quot; tegid valmis blackjacki kaartimängu XNA platvormil. Must have funktsioonidest tundus enamuses olemas olevat, kahjuks ei olnud võimalik puldiga asja testida. Klaviatuuri ja hiirega töötas asi igastahes mugavalt ja probleemivabalt.&lt;br /&gt;
Mäng töötas testimisel probleemivabalt. Küll leidsin loogikavigu kust saaks mängu parendada.&lt;br /&gt;
*Maksimaalselt võimalik käes olla 6 kaarti. Ilmselt väike probleem, kuid siiski tekib olukordi kus on vaja võimaldada rohkemat kui 6-te kaarti.&lt;br /&gt;
*Mängija ja diileri kaarte arvestatakse eraldi. See toob kaasa, et mängijal ja diileril võib korraga käes olla &amp;quot;sama&amp;quot; kaart.&lt;br /&gt;
*Diiler võtab aegaajalt ebavajalikke kaarte juurde. Näiteks kui kasutaja on lõhki, võtab diiler ikkagi kaarte juurde kui tema käes on vähe punkte. Mängija poolt vaadatuna on see hea, kuid &amp;quot;kasiino&amp;quot; poolt vaadatuna kindlasti kahjulik.&lt;br /&gt;
*High score viga. Paari katsetamise järel olid parimad tulemused segamini.(Näitena olid minul 800, 550, 400, 550, 100)&lt;br /&gt;
&lt;br /&gt;
Retsenseeris meeskond WizERD&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=74102</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=74102"/>
		<updated>2014-01-13T09:14:15Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&#039;&#039;&#039;WizERD&#039;&#039;&#039; oleks tarkvaraprogramm olemi-suhte diagrammide joonistamiseks.&lt;br /&gt;
&lt;br /&gt;
=Seletus=&lt;br /&gt;
Olemi-suhte diagramm (ingl &#039;&#039;Entity Relationship Diagram&#039;&#039;, lühemalt &#039;&#039;ERD&#039;&#039;) on kõige laiemalt levinud metoodika andmemudelite koostamiseks ja kirjelduse esitamiseks. Käesoleval hetkel (2013) on IT Kolledžis õppe-eesmärgil kasutusel programm nimega QSEE-Superlite, millega joonistatakse ERD-sid. Meie meeskonna arust on see rigiidse ja aegunud olemisega tarkvara. Meie sooviks on luua midagi uut ja paremat, mis saaks ER-mudelitega ladusamalt hakkama. Kui kõik läheb hästi, siis loodetavasti võetakse meie loodud programm samuti koolis kasutusele.&lt;br /&gt;
&lt;br /&gt;
=Meeskond=&lt;br /&gt;
Kaspar Kallas (projektijuht)&amp;lt;br /&amp;gt;&lt;br /&gt;
Raido Kivinurm&amp;lt;br /&amp;gt;&lt;br /&gt;
Meelis-Marius Pinka&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;Rico Veskiväli&amp;lt;/s&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ajaveeb=&lt;br /&gt;
http://wizerd2013.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
http://wizerd2013.blogspot.com/2013/11/analuus.html&lt;br /&gt;
&lt;br /&gt;
==Analüüsi lühikokkuvõte==&lt;br /&gt;
Põhieesmärk on koostada moodul ER-diagrammide joonistamiseks koos integreeritud graafilise kasutajaliidesega. Selle mooduli põhielemente, milleks on olemid, suhted ja atribuudid, peab saama andmebaaside modelleerimise standarditele vastavalt omavahel kasutada. Tarkvara omaks kõige vajalikumaid funktsioone nagu printimine, hetkpildi tegemine, salvestamine/avamine jne. Lõpptulemus visuaalselt oleks professionaalse ja modernse välimusega (ümar, selge, mitte karedate äärtega jne).&lt;br /&gt;
&lt;br /&gt;
Peale elementaarsete funktsioonide tahame programmile lisada enda mõeldud originaalseid lahendusi. Mõned sellised võiksid olla erinevad automatiseeringud ja režiimid. Meie ideedest täpsemalt hiljem sõltuvalt võimalustest.&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
http://wizerd2013.blogspot.com/2014/01/kasutusjuhend.html&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;Must Have&#039;&#039;==&lt;br /&gt;
* ERD module&lt;br /&gt;
** Entities&lt;br /&gt;
** Relationships&lt;br /&gt;
** Atributes&lt;br /&gt;
** Shapes&lt;br /&gt;
** Interactivity&lt;br /&gt;
* UI/UX module&lt;br /&gt;
** Toolbar&lt;br /&gt;
** Menus&lt;br /&gt;
** Right-click options&lt;br /&gt;
* Saving/Opening projects&lt;br /&gt;
** TXT&lt;br /&gt;
* Diagram snapshotting&lt;br /&gt;
** PNG&lt;br /&gt;
* Printing&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;Nice To Have&#039;&#039;==&lt;br /&gt;
* Comment boxes&lt;br /&gt;
* Shortcuts&lt;br /&gt;
* Tutorials and examples&lt;br /&gt;
* Anti-aliasing&lt;br /&gt;
* Automatisations&lt;br /&gt;
** Snapping to grid&lt;br /&gt;
** Auto-placement&lt;br /&gt;
* Styles&lt;br /&gt;
** Black/White&lt;br /&gt;
** Colored&lt;br /&gt;
** Atributes in or out of entities&lt;br /&gt;
** Shapes round or square&lt;br /&gt;
* Other ideas&lt;br /&gt;
** Relationship lighting&lt;br /&gt;
&lt;br /&gt;
=Prototüüp=&lt;br /&gt;
*Prototüübil on realiseeritud  peamised olemi ja atribuudi lisamise funktsionaalsused, osade funktsionaalsuste juures võib esineda väiksemaid vigasid, mis on versioon 1.0 valmimise ajaks parandatud.&lt;br /&gt;
*http://enos.itcollege.ee/~mpinka/Wiz/WizERD.zip&lt;br /&gt;
&lt;br /&gt;
=Allikad=&lt;br /&gt;
*[http://enos.itcollege.ee/~priit/E-kursus%20(I%20245)%20AB-de%20alused/ Andmebaasisüsteemide alused I206] Priit Raspel&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=69908</id>
		<title>Juhend: Kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (2013)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=69908"/>
		<updated>2013-12-10T16:43:57Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* MeeskondX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kodutöö aines &amp;quot;Programmeerimine C# keeles&amp;quot;=&lt;br /&gt;
&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. &lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3-4 tudengit. Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).&lt;br /&gt;
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service&#039;it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com .&lt;br /&gt;
&lt;br /&gt;
==Tähtaegadest kinnipidamine==&lt;br /&gt;
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Maksimumpunktide saavutamiseks tuleb tähtajaks esitada töö, mis vastab püstitatud nõuetele. Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2013 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2013 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2013 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.&lt;br /&gt;
&lt;br /&gt;
===Meeskonna kokkupanek ja idee===&lt;br /&gt;
&#039;&#039;&#039;09.11.2013&#039;&#039;&#039; (2p)&lt;br /&gt;
&lt;br /&gt;
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb  kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Paari sõnaga peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav.&lt;br /&gt;
&lt;br /&gt;
===Analüüs===&lt;br /&gt;
&#039;&#039;&#039;16.11.2013&#039;&#039;&#039; (6p)&lt;br /&gt;
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.&#039;&#039;&#039;NB! Miinimum sõnade arv 700&#039;&#039;&#039; Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:&lt;br /&gt;
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 23.11.2013 (3p)&lt;br /&gt;
&lt;br /&gt;
===Prototüüp===&lt;br /&gt;
&#039;&#039;&#039;30.11.2013&#039;&#039;&#039;(10p)&lt;br /&gt;
&lt;br /&gt;
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada).  Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 07.12.2013(5p)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&#039;&#039;&#039;16.12.2013&#039;&#039;&#039;(20p)&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 05.01.2012(5p)&lt;br /&gt;
&lt;br /&gt;
===Esitlus/Kaitsmine=== &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Toimub loengutes/praktikumides&#039;&#039;&#039; &#039;&#039;(4p) &#039;&#039;&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks.  Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
====Kaitsmise ajad====&lt;br /&gt;
Siia ilmuvad kaitsmise ajad&lt;br /&gt;
&lt;br /&gt;
=Teemad 2013 sügis=&lt;br /&gt;
Kodutööna tuleb luua:&lt;br /&gt;
&lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
&lt;br /&gt;
==Tetris(XNA)==&lt;br /&gt;
==XoniX(XNA)==&lt;br /&gt;
&lt;br /&gt;
==Nõuded rakendusele==&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone 8, Windows 8 Store App või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
==Nõuded XNA projektile==&lt;br /&gt;
Loodav mäng peab sisaldama:&lt;br /&gt;
* Erinevaid tasemeid&lt;br /&gt;
* Punktiarvestust&lt;br /&gt;
* XBox puldi tuge&lt;br /&gt;
* Klaviatuurilt juhtimise tuge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea &#039;&#039;story&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Meeskonnad 2013=&lt;br /&gt;
==Meeskond &amp;quot;Ajarändurid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajarändurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Marten Jänt&lt;br /&gt;
*Joosep Taluväli&lt;br /&gt;
*Sandra Loho&lt;br /&gt;
*Ranno Maripuu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ajarändurid&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ajarändurid%22#Anal.C3.BC.C3.BCsi_retsensioon retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Rock Desk&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Rock_Desk &amp;quot;Rock Desk&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Stanislav Gorski&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Meeskondbrah&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskondbrah &amp;quot;Meeskondbrah&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Erling Tammisto&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Kaspar Jesse Tormis&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Meeskondbrah&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskondbrah retsensioon]&lt;br /&gt;
*Meeskonna &amp;quot;Rock Desk&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Rock_Desk retsensioon] meeskonnalt &amp;quot;Meeskondbrah&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Ventilaator&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tauri Metsoja&lt;br /&gt;
*Ahto Luuri&lt;br /&gt;
*Raul Prosso&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22T.C3.9CC.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/T%C3%9CC &amp;quot;TÜC&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22.21.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 &amp;quot;!&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Retsensioon_meeskonnalt_.22DentNet.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;DenTnet&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;TÜC&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/TÜC &amp;quot;TÜC&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed: Anna Carina Vainola, Ülle Tiitson, Tiit Teder&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;TÜC&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:T%C3%9CC#Retsensioon_meeskonnalt_.22Ventilaator.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
*Meeskonna &amp;quot;TÜC&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:T%C3%9CC#Protot.C3.BC.C3.BCbi_retsensioon_meeskonnalt_.22Lingviinid.22 retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Lingviinid &amp;quot;Lingviinid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;ITK Life&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_ITK_Life &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Siim Talvik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Kristo Kuiv&lt;br /&gt;
*Rauno Villberg&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/Rets_poial &amp;quot;Retsensioon&amp;quot;] meeskonna &amp;quot;pöial&amp;quot; poolt&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;LastNight&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Margus Birk&lt;br /&gt;
*Doris Hallmägi&lt;br /&gt;
*Andres Kalev&lt;br /&gt;
*Piia-Helin Oras&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: Meeskonna &amp;quot;LastNight&amp;quot; projekti analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Last_Night retsensioon]  meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 &amp;quot;!&amp;quot;] ja meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajar%C3%A4ndurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;lt;span style=&amp;quot;font-size: 26px;&amp;quot;&amp;gt;&amp;quot;!&amp;quot;&amp;lt;/span&amp;gt;==&lt;br /&gt;
Meeskonna wikileht[https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 !]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jander Lapmaa&lt;br /&gt;
*Fred Moritz&lt;br /&gt;
*Mihkel Ehrlich&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;!&amp;quot; projekti analüüsi [http://whatyoudidlastnightapp.blogspot.com/2013/11/retsentsioon.html retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Lingviinid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [[Meeskond Lingviinid]]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Johanna Mariah Kammiste&lt;br /&gt;
*Karin Lepik&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Olga Trikk&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Lingviinid&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Lingviinid retsensioon] - kirjutanud meeskond &amp;quot;TÜC&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;DenTnet&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristjan Oliver Kruus&lt;br /&gt;
*Rene Hollo&lt;br /&gt;
*Indrek Luts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Retsentsioonid:&amp;quot;]&lt;br /&gt;
Retsensioon meeskonnalt Lingviinid: [[DenTnet retsensioon]]&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;DenTnet&amp;quot; prototüübi [http://whatyoudidlastnightapp.blogspot.com/2013/12/retsensioon-meeskonna-meeskonna-dentnet.html retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==MeeskondX==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/MeeskondX wiki]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Henri Abel&lt;br /&gt;
*Eda Post&lt;br /&gt;
*Raudo Lepik&lt;br /&gt;
*Mart Naris&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;MeeskondX&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:MeeskondX retsensioon] meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;] ja meeskonnalt [https://wiki.itcollege.ee/index.php/WizERD &amp;quot;WizERD&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;pöial&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_%22p%C3%B6ial%22 &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Stenn Mäeots&lt;br /&gt;
* Priit Aarma&lt;br /&gt;
* Paul Niidas&lt;br /&gt;
* Kert Treikelder&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt ITK Life&lt;br /&gt;
*Meeskonna &amp;quot;pöial&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22p%C3%B6ial%22 retsensioon] meeskonnalt ITK Life&lt;br /&gt;
&lt;br /&gt;
==Meeskond Nimetud==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Nimetud &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jevgenia Motorenko&lt;br /&gt;
*Kentti Koppel&lt;br /&gt;
*Aare-Arnold Äkke&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Meeskonna &amp;quot;Rock Desk&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Rock_Desk retsensioon]&lt;br /&gt;
&lt;br /&gt;
Meeskonna &#039;&amp;quot;WizERD&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:WizERD retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;SI&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/SI &amp;quot;SI&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kert Kukk&lt;br /&gt;
*Roland Pukk&lt;br /&gt;
*Anti Meos&lt;br /&gt;
*Kristjan Adrat&lt;br /&gt;
====Retsensioon====&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:SI &amp;quot;Retsensioon&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;WizERD&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WizERD &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaspar Kallas (projektijuht)&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
*Rico Veskiväli&lt;br /&gt;
*Meelis-Marius Pinka&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Meeskonna &amp;quot;wizERD&amp;quot; prototüübi [https://wiki.itcollege.ee/index.php/Talk:WizERD#Protot.C3.BC.C3.BCbi_retsensioon_meeskonnalt_.22Nimetud.22 retsensioon] meeskonnalt pöial&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Lupardid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Lupardid &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Madis Männik (projektijuht)&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;GiftsForYou&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/GiftsForYou &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jevgeni Širai (projektijuht)&lt;br /&gt;
*Andre Padu&lt;br /&gt;
*Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;GiftsForYou&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:GiftsForYou retsensioonid]&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:MeeskondX&amp;diff=69907</id>
		<title>Talk:MeeskondX</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:MeeskondX&amp;diff=69907"/>
		<updated>2013-12-10T16:42:10Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Prototüübi retsensioon meeskonnalt [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MeeskondX&#039;&#039;&#039; on loonud prototüübi IRC-kliendist, mis töötab brauseri kaudu ning laseb muuhulgas valida ka kasutatavat brauserit kolme populaarsema seast.&lt;br /&gt;
Positiivse poole pealt peaks kohe mainima, et programm töötas ilma suuremate pingutustega. Sama ei saa öelda paljude teiste prototüüpide kohta, mis kas ei käivitunud üldse või tegid seda vigaselt.&lt;br /&gt;
&lt;br /&gt;
Tuumikfunktsionaalsus, mis on prototüübis olemas:&lt;br /&gt;
*saab valida serverit ning muid ühendumise parameetreid nagu &#039;&#039;nickname&#039;&#039;, kanal ning port, samuti     toimib keep-alive funktsionaalsus ehk brauseri akna sulgemisel ei logitud kasutajat kohe välja. Samas ei õnnestunud ka samasse kanalisse uuesti siseneda kuna väideti et &#039;&#039;nickname&#039;&#039; on juba kasutusel.&lt;br /&gt;
*saab saata ja vastu võtta tekstisõnumeid.&lt;br /&gt;
*saab vaadata, kes on kanalis online&lt;br /&gt;
*veebiliides&lt;br /&gt;
&lt;br /&gt;
Arvestades kirja pandud &#039;&#039;must have&#039;&#039; funktsionaalsuse nimekirja, oleksime oodanud natuke rohkem. Samas kõige põhilisem funktsionaalsus toimis. Tooks välja asju, mis ka häirisid:&lt;br /&gt;
*serveriga ühendumisel võiks näha, millised kanalid selles serveris eksisteerivad&lt;br /&gt;
*tekstiaken, kuhu kirjutada oli küllaltki väike&lt;br /&gt;
*kord juba sisse loginuna, ei olnud näha mingeid muid võimalusi peale väljalogimise, võiks olla tugi põhilistele IRC käskudele nagu nime vahetus, kanali vahetamine jms.&lt;br /&gt;
Koodis paistis, et osa projektist on automaatselt genereeritud, samuti oli näha suurt hulka javascripti faile. Kas olete kasutanud ka välist koodi ja mooduleid ning kui suures osas?&lt;br /&gt;
Üldjoontes on siiski tehtud ära tubli töö ning mis peamine - rakendus toimib. Loodame näha ka täiustatud lõppversiooni.&lt;br /&gt;
&lt;br /&gt;
==Prototüübi retsensioon meeskonnalt [https://wiki.itcollege.ee/index.php/WizERD &amp;quot;WizERD&amp;quot;]==&lt;br /&gt;
&lt;br /&gt;
MeeskondX on teinud veebilehitseja põhise IRC kliendi. Nõustudes eelneva retsensiooniga mainiks esmalt ära, et väga lihtsalt sai nende programmi tööle erinevalt enamust ülejäänutest projektidest.&lt;br /&gt;
&lt;br /&gt;
Must have funktsioonidest enamjaolt asjad töötavad. Meeldis, et asi näeb viisakas välja ja selle kasutamine lihtne. Samas võib-olla, et isegi liiga lihtne, kuna ainus mis otseselt teha sai oli väljalogimine ja sõnumite saatmine.&lt;br /&gt;
&lt;br /&gt;
Irc-i käsud(commandid) kajastatakse otse ning neid ei realiseerita(näitena, tekst mis peaks olema värvitud on segane ja ebavajalikku infot täis) samuti ei tule sisselogides läbi serveri enda käsud, näiteks serveri MOTD(message of the day)(ilmselt kuna tegemist serveripõhise infoga, ning hetkel pööratakse tähelepanu vaid kanalile). Samas väljaminevatest käskudest mõned realiseeruvad, toimis pingimine teise irc klienti, kuid samuti kajastus see tekstina.&lt;br /&gt;
&lt;br /&gt;
Eristuda võiksid privaatsõnumid tavalistest kanali sõnumitest, hetkel näevad sissetulevad privaatsõnumid samasugused välja. Lisafunktsioon millest kohe silma jäi, oli sisselogimine lihtsalt serverisse ja alles hiljem kanali valik. Teksti kirjutamise kast võiks olla suurem, ehk kasutada ära kogu alumist serva.&lt;br /&gt;
Mainiks veel ära, et kui veebilehiseja teha teatud suurusest kitsamaks, visatakse kasutajate nimekiri alla äärde.&lt;br /&gt;
&lt;br /&gt;
Tundub täieliku kritiseerimisena, kuid see seda ei ole. Programm huvitav ja lihtne kasutada, lisaks disain parem kui enamust IRCi klientides. Programm täidab ilusti oma eesmärki ning loodame, et lõplikus versioonis on veel palju huvitavaid funktsionaalsusi.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=68004</id>
		<title>Juhend: Kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (2013)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2013)&amp;diff=68004"/>
		<updated>2013-11-11T08:10:23Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kodutöö aines &amp;quot;Programmeerimine C# keeles&amp;quot;=&lt;br /&gt;
&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. &lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3-4 tudengit. Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).&lt;br /&gt;
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service&#039;it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com .&lt;br /&gt;
&lt;br /&gt;
==Tähtaegadest kinnipidamine==&lt;br /&gt;
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Maksimumpunktide saavutamiseks tuleb tähtajaks esitada töö, mis vastab püstitatud nõuetele. Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2013 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2013 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2013 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.&lt;br /&gt;
&lt;br /&gt;
===Meeskonna kokkupanek ja idee===&lt;br /&gt;
&#039;&#039;&#039;09.11.2013&#039;&#039;&#039; (2p)&lt;br /&gt;
&lt;br /&gt;
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb  kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Paari sõnaga peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav.&lt;br /&gt;
&lt;br /&gt;
===Analüüs===&lt;br /&gt;
&#039;&#039;&#039;16.11.2013&#039;&#039;&#039; (6p)&lt;br /&gt;
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.&#039;&#039;&#039;NB! Miinimum sõnade arv 700&#039;&#039;&#039; Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:&lt;br /&gt;
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 23.11.2013 (3p)&lt;br /&gt;
&lt;br /&gt;
===Prototüüp===&lt;br /&gt;
&#039;&#039;&#039;30.11.2013&#039;&#039;&#039;(10p)&lt;br /&gt;
&lt;br /&gt;
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada).  Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 07.12.2013(5p)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&#039;&#039;&#039;16.12.2013&#039;&#039;&#039;(20p)&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 05.01.2012(5p)&lt;br /&gt;
&lt;br /&gt;
===Esitlus/Kaitsmine=== &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Toimub loengutes/praktikumides&#039;&#039;&#039; &#039;&#039;(4p) &#039;&#039;&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks.  Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
====Kaitsmise ajad====&lt;br /&gt;
Siia ilmuvad kaitsmise ajad&lt;br /&gt;
&lt;br /&gt;
=Teemad 2013 sügis=&lt;br /&gt;
Kodutööna tuleb luua:&lt;br /&gt;
&lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
&lt;br /&gt;
==Tetris(XNA)==&lt;br /&gt;
==XoniX(XNA)==&lt;br /&gt;
&lt;br /&gt;
==Nõuded rakendusele==&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone 8, Windows 8 Store App või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
==Nõuded XNA projektile==&lt;br /&gt;
Loodav mäng peab sisaldama:&lt;br /&gt;
* Erinevaid tasemeid&lt;br /&gt;
* Punktiarvestust&lt;br /&gt;
* XBox puldi tuge&lt;br /&gt;
* Klaviatuurilt juhtimise tuge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea &#039;&#039;story&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Meeskonnad 2013=&lt;br /&gt;
==Meeskond &amp;quot;Ajarändurid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ajarändurid%22 &amp;quot;Ajarändurid&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Marten Jänt&lt;br /&gt;
*Joosep Taluväli&lt;br /&gt;
*Sandra Loho&lt;br /&gt;
*Ranno Maripuu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ajarändurid&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ajarändurid%22#Anal.C3.BC.C3.BCsi_retsensioon retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Rock Desk&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Rock_Desk &amp;quot;Rock Desk&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Stanislav Gorski&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Meeskondbrah&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskondbrah &amp;quot;Meeskondbrah&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Erling Tammisto&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Kaspar Jesse Tormis&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Ventilaator&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_%22Ventilaator%22 &amp;quot;Ventilaator&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tauri Metsoja&lt;br /&gt;
*Ahto Luuri&lt;br /&gt;
*Raul Prosso&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
*Meeskonna &amp;quot;Ventilaator&amp;quot; analüüsi [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ventilaator%22#Anal.C3.BC.C3.BCsi_retsensioon retsensioon]&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;TÜC&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/TÜC &amp;quot;TÜC&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed: Anna Carina Vainola, Ülle Tiitson, Tiit Teder&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;ITK Life&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_ITK_Life &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Siim Talvik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Kristo Kuiv&lt;br /&gt;
*Rauno Villberg&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;LastNight&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/Meeskond_Last_Night &amp;quot;LastNight&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Margus Birk&lt;br /&gt;
*Doris Hallmägi&lt;br /&gt;
*Andres Kalev&lt;br /&gt;
*Piia-Helin Oras&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;lt;span style=&amp;quot;font-size: 26px;&amp;quot;&amp;gt;&amp;quot;!&amp;quot;&amp;lt;/span&amp;gt;==&lt;br /&gt;
Meeskonna wikileht[https://wiki.itcollege.ee/index.php/Meeskond_%22!%22 !]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jander Lapmaa&lt;br /&gt;
*Fred Moritz&lt;br /&gt;
*Mihkel Ehrlich&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Lingviinid&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [[Meeskond Lingviinid]]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Johanna Mariah Kammiste&lt;br /&gt;
*Karin Lepik&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Olga Trikk&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;DenTnet&amp;quot;==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristjan Oliver Kruus&lt;br /&gt;
*Rene Hollo&lt;br /&gt;
*Indrek Luts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:_DenTnet &amp;quot;Retsentsioonid:&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==MeeskondX==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/MeeskondX wiki]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Henri Abel&lt;br /&gt;
*Eda Post&lt;br /&gt;
*Raudo Lepik&lt;br /&gt;
*Mart Naris&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;pöial&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_%22p%C3%B6ial%22 &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Stenn Mäeots&lt;br /&gt;
* Priit Aarma&lt;br /&gt;
* Paul Niidas&lt;br /&gt;
* Kert Treikelder&lt;br /&gt;
&lt;br /&gt;
==Meeskond Nimetud==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Nimetud &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Jevgenia Motorenko&lt;br /&gt;
*Kentti Koppel&lt;br /&gt;
*Aare-Arnold Äkke&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;SI&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/SI &amp;quot;SI&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kert Kukk&lt;br /&gt;
*Roland Pukk&lt;br /&gt;
*Anti Meos&lt;br /&gt;
*Kristjan Adrat&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;WizERD&amp;quot;==&lt;br /&gt;
Meeskonna wikileht: [https://wiki.itcollege.ee/index.php/WizERD &amp;quot;Meeskonna wikileht&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaspar Kallas (projektijuht)&lt;br /&gt;
*Raido Kivinurm&lt;br /&gt;
*Rico Veskiväli&lt;br /&gt;
*Meelis-Marius Pinka&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67137</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67137"/>
		<updated>2013-10-29T13:54:14Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Must have */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&#039;ile.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kandiliste olemite asemel ümmargused olemid, siis saab ilusamini ümber selle üle nelja suhte koostada.&amp;lt;br /&amp;gt;&lt;br /&gt;
Suhete &amp;quot;valgustamine&amp;quot; ehk kui liikuda mõne olemi peale, siis tooks esile selle vahetud suhted.&amp;lt;br /&amp;gt;&lt;br /&gt;
Lõpptulemuse visualiseerimine ehk vajutad nuppu ja siis programm näitab, milline see tabelite värk lõpus välja võiks näha.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Väike andmebaaside nuputamismäng, kus on ees olemid ja peab juhendi alusel olemite vahele õiged suhted panema, et andmebaas toimiks nagu juhendis kirjas.&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;amp; tööjaotus==&lt;br /&gt;
Kaspar Kallas&amp;lt;br /&amp;gt;&lt;br /&gt;
Raido Kivinurm&amp;lt;br /&amp;gt;&lt;br /&gt;
Rico Veskiväli&lt;br /&gt;
&lt;br /&gt;
==Analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
=(B)log=&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67136</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67136"/>
		<updated>2013-10-29T13:53:56Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&#039;ile.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kandiliste olemite asemel ümmargused olemid, siis saab ilusamini ümber selle üle nelja suhte koostada.&lt;br /&gt;
Suhete &amp;quot;valgustamine&amp;quot; ehk kui liikuda mõne olemi peale, siis tooks esile selle vahetud suhted.&lt;br /&gt;
Lõpptulemuse visualiseerimine ehk vajutad nuppu ja siis programm näitab, milline see tabelite värk lõpus välja võiks näha.&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Väike andmebaaside nuputamismäng, kus on ees olemid ja peab juhendi alusel olemite vahele õiged suhted panema, et andmebaas toimiks nagu juhendis kirjas.&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;amp; tööjaotus==&lt;br /&gt;
Kaspar Kallas&amp;lt;br /&amp;gt;&lt;br /&gt;
Raido Kivinurm&amp;lt;br /&amp;gt;&lt;br /&gt;
Rico Veskiväli&lt;br /&gt;
&lt;br /&gt;
==Analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
=(B)log=&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67135</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67135"/>
		<updated>2013-10-29T13:53:38Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Meeskond &amp;amp; tööjaotus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&#039;ile.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kandiliste olemite asemel ümmargused olemid, siis saab ilusamini ümber selle üle nelja suhte koostada.&lt;br /&gt;
Suhete &amp;quot;valgustamine&amp;quot; ehk kui liikuda mõne olemi peale, siis tooks esile selle vahetud suhted.&lt;br /&gt;
Lõpptulemuse visualiseerimine ehk vajutad nuppu ja siis programm näitab, milline see tabelite värk lõpus välja võiks näha.&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Väike andmebaaside nuputamismäng, kus on ees olemid ja peab juhendi alusel olemite vahele õiged suhted panema, et andmebaas toimiks nagu juhendis kirjas.&lt;br /&gt;
&lt;br /&gt;
=Meeskond &amp;amp; tööjaotus=&lt;br /&gt;
Kaspar Kallas&amp;lt;br /&amp;gt;&lt;br /&gt;
Raido Kivinurm&amp;lt;br /&amp;gt;&lt;br /&gt;
Rico Veskiväli&lt;br /&gt;
&lt;br /&gt;
==Analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
=(B)log=&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67134</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67134"/>
		<updated>2013-10-29T13:52:14Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&#039;ile.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kandiliste olemite asemel ümmargused olemid, siis saab ilusamini ümber selle üle nelja suhte koostada.&lt;br /&gt;
Suhete &amp;quot;valgustamine&amp;quot; ehk kui liikuda mõne olemi peale, siis tooks esile selle vahetud suhted.&lt;br /&gt;
Lõpptulemuse visualiseerimine ehk vajutad nuppu ja siis programm näitab, milline see tabelite värk lõpus välja võiks näha.&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Väike andmebaaside nuputamismäng, kus on ees olemid ja peab juhendi alusel olemite vahele õiged suhted panema, et andmebaas toimiks nagu juhendis kirjas.&lt;br /&gt;
&lt;br /&gt;
=Meeskond &amp;amp; tööjaotus=&lt;br /&gt;
Kaspar Kallas&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
Rico Veskiväli&lt;br /&gt;
&lt;br /&gt;
==Analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
=(B)log=&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67133</id>
		<title>WizERD</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=WizERD&amp;diff=67133"/>
		<updated>2013-10-29T13:51:44Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: Created page with &amp;quot;Category: Programmeerimine CSharp keeles  =Kirjeldus= ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&amp;#039;i…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
=Kirjeldus=&lt;br /&gt;
ERD (Entity–relationship diagrams) mudelite koostamise tarkvara. Alternatiiv hetkel kasutusel olevale QSEE-Superlite&#039;ile.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kandiliste olemite asemel ümmargused olemid, siis saab ilusamini ümber selle üle nelja suhte koostada.&lt;br /&gt;
Suhete &amp;quot;valgustamine&amp;quot; ehk kui liikuda mõne olemi peale, siis tooks esile selle vahetud suhted.&lt;br /&gt;
Lõpptulemuse visualiseerimine ehk vajutad nuppu ja siis programm näitab, milline see tabelite värk lõpus välja võiks näha.&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Väike andmebaaside nuputamismäng, kus on ees olemid ja peab juhendi alusel olemite vahele õiged suhted panema, et andmebaas toimiks nagu juhendis kirjas.&lt;br /&gt;
&lt;br /&gt;
=Meeskond &amp;amp; tööjaotus=&lt;br /&gt;
Kaspar Kallas&lt;br /&gt;
Raido Kivinurm&lt;br /&gt;
Rico Veskiväli&lt;br /&gt;
&lt;br /&gt;
==Analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
=(B)log=&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54851</id>
		<title>User:Rkivinur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54851"/>
		<updated>2012-10-30T22:17:57Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Erialatutvustus 2012]] &lt;br /&gt;
=Erialatutvustuse aine arvestustöö=&lt;br /&gt;
Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 31. oktoober 2012&lt;br /&gt;
&lt;br /&gt;
==Essee==&lt;br /&gt;
&lt;br /&gt;
Loengutest enim pakkusid huvi kui kutsutud külalised rääkisid julgelt oma tööst ja isiklikest kogemustest kuidas nad oma õpinguid läbi viisid ning edasi karjääri on teinud. Nende kaudu sai palju targemaks mis mind, kui IT tudengit, tulevasel tööturul ees ootab. Lisaks ka mis valikuid praegu teha, et tulevikus jõuda sinna kuhu ise soovid. Kahjuks aga loengute kvaliteet kõikus nii, et mõni teema ei olnud väga kuulatav. &amp;lt;br&amp;gt;&lt;br /&gt;
Õppeaine algas väga paljutõotavalt Skype helpdeski tutvustusega Peeter Uustal ja Peeter Raielo poolt, huvitav oli kuulata võimalusi tulevikus selles valdkonnas, jutt oli neil väga konkreetne. Mehed rääkisid väga avalikult oma töödest ja tegemistest, ametisaladused jäeti muidugi endateada. Kasulik informatsioon, mida oma ettekannetes vaid mõni üksik külaline mainis oli IT töölise palk. &amp;lt;br&amp;gt;&lt;br /&gt;
Ilmselgelt nais-soost IT õppuritele mõeldud loengus Janika Liiva poolt pidin kahjuks pettuma. Pealkirjast ning sisust võis oodata vägagi sisukat juttu kuid millegi taha jäi asi kinni, võis olla viga minus, et polnudki minusugusele kuulajale suunatud. Sellest hoolimata meeldis mulle tema programmeerimise propageerimine ning seda mitte ainult naiste seas, ning vaatenurk, et  programmide kirjutamine hoopis loovkirjutamine. &amp;lt;br&amp;gt;&lt;br /&gt;
Andres Septeri loengust minu jaoks väga palju teadmiseks polnudki midagi võtta, kuid ka see loeng ei läinud täitsa kõrvust mööda. Tema poolt tood välja huvitav võrdlus infotehnoloogia äris, kus ühel pool on äritegijad, niiöelda pintsaklipslased, ja teiselt poolt IT töötajad. Tihtipeale äripoolel vaadatakse alla IT tegijatele kuid viimasel ajal on see muutumas ja äri tegijad on aru saanud, et raha ei tule ilma teise pooleta sisse. Mitte kõige huvitavamate loengute hulka kuulus ka Kristjan Karmo hommik testimise ning tarkvarakvaliteedi kohta kahjuks ei suutnud sealt enda jaoks midagi vajalikku kirja saada, ning ei oska seda lähemalt lahata. &amp;lt;br&amp;gt;&lt;br /&gt;
„Karma“ loeng vaatas asja teise nurga alt nimelt, kuidas on võimalik tööd leida ning teha kõrgema diplomita antud vallas. Martin Paljak kes on aastaid elatunud töötades antud valdkonnas ja seda mitte halvasti. Sai palju teada kui palju tegelikult mõjutavad töökogemused tööturul ning vabakutselise positiivseid ja negatiivseid pooli. Ühelt poolt teed tööd siis kui ise soovid ja kus tahad, piiranguks vaid kliendi poolt etteantud tähtajad. Teiselt, halvemalt poolt, ei või kunagi kindel olla millal saad oma palga või kas järgneval kuul üldse tööd on mida teha. Tema juttu oli huvitav kuulata kuna oli näha, et oli elukogenud inimesega ning rääkis puhtalt enda kogemustest, mis aitab igaühel valida oma tulevast eluteed. &amp;lt;br&amp;gt;&lt;br /&gt;
Ignite esinemine tõi natuke vaheldust puhtalt loengutele, tehti midagi uut ja pandi tudengid kaasa mõtlema ning tegutsema. Eluliste katse ja harjutustega näidati kuidas meeskonnatöö aitab töö tulemusteni. Hea näitena toodi küsimus Mount Everesti kohta ning IT Kolledži ja Vabaduse väljaku vahemaaga, vaid mõni üksik teadis tegelikku vastust, kuid see eest terve saali peale saadi kätte üpriski täpne vastu. Dea Oja jutt Ignite kohta tundus kuiv ja tuim mahaloetud tekst mis ei haaranud eriti kuulama, sellest vaatamata suutsid ülejäänud mehed aja huvitavalt ära sisustada. &amp;lt;br&amp;gt;&lt;br /&gt;
Kokkuvõtteks neljapäeva hommikupoolikud olid kasulikult sisustatud, ei tekkinud soovi und pikemaks venitada teemad meeldisid kõik ning enamus esinemistest olid tõsiselt huvitavad. Samuti oleksin oodanud nii mõnestki loengust enamat kui esinejad suutsid pakkuda. Enda soovituselt, et asja paremaks muuta võiks kutsuda enam erinevate taustadega külalisi, mitte lihtsalt meie kooli lõpetajaid.&lt;br /&gt;
&lt;br /&gt;
==Õpingukorralduse küsimused==&lt;br /&gt;
&lt;br /&gt;
===Küsimus B===&lt;br /&gt;
&lt;br /&gt;
Kukkusid eksamil läbi. Kuidas edasi? Kaua on võimalik eksamit teha? Kellega kokkuleppida, et eksamit teha? Kuidas toimub järeleksamile registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?&lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Võimalik on esitada apellatsioon eksami hinde kohta aga kui see ei rahuldata ja tuleb teha kordussooritus, meeles pidades, et võimalik on teha kuni 2 kordussooritust. Korduseksamit on võimalik teha kahe semestri jooksul pärast aine õpetamissemestri lõppu. Korduseksamile minekuks on vaja kokku leppida vastava aine õppejõuga. Sellele registreerumine toimub õppeosakonnas, REV kohtadel õppivad tudengid peavad kaasa võtma väljatrükitud maksekviitungi kordusoorituse tasu kohta. Soovi korral on võimalik ka registreerida e-posti teel digitaalselt allkirjastatud avaldusega. Eksamile peab olema registreeritud ja tasutud kordussoorituse tasu (REV tudengil) hiljemalt üle-eelmise tööpäeva lõpuks eksami toimumise päevast. Korduseksamid ja on tasulised ainult riigieelarvevälistel tudengitel. Tasu on määratud rektori käskkirjaga ning hetkel on selleks 14,2€.&lt;br /&gt;
&lt;br /&gt;
===Küsimus 3===&lt;br /&gt;
&lt;br /&gt;
Millised võimalused on minna akadeemilisele puhkusele esimesel õppeaastal? Mis tegevused tuleb selleks teha? Kui pikk on maksimaalne puhkuse aeg? Kuidas toimub puhkuse lõpetamine? Kas puhkuse ajal saab deklareerida õppeaineid? Kas saab teha järele eksameid ja arvestusi? &lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Akadeemilisele puhkusele esimesel õppeaastal on võimalik minna kolmel juhul: Tervislikel põhjustel, Eesti kaitsejõududesse teenima asumisel või lapse hooldamiseks. Akadeemilist puhkust ja selle katkestamist taotletakse avaldusega rektori nimele. Tervislikel põhjustel on vaja juurde lisada meditsiiniasutuse tõend, kus peab olema märgitud akadeemilise puhkuse soovitus ja selle soovitatav pikkus. Kaitsejõududesse siirdumisel tuleb lisada kutse kaitseväe tegevteenistusse. Lapse hooldamisele minekuks tuleb lisada lapse sünnitunnistus. Maksimaalne akadeemilise puhkuse aeg on erinev: Eesti kaitsejõududesse teenima asumisel kuni üks aasta, tervislikel põhjustel kuni kaks aastat ning lapse hooldamisel kuni lapse kolme aastaseks saamiseni. Puhkuse ajal saab deklareerida aineid ainult tudeng kes on puhkusel lapse hooldamiseks, sel puhul on vaja teha kirjalik taotlus õppeosakonda ning seda mitte hiljem kui semestri punase joone päev. Akadeemilise puhkuse ajal on lubatud sooritada arvestusi ja eksameid kõikidel puhkusel viibivatel tudengitel.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54850</id>
		<title>User:Rkivinur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54850"/>
		<updated>2012-10-30T22:17:26Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: /* Essee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Erialatutvustus 2012]] &lt;br /&gt;
=Erialatutvustuse aine arvestustöö=&lt;br /&gt;
Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 5. oktoober 2012&lt;br /&gt;
&lt;br /&gt;
==Essee==&lt;br /&gt;
&lt;br /&gt;
Loengutest enim pakkusid huvi kui kutsutud külalised rääkisid julgelt oma tööst ja isiklikest kogemustest kuidas nad oma õpinguid läbi viisid ning edasi karjääri on teinud. Nende kaudu sai palju targemaks mis mind, kui IT tudengit, tulevasel tööturul ees ootab. Lisaks ka mis valikuid praegu teha, et tulevikus jõuda sinna kuhu ise soovid. Kahjuks aga loengute kvaliteet kõikus nii, et mõni teema ei olnud väga kuulatav. &amp;lt;br&amp;gt;&lt;br /&gt;
Õppeaine algas väga paljutõotavalt Skype helpdeski tutvustusega Peeter Uustal ja Peeter Raielo poolt, huvitav oli kuulata võimalusi tulevikus selles valdkonnas, jutt oli neil väga konkreetne. Mehed rääkisid väga avalikult oma töödest ja tegemistest, ametisaladused jäeti muidugi endateada. Kasulik informatsioon, mida oma ettekannetes vaid mõni üksik külaline mainis oli IT töölise palk. &amp;lt;br&amp;gt;&lt;br /&gt;
Ilmselgelt nais-soost IT õppuritele mõeldud loengus Janika Liiva poolt pidin kahjuks pettuma. Pealkirjast ning sisust võis oodata vägagi sisukat juttu kuid millegi taha jäi asi kinni, võis olla viga minus, et polnudki minusugusele kuulajale suunatud. Sellest hoolimata meeldis mulle tema programmeerimise propageerimine ning seda mitte ainult naiste seas, ning vaatenurk, et  programmide kirjutamine hoopis loovkirjutamine. &amp;lt;br&amp;gt;&lt;br /&gt;
Andres Septeri loengust minu jaoks väga palju teadmiseks polnudki midagi võtta, kuid ka see loeng ei läinud täitsa kõrvust mööda. Tema poolt tood välja huvitav võrdlus infotehnoloogia äris, kus ühel pool on äritegijad, niiöelda pintsaklipslased, ja teiselt poolt IT töötajad. Tihtipeale äripoolel vaadatakse alla IT tegijatele kuid viimasel ajal on see muutumas ja äri tegijad on aru saanud, et raha ei tule ilma teise pooleta sisse. Mitte kõige huvitavamate loengute hulka kuulus ka Kristjan Karmo hommik testimise ning tarkvarakvaliteedi kohta kahjuks ei suutnud sealt enda jaoks midagi vajalikku kirja saada, ning ei oska seda lähemalt lahata. &amp;lt;br&amp;gt;&lt;br /&gt;
„Karma“ loeng vaatas asja teise nurga alt nimelt, kuidas on võimalik tööd leida ning teha kõrgema diplomita antud vallas. Martin Paljak kes on aastaid elatunud töötades antud valdkonnas ja seda mitte halvasti. Sai palju teada kui palju tegelikult mõjutavad töökogemused tööturul ning vabakutselise positiivseid ja negatiivseid pooli. Ühelt poolt teed tööd siis kui ise soovid ja kus tahad, piiranguks vaid kliendi poolt etteantud tähtajad. Teiselt, halvemalt poolt, ei või kunagi kindel olla millal saad oma palga või kas järgneval kuul üldse tööd on mida teha. Tema juttu oli huvitav kuulata kuna oli näha, et oli elukogenud inimesega ning rääkis puhtalt enda kogemustest, mis aitab igaühel valida oma tulevast eluteed. &amp;lt;br&amp;gt;&lt;br /&gt;
Ignite esinemine tõi natuke vaheldust puhtalt loengutele, tehti midagi uut ja pandi tudengid kaasa mõtlema ning tegutsema. Eluliste katse ja harjutustega näidati kuidas meeskonnatöö aitab töö tulemusteni. Hea näitena toodi küsimus Mount Everesti kohta ning IT Kolledži ja Vabaduse väljaku vahemaaga, vaid mõni üksik teadis tegelikku vastust, kuid see eest terve saali peale saadi kätte üpriski täpne vastu. Dea Oja jutt Ignite kohta tundus kuiv ja tuim mahaloetud tekst mis ei haaranud eriti kuulama, sellest vaatamata suutsid ülejäänud mehed aja huvitavalt ära sisustada. &amp;lt;br&amp;gt;&lt;br /&gt;
Kokkuvõtteks neljapäeva hommikupoolikud olid kasulikult sisustatud, ei tekkinud soovi und pikemaks venitada teemad meeldisid kõik ning enamus esinemistest olid tõsiselt huvitavad. Samuti oleksin oodanud nii mõnestki loengust enamat kui esinejad suutsid pakkuda. Enda soovituselt, et asja paremaks muuta võiks kutsuda enam erinevate taustadega külalisi, mitte lihtsalt meie kooli lõpetajaid.&lt;br /&gt;
&lt;br /&gt;
==Õpingukorralduse küsimused==&lt;br /&gt;
&lt;br /&gt;
===Küsimus B===&lt;br /&gt;
&lt;br /&gt;
Kukkusid eksamil läbi. Kuidas edasi? Kaua on võimalik eksamit teha? Kellega kokkuleppida, et eksamit teha? Kuidas toimub järeleksamile registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?&lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Võimalik on esitada apellatsioon eksami hinde kohta aga kui see ei rahuldata ja tuleb teha kordussooritus, meeles pidades, et võimalik on teha kuni 2 kordussooritust. Korduseksamit on võimalik teha kahe semestri jooksul pärast aine õpetamissemestri lõppu. Korduseksamile minekuks on vaja kokku leppida vastava aine õppejõuga. Sellele registreerumine toimub õppeosakonnas, REV kohtadel õppivad tudengid peavad kaasa võtma väljatrükitud maksekviitungi kordusoorituse tasu kohta. Soovi korral on võimalik ka registreerida e-posti teel digitaalselt allkirjastatud avaldusega. Eksamile peab olema registreeritud ja tasutud kordussoorituse tasu (REV tudengil) hiljemalt üle-eelmise tööpäeva lõpuks eksami toimumise päevast. Korduseksamid ja on tasulised ainult riigieelarvevälistel tudengitel. Tasu on määratud rektori käskkirjaga ning hetkel on selleks 14,2€.&lt;br /&gt;
&lt;br /&gt;
===Küsimus 3===&lt;br /&gt;
&lt;br /&gt;
Millised võimalused on minna akadeemilisele puhkusele esimesel õppeaastal? Mis tegevused tuleb selleks teha? Kui pikk on maksimaalne puhkuse aeg? Kuidas toimub puhkuse lõpetamine? Kas puhkuse ajal saab deklareerida õppeaineid? Kas saab teha järele eksameid ja arvestusi? &lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Akadeemilisele puhkusele esimesel õppeaastal on võimalik minna kolmel juhul: Tervislikel põhjustel, Eesti kaitsejõududesse teenima asumisel või lapse hooldamiseks. Akadeemilist puhkust ja selle katkestamist taotletakse avaldusega rektori nimele. Tervislikel põhjustel on vaja juurde lisada meditsiiniasutuse tõend, kus peab olema märgitud akadeemilise puhkuse soovitus ja selle soovitatav pikkus. Kaitsejõududesse siirdumisel tuleb lisada kutse kaitseväe tegevteenistusse. Lapse hooldamisele minekuks tuleb lisada lapse sünnitunnistus. Maksimaalne akadeemilise puhkuse aeg on erinev: Eesti kaitsejõududesse teenima asumisel kuni üks aasta, tervislikel põhjustel kuni kaks aastat ning lapse hooldamisel kuni lapse kolme aastaseks saamiseni. Puhkuse ajal saab deklareerida aineid ainult tudeng kes on puhkusel lapse hooldamiseks, sel puhul on vaja teha kirjalik taotlus õppeosakonda ning seda mitte hiljem kui semestri punase joone päev. Akadeemilise puhkuse ajal on lubatud sooritada arvestusi ja eksameid kõikidel puhkusel viibivatel tudengitel.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54842</id>
		<title>User:Rkivinur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=54842"/>
		<updated>2012-10-30T22:15:03Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Erialatutvustus 2012]] &lt;br /&gt;
=Erialatutvustuse aine arvestustöö=&lt;br /&gt;
Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 5. oktoober 2012&lt;br /&gt;
&lt;br /&gt;
==Essee==&lt;br /&gt;
&lt;br /&gt;
Loengutest enim pakkusid huvi kui kutsutud külalised rääkisid julgelt oma tööst ja isiklikest kogemustest kuidas nad oma õpinguid läbi viisid ning edasi karjääri on teinud. Nende kaudu sai palju targemaks mis mind, kui IT tudengit, tulevasel tööturul ees ootab. Lisaks ka mis valikuid praegu teha, et tulevikus jõuda sinna kuhu ise soovid. Kahjuks aga loengute kvaliteet kõikus nii, et mõni teema ei olnud väga kuulatav.&lt;br /&gt;
Õppeaine algas väga paljutõotavalt Skype helpdeski tutvustusega Peeter Uustal ja Peeter Raielo poolt, huvitav oli kuulata võimalusi tulevikus selles valdkonnas, jutt oli neil väga konkreetne. Mehed rääkisid väga avalikult oma töödest ja tegemistest, ametisaladused jäeti muidugi endateada. Kasulik informatsioon, mida oma ettekannetes vaid mõni üksik külaline mainis oli IT töölise palk.&lt;br /&gt;
Ilmselgelt nais-soost IT õppuritele mõeldud loengus Janika Liiva poolt pidin kahjuks pettuma. Pealkirjast ning sisust võis oodata vägagi sisukat juttu kuid millegi taha jäi asi kinni, võis olla viga minus, et polnudki minusugusele kuulajale suunatud. Sellest hoolimata meeldis mulle tema programmeerimise propageerimine ning seda mitte ainult naiste seas, ning vaatenurk, et  programmide kirjutamine hoopis loovkirjutamine.&lt;br /&gt;
Andres Septeri loengust minu jaoks väga palju teadmiseks polnudki midagi võtta, kuid ka see loeng ei läinud täitsa kõrvust mööda. Tema poolt tood välja huvitav võrdlus infotehnoloogia äris, kus ühel pool on äritegijad, niiöelda pintsaklipslased, ja teiselt poolt IT töötajad. Tihtipeale äripoolel vaadatakse alla IT tegijatele kuid viimasel ajal on see muutumas ja äri tegijad on aru saanud, et raha ei tule ilma teise pooleta sisse. Mitte kõige huvitavamate loengute hulka kuulus ka Kristjan Karmo hommik testimise ning tarkvarakvaliteedi kohta kahjuks ei suutnud sealt enda jaoks midagi vajalikku kirja saada, ning ei oska seda lähemalt lahata.&lt;br /&gt;
„Karma“ loeng vaatas asja teise nurga alt nimelt, kuidas on võimalik tööd leida ning teha kõrgema diplomita antud vallas. Martin Paljak kes on aastaid elatunud töötades antud valdkonnas ja seda mitte halvasti. Sai palju teada kui palju tegelikult mõjutavad töökogemused tööturul ning vabakutselise positiivseid ja negatiivseid pooli. Ühelt poolt teed tööd siis kui ise soovid ja kus tahad, piiranguks vaid kliendi poolt etteantud tähtajad. Teiselt, halvemalt poolt, ei või kunagi kindel olla millal saad oma palga või kas järgneval kuul üldse tööd on mida teha. Tema juttu oli huvitav kuulata kuna oli näha, et oli elukogenud inimesega ning rääkis puhtalt enda kogemustest, mis aitab igaühel valida oma tulevast eluteed.&lt;br /&gt;
Ignite esinemine tõi natuke vaheldust puhtalt loengutele, tehti midagi uut ja pandi tudengid kaasa mõtlema ning tegutsema. Eluliste katse ja harjutustega näidati kuidas meeskonnatöö aitab töö tulemusteni. Hea näitena toodi küsimus Mount Everesti kohta ning IT Kolledži ja Vabaduse väljaku vahemaaga, vaid mõni üksik teadis tegelikku vastust, kuid see eest terve saali peale saadi kätte üpriski täpne vastu. Dea Oja jutt Ignite kohta tundus kuiv ja tuim mahaloetud tekst mis ei haaranud eriti kuulama, sellest vaatamata suutsid ülejäänud mehed aja huvitavalt ära sisustada.&lt;br /&gt;
Kokkuvõtteks neljapäeva hommikupoolikud olid kasulikult sisustatud, ei tekkinud soovi und pikemaks venitada teemad meeldisid kõik ning enamus esinemistest olid tõsiselt huvitavad. Samuti oleksin oodanud nii mõnestki loengust enamat kui esinejad suutsid pakkuda. Enda soovituselt, et asja paremaks muuta võiks kutsuda enam erinevate taustadega külalisi, mitte lihtsalt meie kooli lõpetajaid. &lt;br /&gt;
&lt;br /&gt;
==Õpingukorralduse küsimused==&lt;br /&gt;
&lt;br /&gt;
===Küsimus B===&lt;br /&gt;
&lt;br /&gt;
Kukkusid eksamil läbi. Kuidas edasi? Kaua on võimalik eksamit teha? Kellega kokkuleppida, et eksamit teha? Kuidas toimub järeleksamile registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?&lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Võimalik on esitada apellatsioon eksami hinde kohta aga kui see ei rahuldata ja tuleb teha kordussooritus, meeles pidades, et võimalik on teha kuni 2 kordussooritust. Korduseksamit on võimalik teha kahe semestri jooksul pärast aine õpetamissemestri lõppu. Korduseksamile minekuks on vaja kokku leppida vastava aine õppejõuga. Sellele registreerumine toimub õppeosakonnas, REV kohtadel õppivad tudengid peavad kaasa võtma väljatrükitud maksekviitungi kordusoorituse tasu kohta. Soovi korral on võimalik ka registreerida e-posti teel digitaalselt allkirjastatud avaldusega. Eksamile peab olema registreeritud ja tasutud kordussoorituse tasu (REV tudengil) hiljemalt üle-eelmise tööpäeva lõpuks eksami toimumise päevast. Korduseksamid ja on tasulised ainult riigieelarvevälistel tudengitel. Tasu on määratud rektori käskkirjaga ning hetkel on selleks 14,2€.&lt;br /&gt;
&lt;br /&gt;
===Küsimus 3===&lt;br /&gt;
&lt;br /&gt;
Millised võimalused on minna akadeemilisele puhkusele esimesel õppeaastal? Mis tegevused tuleb selleks teha? Kui pikk on maksimaalne puhkuse aeg? Kuidas toimub puhkuse lõpetamine? Kas puhkuse ajal saab deklareerida õppeaineid? Kas saab teha järele eksameid ja arvestusi? &lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Akadeemilisele puhkusele esimesel õppeaastal on võimalik minna kolmel juhul: Tervislikel põhjustel, Eesti kaitsejõududesse teenima asumisel või lapse hooldamiseks. Akadeemilist puhkust ja selle katkestamist taotletakse avaldusega rektori nimele. Tervislikel põhjustel on vaja juurde lisada meditsiiniasutuse tõend, kus peab olema märgitud akadeemilise puhkuse soovitus ja selle soovitatav pikkus. Kaitsejõududesse siirdumisel tuleb lisada kutse kaitseväe tegevteenistusse. Lapse hooldamisele minekuks tuleb lisada lapse sünnitunnistus. Maksimaalne akadeemilise puhkuse aeg on erinev: Eesti kaitsejõududesse teenima asumisel kuni üks aasta, tervislikel põhjustel kuni kaks aastat ning lapse hooldamisel kuni lapse kolme aastaseks saamiseni. Puhkuse ajal saab deklareerida aineid ainult tudeng kes on puhkusel lapse hooldamiseks, sel puhul on vaja teha kirjalik taotlus õppeosakonda ning seda mitte hiljem kui semestri punase joone päev. Akadeemilise puhkuse ajal on lubatud sooritada arvestusi ja eksameid kõikidel puhkusel viibivatel tudengitel.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=52069</id>
		<title>User:Rkivinur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=52069"/>
		<updated>2012-10-05T07:55:33Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Erialatutvustus 2012]] &lt;br /&gt;
=Erialatutvustuse aine arvestustöö=&lt;br /&gt;
Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 5. oktoober 2012&lt;br /&gt;
&lt;br /&gt;
==Essee==&lt;br /&gt;
&lt;br /&gt;
Siia tuleb essee tekst.&lt;br /&gt;
&lt;br /&gt;
==Õpingukorralduse küsimused==&lt;br /&gt;
&lt;br /&gt;
===Küsimus B===&lt;br /&gt;
&lt;br /&gt;
Kukkusid eksamil läbi. Kuidas edasi? Kaua on võimalik eksamit teha? Kellega kokkuleppida, et eksamit teha? Kuidas toimub järeleksamile registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?&lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Võimalik on esitada apellatsioon eksami hinde kohta aga kui see ei rahuldata ja tuleb teha kordussooritus, meeles pidades, et võimalik on teha kuni 2 kordussooritust. Korduseksamit on võimalik teha kahe semestri jooksul pärast aine õpetamissemestri lõppu. Korduseksamile minekuks on vaja kokku leppida vastava aine õppejõuga. Sellele registreerumine toimub õppeosakonnas, REV kohtadel õppivad tudengid peavad kaasa võtma väljatrükitud maksekviitungi kordusoorituse tasu kohta. Soovi korral on võimalik ka registreerida e-posti teel digitaalselt allkirjastatud avaldusega. Eksamile peab olema registreeritud ja tasutud kordussoorituse tasu (REV tudengil) hiljemalt üle-eelmise tööpäeva lõpuks eksami toimumise päevast. Korduseksamid ja on tasulised ainult riigieelarvevälistel tudengitel. Tasu on määratud rektori käskkirjaga ning hetkel on selleks 14,2€.&lt;br /&gt;
&lt;br /&gt;
===Küsimus 3===&lt;br /&gt;
&lt;br /&gt;
Millised võimalused on minna akadeemilisele puhkusele esimesel õppeaastal? Mis tegevused tuleb selleks teha? Kui pikk on maksimaalne puhkuse aeg? Kuidas toimub puhkuse lõpetamine? Kas puhkuse ajal saab deklareerida õppeaineid? Kas saab teha järele eksameid ja arvestusi? &lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Akadeemilisele puhkusele esimesel õppeaastal on võimalik minna kolmel juhul: Tervislikel põhjustel, Eesti kaitsejõududesse teenima asumisel või lapse hooldamiseks. Akadeemilist puhkust ja selle katkestamist taotletakse avaldusega rektori nimele. Tervislikel põhjustel on vaja juurde lisada meditsiiniasutuse tõend, kus peab olema märgitud akadeemilise puhkuse soovitus ja selle soovitatav pikkus. Kaitsejõududesse siirdumisel tuleb lisada kutse kaitseväe tegevteenistusse. Lapse hooldamisele minekuks tuleb lisada lapse sünnitunnistus. Maksimaalne akadeemilise puhkuse aeg on erinev: Eesti kaitsejõududesse teenima asumisel kuni üks aasta, tervislikel põhjustel kuni kaks aastat ning lapse hooldamisel kuni lapse kolme aastaseks saamiseni. Puhkuse ajal saab deklareerida aineid ainult tudeng kes on puhkusel lapse hooldamiseks, sel puhul on vaja teha kirjalik taotlus õppeosakonda ning seda mitte hiljem kui semestri punase joone päev. Akadeemilise puhkuse ajal on lubatud sooritada arvestusi ja eksameid kõikidel puhkusel viibivatel tudengitel.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=52068</id>
		<title>User:Rkivinur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Rkivinur&amp;diff=52068"/>
		<updated>2012-10-05T07:53:50Z</updated>

		<summary type="html">&lt;p&gt;Rkivinur: Created page with &amp;#039;=Erialatutvustuse aine arvestustöö= Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 5. oktoober 2012  ==Essee==  Siia tuleb essee tekst.  ==Õpingukorralduse küsimused==  ===Kü…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Erialatutvustuse aine arvestustöö=&lt;br /&gt;
Autor: Raido Kivinurm &amp;lt;br&amp;gt;Esitamise kuupäev: 5. oktoober 2012&lt;br /&gt;
&lt;br /&gt;
==Essee==&lt;br /&gt;
&lt;br /&gt;
Siia tuleb essee tekst.&lt;br /&gt;
&lt;br /&gt;
==Õpingukorralduse küsimused==&lt;br /&gt;
&lt;br /&gt;
===Küsimus B===&lt;br /&gt;
&lt;br /&gt;
Kukkusid eksamil läbi. Kuidas edasi? Kaua on võimalik eksamit teha? Kellega kokkuleppida, et eksamit teha? Kuidas toimub järeleksamile registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?&lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Võimalik on esitada apellatsioon eksami hinde kohta aga kui see ei rahuldata ja tuleb teha kordussooritus, meeles pidades, et võimalik on teha kuni 2 kordussooritust. Korduseksamit on võimalik teha kahe semestri jooksul pärast aine õpetamissemestri lõppu. Korduseksamile minekuks on vaja kokku leppida vastava aine õppejõuga. Sellele registreerumine toimub õppeosakonnas, REV kohtadel õppivad tudengid peavad kaasa võtma väljatrükitud maksekviitungi kordusoorituse tasu kohta. Soovi korral on võimalik ka registreerida e-posti teel digitaalselt allkirjastatud avaldusega. Eksamile peab olema registreeritud ja tasutud kordussoorituse tasu (REV tudengil) hiljemalt üle-eelmise tööpäeva lõpuks eksami toimumise päevast. Korduseksamid ja on tasulised ainult riigieelarvevälistel tudengitel. Tasu on määratud rektori käskkirjaga ning hetkel on selleks 14,2€.&lt;br /&gt;
&lt;br /&gt;
===Küsimus 3===&lt;br /&gt;
&lt;br /&gt;
Millised võimalused on minna akadeemilisele puhkusele esimesel õppeaastal? Mis tegevused tuleb selleks teha? Kui pikk on maksimaalne puhkuse aeg? Kuidas toimub puhkuse lõpetamine? Kas puhkuse ajal saab deklareerida õppeaineid? Kas saab teha järele eksameid ja arvestusi? &lt;br /&gt;
&lt;br /&gt;
===Vastus===&lt;br /&gt;
&lt;br /&gt;
Akadeemilisele puhkusele esimesel õppeaastal on võimalik minna kolmel juhul: Tervislikel põhjustel, Eesti kaitsejõududesse teenima asumisel või lapse hooldamiseks. Akadeemilist puhkust ja selle katkestamist taotletakse avaldusega rektori nimele. Tervislikel põhjustel on vaja juurde lisada meditsiiniasutuse tõend, kus peab olema märgitud akadeemilise puhkuse soovitus ja selle soovitatav pikkus. Kaitsejõududesse siirdumisel tuleb lisada kutse kaitseväe tegevteenistusse. Lapse hooldamisele minekuks tuleb lisada lapse sünnitunnistus. Maksimaalne akadeemilise puhkuse aeg on erinev: Eesti kaitsejõududesse teenima asumisel kuni üks aasta, tervislikel põhjustel kuni kaks aastat ning lapse hooldamisel kuni lapse kolme aastaseks saamiseni. Puhkuse ajal saab deklareerida aineid ainult tudeng kes on puhkusel lapse hooldamiseks, sel puhul on vaja teha kirjalik taotlus õppeosakonda ning seda mitte hiljem kui semestri punase joone päev. Akadeemilise puhkuse ajal on lubatud sooritada arvestusi ja eksameid kõikidel puhkusel viibivatel tudengitel.&lt;/div&gt;</summary>
		<author><name>Rkivinur</name></author>
	</entry>
</feed>