<?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=Atsernik</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=Atsernik"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Atsernik"/>
	<updated>2026-06-21T02:37:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64003</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64003"/>
		<updated>2013-06-10T21:33:19Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Windows phone 8 rakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-06-10.zip PictureSolution_2013-06-10.zip]&lt;br /&gt;
* kasutatud ainult avalikke api teenuste komponente&lt;br /&gt;
* CRUD operatsioonidest ainult R.&lt;br /&gt;
&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
* Visual studio 2012&lt;br /&gt;
* Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
* Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
* Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
* Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress. Juhul kui seda ei ole, käivita korra projekt.&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
* Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
* Määra &amp;quot;Project Url&amp;quot; väärtuseks: http://[IP-aadress]:55878/, näiteks &amp;quot;http://192.168.2.100:55878/&amp;quot;&lt;br /&gt;
* Määra WP8PicturePanorama projektis asuvas App.xaml.cs klassis parameetri APIBaseURL väärtuseks &amp;quot;http://[IP-aadress]:55878/&amp;quot;&lt;br /&gt;
* käivita käsurida admin õigustega, käsurealt: C:\Program Files\IIS Express&amp;gt;iisexpress.exe /site:&amp;quot;PictureWebAPI&amp;quot;&lt;br /&gt;
* Käivita WP8PicturePanorama projekt.&lt;br /&gt;
* Vajadusel ava tulemüüri port 55878&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64002</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64002"/>
		<updated>2013-06-10T21:29:06Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Windows phone 8 rakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-06-10.zip PictureSolution_2013-06-10.zip]&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
* Visual studio 2012&lt;br /&gt;
* Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
* Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
* Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
* Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress. Juhul kui seda ei ole, käivita korra projekt.&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
* Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
* Määra &amp;quot;Project Url&amp;quot; väärtuseks: http://[IP-aadress]:55878/, näiteks &amp;quot;http://192.168.2.100:55878/&amp;quot;&lt;br /&gt;
* Määra WP8PicturePanorama projektis asuvas App.xaml.cs klassis parameetri APIBaseURL väärtuseks &amp;quot;http://[IP-aadress]:55878/&amp;quot;&lt;br /&gt;
* käivita käsurida admin õigustega, käsurealt: C:\Program Files\IIS Express&amp;gt;iisexpress.exe /site:&amp;quot;PictureWebAPI&amp;quot;&lt;br /&gt;
* Käivita WP8PicturePanorama projekt.&lt;br /&gt;
* Vajadusel ava tulemüüri port 55878&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64001</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64001"/>
		<updated>2013-06-10T21:28:41Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Windows phone 8 rakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
* Visual studio 2012&lt;br /&gt;
* Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
* Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
* Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
* Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress. Juhul kui seda ei ole, käivita korra projekt.&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
* Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
* Määra &amp;quot;Project Url&amp;quot; väärtuseks: http://[IP-aadress]:55878/, näiteks &amp;quot;http://192.168.2.100:55878/&amp;quot;&lt;br /&gt;
* Määra WP8PicturePanorama projektis asuvas App.xaml.cs klassis parameetri APIBaseURL väärtuseks &amp;quot;http://[IP-aadress]:55878/&amp;quot;&lt;br /&gt;
* käivita käsurida admin õigustega, käsurealt: C:\Program Files\IIS Express&amp;gt;iisexpress.exe /site:&amp;quot;PictureWebAPI&amp;quot;&lt;br /&gt;
* Käivita WP8PicturePanorama projekt.&lt;br /&gt;
* Vajadusel ava tulemüüri port 55878&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64000</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=64000"/>
		<updated>2013-06-10T21:21:09Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Testimise juhend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
* Visual studio 2012&lt;br /&gt;
* Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
* Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
* Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
* Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress. Juhul kui seda ei ole, käivita korra projekt.&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
* Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
* Määra &amp;quot;Project Url&amp;quot; väärtuseks: http://[IP-aadress]:55878/, näiteks &amp;quot;http://192.168.2.100:55878/&amp;quot;&lt;br /&gt;
* Määra WP8PicturePanorama projektis asuvas App.xaml.cs klassis parameetri APIBaseURL väärtuseks &amp;quot;http://[IP-aadress]:55878/&amp;quot;&lt;br /&gt;
* käivita käsurida admin õigustega, käsurealt: C:\Program Files\IIS Express&amp;gt;iisexpress.exe /site:&amp;quot;PictureWebAPI&amp;quot;&lt;br /&gt;
* Käivita WP8PicturePanorama projekt.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63982</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63982"/>
		<updated>2013-06-10T06:24:26Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Testimise juhend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
* Visual studio 2012&lt;br /&gt;
* Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
* Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
* Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
* Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress. Juhul kui seda ei ole, käivita korra projekt.&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
* Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
* Määra &amp;quot;Project Url&amp;quot; väärtuseks: http://[IP-aadress]:55878/, näiteks &amp;quot;http://192.168.2.100:55878/&amp;quot;&lt;br /&gt;
* Määra WP8PicturePanorama projektis asuvas MainViewModel.cs klassis API url-väärtuseks &amp;quot;http://[IP-aadress]:55878/&amp;quot;&lt;br /&gt;
* käivita käsurida admin õigustega, käsurealt: C:\Program Files\IIS Express&amp;gt;iisexpress.exe /site:&amp;quot;PictureWebAPI&amp;quot;&lt;br /&gt;
* Käivita WP8PicturePanorama projekt.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63981</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63981"/>
		<updated>2013-06-10T06:15:00Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Testimise juhend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
==== Testimise juhend ====&lt;br /&gt;
Eeldused:&lt;br /&gt;
  * Visual studio 2012&lt;br /&gt;
  * Windows Phone 8 SDK&lt;br /&gt;
&lt;br /&gt;
Seadistamine, et töötaks kõik kohalikust arvutist.&lt;br /&gt;
  * Vaata oma arvuti IP-aadress (cmd ja ipconfig)&lt;br /&gt;
  * Ava IIS-Express seadistusfail %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config&lt;br /&gt;
  * Määra saidi binding aadressiks localhost asemel oma arvuti IP-aadress&lt;br /&gt;
              &amp;lt;site name=&amp;quot;PictureWebAPI&amp;quot; id=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;application path=&amp;quot;/&amp;quot; applicationPool=&amp;quot;Clr4IntegratedAppPool&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;virtualDirectory path=&amp;quot;/&amp;quot; physicalPath=&amp;quot;C:\DEV\PildiportaalWebAPI\PictureSolution\PictureWebAPI&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/application&amp;gt;&lt;br /&gt;
                &amp;lt;bindings&amp;gt;&lt;br /&gt;
                    &amp;lt;binding protocol=&amp;quot;http&amp;quot; bindingInformation=&amp;quot;*:55878:192.168.2.100&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/bindings&amp;gt;&lt;br /&gt;
  * Ava Projekti PictureWebAPI Seadistused (parem klõps ja properties)&lt;br /&gt;
  *&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63980</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63980"/>
		<updated>2013-06-10T06:07:14Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Ülesanne 3 - Klient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon meeskonna Leemur poolt ===&lt;br /&gt;
&lt;br /&gt;
====1. töö vastavus esitatud tingimustele====&lt;br /&gt;
&lt;br /&gt;
Töö täielikult esitatud tingimustele ei vasta, kuna kolmest alamülesandest on realiseeritud kaks esimest (teenuse pakkumine ning teenuse kasutajate tuvastamine ja haldamine). Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes ei ole töös realiseeritud. Ka kasutajate haldust ei ole väga põhjalikult realiseeritud. Samas see, mis on tehtud teenuse enda osas, on tehtud põhjalikult ja hästi.&lt;br /&gt;
Teenuse osa&lt;br /&gt;
Loodud on kontrollerid: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a. Home – kuvab esilehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b. Upload – kuvab pildi üleslaadimise lehe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pildi üleslaadimine aadressilt ~/Upload töötab. http://localhost:55878/Upload - autentisin anonymous kontoga. Muidugi võiks mainida, et lehel ei ole järjekindlust valitud keele rakendamiseks (üksik ’Lehitse’ nupp eesti keeles). Tulemuseks tagastatakse image objekt.&lt;br /&gt;
&lt;br /&gt;
Pärast pildi üles laadimist, saab neid vaadata aadressilt http://localhost:55878/api/OriginalImage/{id}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c. OriginalImage - annab tagasi originaalfaili, kui kasutaja on autoriseeritud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis täiesti töötab http://localhost:55878/api/OriginalImage/{id}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;d. ImageUpload&#039;&#039;&#039; – selle kontrolleri mõttest ei saa väga aru. Oleks eeldanud, et see suunab mind ~/Upload lehele. Aadressile ~/ImageUpload minnes sain vastuseks: &lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
  &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;Message&amp;quot;: &amp;quot;The requested resource does not support http method &#039;GET&#039;.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;e. Thumb - leiab thumbnailsi pildile vastavalt ette antud tüübile small, medium, large ja pildi id&#039;le&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET meetod, mis töötab ja tagastab pildi valitud suurusele:&lt;br /&gt;
&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=small&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=medium&lt;br /&gt;
http://localhost:55878/api/Thumb?id=1&amp;amp;type=large&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;f. Image – tagastab image objekti, mis seotud kasutajaga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, PUT ja DELETE meetod. POST meetod suunab upload lehele. GetBy id meetodi miinuseks ütleks, et kui sisestada aadressi http://localhost:55878/api/image/{id} id selline väärtus, mida ei eksisteeri, siis ilmub tühi leht. Võiks olla mingi informatiivne tekst.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g. ImageComment -  väljastab kõik kasutaja tehtud kommentaarid.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on GET, POST, DELETE ja PUT meetod, mis tagastab MethodNotAllowed teate. Ning DELETE meetod on lubatud ainult administraatorile. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kommentaare muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;h. ImageCategory – väljastab piltide kategooria loendi,&#039;&#039;&#039; stiilis:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Uncategorized&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;Images&amp;quot;: [],&lt;br /&gt;
    &amp;quot;ImageCategoryID&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Loodus&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET meetod on kõigile nähtav. Samuti realiseeritud POST, PUT ja DELETE vaid admin kasutajale. Praegu on küll kontroll nii tehtud, et kasutaja nimi peab konkreetselt just „admin“ olema. Ehk tulevikus saavad näiteks kõik kasutajad, kes kuuluvad administrator õigustega kasutajate gruppi, kategooriaid muuta. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i. User – tagastab kasutajate loendi,&#039;&#039;&#039; stiilis&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:Lk6Jg3A+pcP4FRwfVO3VcUKESqyH19R7:I2j8NTisCxPn4/e0YL3zdr/9/xXfhGKk&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;$id&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    &amp;quot;UserID&amp;quot;: &amp;quot;aleksandr&amp;quot;,&lt;br /&gt;
    &amp;quot;Password&amp;quot;: &amp;quot;1000:FdJ5RNgQIvykcblEWaD576NbI6/ih/uf:ltScbkbx1bo1O0Ag94WjSEOikgJ2P0Sc&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Realiseeritud on &#039;&#039;&#039;GET ja POST&#039;&#039;&#039; meetodid. Iseasi, kas iga kasutaja peaks saama vaadata juba loodud kasutajate kontode andmeid. Ehk peaks ka siia panema administraatori õiguste kontrolli.&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimise ja halduse osa&lt;br /&gt;
&lt;br /&gt;
Kasutatud on basic autentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Parooli räsi hoitakse andmebaasis. &lt;br /&gt;
&lt;br /&gt;
Kasutajate halduse poolelt on ainukestena realiseeritud User kontroller GET ja POST meetoditega. Ülesande püstituses soovitatut (luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE)) järgitud ei ole. Samas oli see ainult soovitus, mitte nõue.&lt;br /&gt;
&lt;br /&gt;
====2. programmikoodi loetavus ning kommenteeritus====&lt;br /&gt;
&lt;br /&gt;
Koodi ei ole ülemäära palju kommenteeritud, ent olemasolevad kommentaarid on piisavad, et toimuvast aru saada. Testimiseks ja retsenseerimiseks täiesti piisavad. Kood on loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
====3. dokumentatsiooni olemasolu====&lt;br /&gt;
&lt;br /&gt;
Eraldi dokumentatsiooni veebiteenusele lisatud ei ole. Samas ei ole see ka kusagil eraldi nõutud, seega otseselt miinuseks lugeda ei saa.&lt;br /&gt;
&lt;br /&gt;
====4. kirjeldada puudusi====&lt;br /&gt;
&lt;br /&gt;
Teenuse kasutajate ja kasutusstatistika üle arve pidamist ei toimu. Ka kasutajate halduse pool on ilmselt kiirustades realiseeritud. Põhjuseks tõenäoliselt &lt;br /&gt;
piiratud ajaressurss. Administraatori õigustega toimingute kontroll on kindlasti vaja ümber teha ja täiendada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;br /&gt;
=== Windows phone 8 rakendus ===&lt;br /&gt;
==== Testimise juhend ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63537</id>
		<title>Leemur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63537"/>
		<updated>2013-05-27T17:13:46Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* DELETE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Leemur|Meeskond &amp;quot;Leemur&amp;quot;]] ==&lt;br /&gt;
*Liikmed&lt;br /&gt;
**Marika Mäemets&lt;br /&gt;
**Rasmus Hommuk&lt;br /&gt;
**Mairo Puusepp&lt;br /&gt;
**Einar Kivisalu&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
&lt;br /&gt;
Et käesoleval hetkel on aktuaalne teedelagunemine ja augud tekivad igalepoole üleöö, siis on meie XML asfaldiaukude teemaline.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&lt;br /&gt;
&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;teeauk&amp;gt;&lt;br /&gt;
  &amp;lt;tänavad&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00609359&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Raja&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;856&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584427.3&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537660&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.08&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.4&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-04-10&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584348.6&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537658.6&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.8&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.54&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464822&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ehitajate tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;23&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584526.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537923.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.9&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.5&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584655.9&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537637.5&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584532&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537954.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464824&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Sõpruse puiestee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;4623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584621.1&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;538267&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;2.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072238&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587966.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531049.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.25&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072411&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;1023&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587827.8&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531034.3&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00069699&amp;quot; tyyp = &amp;quot;maantee&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Klooga mnt&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6588082&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531159.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.16&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU02094396&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Nõlvaku tänav&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;823&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6579325.4&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;536312.7&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.55&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Ülo Vallavanem&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavanem&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
  &amp;lt;/tänavad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/teeauk&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema id=&amp;quot;XMLSchema1&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    xmlns:mstns=&amp;quot;http://tempuri.org/teeauk.xsd&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;xs:simpleType name=&amp;quot;yhikpikkus&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;meeter&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;yhiksygavus&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;meeter&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;yhikpindala&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;ruutmeeter&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:element name=&amp;quot;teeauk&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänavad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:choice&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;pikkus&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:int&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpikkus&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;augud&amp;quot;&amp;gt;&lt;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;auk&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;xkoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;ykoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sügavus&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhiksygavus&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;pindala&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpindala&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;teataja&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;roll&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&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;avastatud&amp;quot; type=&amp;quot;xs:date&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;likvideeritud&amp;quot; type=&amp;quot;xs:date&amp;quot; minOccurs =&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asfaldiaukude tabel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Asfaldiaukude nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;nimi&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;@tyyp&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;pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Koordinaadid&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Sügavus ja pindlala&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Teavitaja&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Avastatud&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Likvideeritud&amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;augud/auk&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;tr&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;X &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;xkoord&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Y &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;ykoord&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;sügavus&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;pindala&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/nimi&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/roll&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;avastatud&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;likvideeritud&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/table&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aukudest teatajad ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Aukudest teatajate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav/augud/auk/teataja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./roll&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tänavate nimekiri ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Teede/tänavate nimekiri&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Teede/tänavate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; meetrit &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on 6 loogilist dimensiooni. Tasemete kaupa välja kirjutatuna:&lt;br /&gt;
tase 1: teeauk&lt;br /&gt;
tase 2: tänavad&lt;br /&gt;
tase 3: tänav (atribuudid: tüüp)&lt;br /&gt;
tase 4: nimi, pikkus, augud&lt;br /&gt;
tase 5: auk&lt;br /&gt;
tase 6: xkoord, ykoord, sügavus, pindala, teataja, avastatud, likvideeritud.&lt;br /&gt;
Atribuute on kasutatud nõuetele vastavas koguses. Taseme &amp;quot;tänav&amp;quot; juurde on loodud atribuut &amp;quot;tyyp&amp;quot;, mis võib olla kas &amp;quot;tänav&amp;quot; või &amp;quot;maantee&amp;quot;. Rühma Leemur oleks võinud paari sõnaga kommenteerida, miks on tänava ja maantee eristamine oluline.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-faili põhjal võib aukudega tänavaid ka üldse mitte eksisteerida või olla piiramata arv. Põhimõtteliselt võiks tänavate arv olla piiratud mõne mõistliku numbriga, aga samas ei tohiks ka piiramata arv olla probleem.&lt;br /&gt;
Dimensioon &amp;quot;tänavad&amp;quot; sisaldab järgmise tasemena elemente tüübist &amp;quot;tänav&amp;quot;. Miks on sealjuures taseme &amp;quot;tänavad&amp;quot; elementide kirjeldamiseks kasutatud tag&#039;i &amp;quot;choise&amp;quot;, mille sees on ainult üks element?&lt;br /&gt;
Dimensiooni &amp;quot;tänavad&amp;quot; elemendid peavad olema kirjeldatud kindlas järjekorras (nimi, pikkus, augud). Koodi loetavuse seisukohalt on hea, kui  see nii on.&lt;br /&gt;
Atribuutide kirjelduses võiks ehk augu pindala ja sügavus olla lubatud kirjeldada ka vastavalt sentimeetrites ja ruutsentimeetrites.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
XSL-faile on kokku 3, mida on rohkem kui minimaalselt nõutud- 2.&lt;br /&gt;
Asfaldiaukude tabel&lt;br /&gt;
Tabelis on augu id, koordinaadid, pindala, teataja nimi ja roll, avastamise ja likvideerimise kuupäev.&lt;br /&gt;
Aukudest teatajate tabel&lt;br /&gt;
Tabelis näidatakse teatajate nimesid ja rollisid.&lt;br /&gt;
Tänavate tabel&lt;br /&gt;
Näidatakse tänavanimesid koos tänavate pikkustega.&lt;br /&gt;
Mõne sõnaga võiks ehk kirjeldada, millist eesmärki html-kujule teisendatud tabelid kasutaja seisukohast võiksid täita.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond &amp;quot;Leemur&amp;quot; on oma XML-, XSD -ja XSL-failid koostanud loogiliselt ja hästi struktureeritult.&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Tiim &amp;quot;Leemur&amp;quot; on pakkunud välja XML liidese definitsiooni tänavaaukude kohta käiva info edastamiseks. Teema on igati ajakohane ning antud lahendus omab ka reaalset rakendust näiteks autojuhi GPS tarkvaras. Iseasi, et andmemahu kokkuhoiu mõttes võibolla oleks kasulik terved kohad edastada aukude asemel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esitatud lahendus vastab kodutöös nõutud tingimustele ja ootustele keerukuse osas ning isegi ületab neid. XML faili struktuur on arusaadav ja lisakommentaare ei vaja.&lt;br /&gt;
Näidisena välja pakutud XSLT abil õnnestub genereerida väljund nii HTML kui XML formaadis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmete grupeerimine tänavate kaupa tundub mõistlik arvestades potentsiaalse info tarbija vajadust saada infot parasjagu läbitava tänava kohta. Tänava pikkuse esitamise vajadusest ei saa hästi aru. Aukudel on ka omadus taastekkida, antud struktuur võimaldab aga esitada ühe(viimase?) teataja ning parandaja. Rakenduse võib muidugi luua selliselt, et uuesti teatades muutub parandaja väli väljund XML&#039;is uuesti tühjaks. samas oleks hea info aukude kohta, mis pidevalt lagunevad ja parandatud saavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML välja nimetuses täpitähtede kasutamine ei pruugi olla alati hea mõte, ehkki on loomulikult lubatud.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
Jätkame asfaldiaukude teemaga, kuna tänavate seisukord on endiselt päevakorral olev teema ja ei ole näha, et see aktuaalsuse minetaks.&lt;br /&gt;
&lt;br /&gt;
Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 20. mai 2013.&lt;br /&gt;
&lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 27. mai 2013&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Loodav veebiteenus peab võimaldama:&#039;&#039;&#039;&lt;br /&gt;
** Teenuse pakkumist &lt;br /&gt;
** Teenuse kasutajate tuvastamist ning haldamist &lt;br /&gt;
** Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes &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;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimased lisatud augud&lt;br /&gt;
  - teha teenus, mis väljastab valitud tänaval asuvad augud&lt;br /&gt;
  - teha teenus, mis väljastab kõige suurema aukude arvuga tänavad (suhtes pikkusega)&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
&lt;br /&gt;
=== Tööde edenemine ===&lt;br /&gt;
  - Versioonihaldus ülesse seada - Asjassepühendatute jaoks paikneb see siin: https://leemur.visualstudio.com/ &#039;&#039;15.05.2013.&#039;&#039;&lt;br /&gt;
  - Andmebaasiserver töökorda seada (OK - Rasmus). Installeeritud MS SQL Express 12 (version 11.0.3128.0) &#039;&#039;16.05.2013&#039;&#039;&lt;br /&gt;
  - Domeeni mudel valmis teha - OK&lt;br /&gt;
  - EF raamistik paika () - OK&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
    Olemas AukRepository, EFRepositories, KasutusRepository, RollRepository, TanavRepository, TeavitajaRepository&lt;br /&gt;
     &lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete) - OK&lt;br /&gt;
     &lt;br /&gt;
  - Autentimine, Autoriseerimine - veidi problemaatiline.&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse koodi võib leida siit: http://enos.itcollege.ee/~rhommuk/Poska/Asfaldiauk.zip &#039;&#039;20.05.2013.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Realiseeritud meetodite testimiseks on kasutatav aadress ~/Help&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC ===&lt;br /&gt;
&lt;br /&gt;
==== Enne retsenseerima asumist meeskonna Leemur poolt esitatud teadaolevad puudused ====&lt;br /&gt;
&amp;quot;Retsenseerides võib kohe kirja panna, et autentimist ega kasutajate statistikat ei ole ... meil on ainult teenus lahendatud.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
*Andmemudeli teek (AsfaldiaukModels),&lt;br /&gt;
*Andme ligipääsu teek (AsfaldiaukDAL),&lt;br /&gt;
*Teenuse enda teostus (AsfaldiaukWebAPI). &lt;br /&gt;
Testide tegemiseks loodud ka konsoolirakendus AsfaldiaukTest. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
Projekti luues oleks võnud &amp;quot;Create unit test projecti&amp;quot; lahtrisse linnukese teha kuid kuna antud raames me unit teste ei kirjuta siis liiga oluline see ei ole.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Natuke on ka arusaamatu, milleks on väljaminevad seosed defineeritud eraldi klassides. Annotatsioonid on täiesti olemas kuid võiks võib-olla kohati natuke rohkem lubatud olla,&lt;br /&gt;
näiteks AukMall.cs public string Kommentaar lubab 50 tähemärki, mille sisse tekst &amp;quot;Selline pirakas teeauk, et lõhkusin autol parempoolse esiratta ja midagi veel.&amp;quot; juba enam ära ei mahu.&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Võetud kasutusele valmiskirjutatud IEFRepository.cs + EFRepositor.cs&lt;br /&gt;
Dependency resolver osas kasutusel Ninject ja loodud ka vajalik dummy IAsfaldiaukContext.cs interface selle toimimiseks.&lt;br /&gt;
Migrations-&amp;gt;configuration.cs all võiks internal sealed class... muuta publicuks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Peale konsoolirakenduse käivitamist ning andmete baasi saamist võis asuda ka teenust testmima. Nii konsoolirakenduse kui webAPI connectionstring oli määratud (localdb)\v11.0, mille&lt;br /&gt;
tõttu oli loodud baas kohe hõlpsasti leitav. Baasi loomise/muutmise osas on arendusfaasis kasutatud strateegiat DropCreateDatabaseAlways.&lt;br /&gt;
&lt;br /&gt;
Web API teenus töötab, näitena: api/auk väljastab aukude nimekirja. Teenus annab andmeid JSON formaadis.&lt;br /&gt;
Controllerid koos vajalike CRUD meetoditega olid kohandatud vastavalt vajadustele ja loodud igale klassile.&lt;br /&gt;
&lt;br /&gt;
==== Testimine ====&lt;br /&gt;
Kasutasin TanavController.cs klassi kuna seal olid kõik CRUD meetodid kirjeldatud:&lt;br /&gt;
===== GET api/tanav =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXY=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:20:36 GMT&lt;br /&gt;
  Content-Length: 78&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;TanavID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;Mustamae&amp;quot;,&lt;br /&gt;
      &amp;quot;Pikkus&amp;quot;: 3.87&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/1 =====&lt;br /&gt;
Sama vastus nagu eelmine. &lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/2 =====&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav/2 HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP päringu vastus:&lt;br /&gt;
  HTTP/1.1 404 Not Found&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXZcMg==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:23:21 GMT&lt;br /&gt;
  Content-Length: 44&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;Sellise id-ga tänavat andmebaasis ei ole!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== POST =====&lt;br /&gt;
HTTP POST päringu sisu:&lt;br /&gt;
  POST http://localhost:49407/api/roll HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 57&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;sample string 2&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
HTTP POST päringu vastus:&lt;br /&gt;
  HTTP/1.1 201 Created&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Location: http://localhost:49407/Help?id=1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbA==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:05:28 GMT&lt;br /&gt;
  Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
===== PUT =====&lt;br /&gt;
HTTP Päringu sisu:&lt;br /&gt;
  PUT http://localhost:49407/api/roll/1 HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 55&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;new Role name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
HTTP Päringu vastus:&lt;br /&gt;
  HTTP/1.1 204 No Content&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbFwx?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:08:50 GMT&lt;br /&gt;
&lt;br /&gt;
===== DELETE =====&lt;br /&gt;
HTTP Päringu sisu:&lt;br /&gt;
  DELETE http://localhost:49407/api/roll/1 HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
&lt;br /&gt;
HTTP Päringu vastus:&lt;br /&gt;
  HTTP/1.1 204 No Content&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbFwx?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:12:29 GMT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale Fiddleriga läbi proovimist said retsenseerijad teada, et meeskond Leemur on realiseerinud /help controlleri, mille kaudu on võimalik ilma Fiddleri&lt;br /&gt;
abita kõikides controllerites realiseeritud CRUD meetodeid hõlpsasti testida. Teatavasti topelt ei kärise ja sai ka /help uuritud, kus kõik toimis kenasti.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
&lt;br /&gt;
Stiil oli okei, kommentaare võiks alati rohkem olla. Ära ei olnud märgitud viited kui oli kasutatud weebi ja õppejõudude materjali abi. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab. Controllerite osas võiks tuleviku tarbeks luua ja eraldada api controllerid ning tavalised/view eraldi kaustadesse lihtsama jälgitavuse tarbeks.&lt;br /&gt;
Käveri ASP.NET kodutöö kaitsmistest meelde jäänud soovitus, mida ta jõudis korrata mitmeid kordi: &amp;quot;Ärge kirjutage võimaluse korral koodi eesti keeles, kuna reaalses elus toimub kogu töö ainult inglise keeles.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 10. juuni 2013. &lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 15. juuni 2013&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63536</id>
		<title>Leemur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63536"/>
		<updated>2013-05-27T17:10:08Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* PUT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Leemur|Meeskond &amp;quot;Leemur&amp;quot;]] ==&lt;br /&gt;
*Liikmed&lt;br /&gt;
**Marika Mäemets&lt;br /&gt;
**Rasmus Hommuk&lt;br /&gt;
**Mairo Puusepp&lt;br /&gt;
**Einar Kivisalu&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
&lt;br /&gt;
Et käesoleval hetkel on aktuaalne teedelagunemine ja augud tekivad igalepoole üleöö, siis on meie XML asfaldiaukude teemaline.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&lt;br /&gt;
&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;teeauk&amp;gt;&lt;br /&gt;
  &amp;lt;tänavad&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00609359&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Raja&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;856&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584427.3&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537660&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.08&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.4&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-04-10&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584348.6&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537658.6&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.8&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.54&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464822&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ehitajate tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;23&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584526.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537923.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.9&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.5&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584655.9&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537637.5&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584532&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537954.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464824&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Sõpruse puiestee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;4623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584621.1&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;538267&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;2.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072238&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587966.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531049.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.25&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072411&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;1023&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587827.8&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531034.3&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00069699&amp;quot; tyyp = &amp;quot;maantee&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Klooga mnt&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6588082&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531159.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.16&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU02094396&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Nõlvaku tänav&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;823&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6579325.4&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;536312.7&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.55&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Ülo Vallavanem&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavanem&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
  &amp;lt;/tänavad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/teeauk&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema id=&amp;quot;XMLSchema1&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    xmlns:mstns=&amp;quot;http://tempuri.org/teeauk.xsd&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;xs:simpleType name=&amp;quot;yhikpikkus&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;meeter&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;yhiksygavus&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;meeter&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;yhikpindala&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;ruutmeeter&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:element name=&amp;quot;teeauk&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänavad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:choice&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;pikkus&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:int&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpikkus&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;augud&amp;quot;&amp;gt;&lt;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;auk&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;xkoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;ykoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sügavus&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhiksygavus&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;pindala&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpindala&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;teataja&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;roll&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&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;avastatud&amp;quot; type=&amp;quot;xs:date&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;likvideeritud&amp;quot; type=&amp;quot;xs:date&amp;quot; minOccurs =&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asfaldiaukude tabel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Asfaldiaukude nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;nimi&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;@tyyp&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;pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Koordinaadid&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Sügavus ja pindlala&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Teavitaja&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Avastatud&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Likvideeritud&amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;augud/auk&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;tr&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;X &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;xkoord&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Y &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;ykoord&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;sügavus&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;pindala&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/nimi&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/roll&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;avastatud&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;likvideeritud&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/table&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aukudest teatajad ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Aukudest teatajate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav/augud/auk/teataja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./roll&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tänavate nimekiri ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Teede/tänavate nimekiri&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Teede/tänavate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; meetrit &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on 6 loogilist dimensiooni. Tasemete kaupa välja kirjutatuna:&lt;br /&gt;
tase 1: teeauk&lt;br /&gt;
tase 2: tänavad&lt;br /&gt;
tase 3: tänav (atribuudid: tüüp)&lt;br /&gt;
tase 4: nimi, pikkus, augud&lt;br /&gt;
tase 5: auk&lt;br /&gt;
tase 6: xkoord, ykoord, sügavus, pindala, teataja, avastatud, likvideeritud.&lt;br /&gt;
Atribuute on kasutatud nõuetele vastavas koguses. Taseme &amp;quot;tänav&amp;quot; juurde on loodud atribuut &amp;quot;tyyp&amp;quot;, mis võib olla kas &amp;quot;tänav&amp;quot; või &amp;quot;maantee&amp;quot;. Rühma Leemur oleks võinud paari sõnaga kommenteerida, miks on tänava ja maantee eristamine oluline.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-faili põhjal võib aukudega tänavaid ka üldse mitte eksisteerida või olla piiramata arv. Põhimõtteliselt võiks tänavate arv olla piiratud mõne mõistliku numbriga, aga samas ei tohiks ka piiramata arv olla probleem.&lt;br /&gt;
Dimensioon &amp;quot;tänavad&amp;quot; sisaldab järgmise tasemena elemente tüübist &amp;quot;tänav&amp;quot;. Miks on sealjuures taseme &amp;quot;tänavad&amp;quot; elementide kirjeldamiseks kasutatud tag&#039;i &amp;quot;choise&amp;quot;, mille sees on ainult üks element?&lt;br /&gt;
Dimensiooni &amp;quot;tänavad&amp;quot; elemendid peavad olema kirjeldatud kindlas järjekorras (nimi, pikkus, augud). Koodi loetavuse seisukohalt on hea, kui  see nii on.&lt;br /&gt;
Atribuutide kirjelduses võiks ehk augu pindala ja sügavus olla lubatud kirjeldada ka vastavalt sentimeetrites ja ruutsentimeetrites.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
XSL-faile on kokku 3, mida on rohkem kui minimaalselt nõutud- 2.&lt;br /&gt;
Asfaldiaukude tabel&lt;br /&gt;
Tabelis on augu id, koordinaadid, pindala, teataja nimi ja roll, avastamise ja likvideerimise kuupäev.&lt;br /&gt;
Aukudest teatajate tabel&lt;br /&gt;
Tabelis näidatakse teatajate nimesid ja rollisid.&lt;br /&gt;
Tänavate tabel&lt;br /&gt;
Näidatakse tänavanimesid koos tänavate pikkustega.&lt;br /&gt;
Mõne sõnaga võiks ehk kirjeldada, millist eesmärki html-kujule teisendatud tabelid kasutaja seisukohast võiksid täita.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond &amp;quot;Leemur&amp;quot; on oma XML-, XSD -ja XSL-failid koostanud loogiliselt ja hästi struktureeritult.&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Tiim &amp;quot;Leemur&amp;quot; on pakkunud välja XML liidese definitsiooni tänavaaukude kohta käiva info edastamiseks. Teema on igati ajakohane ning antud lahendus omab ka reaalset rakendust näiteks autojuhi GPS tarkvaras. Iseasi, et andmemahu kokkuhoiu mõttes võibolla oleks kasulik terved kohad edastada aukude asemel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esitatud lahendus vastab kodutöös nõutud tingimustele ja ootustele keerukuse osas ning isegi ületab neid. XML faili struktuur on arusaadav ja lisakommentaare ei vaja.&lt;br /&gt;
Näidisena välja pakutud XSLT abil õnnestub genereerida väljund nii HTML kui XML formaadis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmete grupeerimine tänavate kaupa tundub mõistlik arvestades potentsiaalse info tarbija vajadust saada infot parasjagu läbitava tänava kohta. Tänava pikkuse esitamise vajadusest ei saa hästi aru. Aukudel on ka omadus taastekkida, antud struktuur võimaldab aga esitada ühe(viimase?) teataja ning parandaja. Rakenduse võib muidugi luua selliselt, et uuesti teatades muutub parandaja väli väljund XML&#039;is uuesti tühjaks. samas oleks hea info aukude kohta, mis pidevalt lagunevad ja parandatud saavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML välja nimetuses täpitähtede kasutamine ei pruugi olla alati hea mõte, ehkki on loomulikult lubatud.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
Jätkame asfaldiaukude teemaga, kuna tänavate seisukord on endiselt päevakorral olev teema ja ei ole näha, et see aktuaalsuse minetaks.&lt;br /&gt;
&lt;br /&gt;
Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 20. mai 2013.&lt;br /&gt;
&lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 27. mai 2013&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Loodav veebiteenus peab võimaldama:&#039;&#039;&#039;&lt;br /&gt;
** Teenuse pakkumist &lt;br /&gt;
** Teenuse kasutajate tuvastamist ning haldamist &lt;br /&gt;
** Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes &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;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimased lisatud augud&lt;br /&gt;
  - teha teenus, mis väljastab valitud tänaval asuvad augud&lt;br /&gt;
  - teha teenus, mis väljastab kõige suurema aukude arvuga tänavad (suhtes pikkusega)&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
&lt;br /&gt;
=== Tööde edenemine ===&lt;br /&gt;
  - Versioonihaldus ülesse seada - Asjassepühendatute jaoks paikneb see siin: https://leemur.visualstudio.com/ &#039;&#039;15.05.2013.&#039;&#039;&lt;br /&gt;
  - Andmebaasiserver töökorda seada (OK - Rasmus). Installeeritud MS SQL Express 12 (version 11.0.3128.0) &#039;&#039;16.05.2013&#039;&#039;&lt;br /&gt;
  - Domeeni mudel valmis teha - OK&lt;br /&gt;
  - EF raamistik paika () - OK&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
    Olemas AukRepository, EFRepositories, KasutusRepository, RollRepository, TanavRepository, TeavitajaRepository&lt;br /&gt;
     &lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete) - OK&lt;br /&gt;
     &lt;br /&gt;
  - Autentimine, Autoriseerimine - veidi problemaatiline.&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse koodi võib leida siit: http://enos.itcollege.ee/~rhommuk/Poska/Asfaldiauk.zip &#039;&#039;20.05.2013.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Realiseeritud meetodite testimiseks on kasutatav aadress ~/Help&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC ===&lt;br /&gt;
&lt;br /&gt;
==== Enne retsenseerima asumist meeskonna Leemur poolt esitatud teadaolevad puudused ====&lt;br /&gt;
&amp;quot;Retsenseerides võib kohe kirja panna, et autentimist ega kasutajate statistikat ei ole ... meil on ainult teenus lahendatud.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
*Andmemudeli teek (AsfaldiaukModels),&lt;br /&gt;
*Andme ligipääsu teek (AsfaldiaukDAL),&lt;br /&gt;
*Teenuse enda teostus (AsfaldiaukWebAPI). &lt;br /&gt;
Testide tegemiseks loodud ka konsoolirakendus AsfaldiaukTest. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
Projekti luues oleks võnud &amp;quot;Create unit test projecti&amp;quot; lahtrisse linnukese teha kuid kuna antud raames me unit teste ei kirjuta siis liiga oluline see ei ole.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Natuke on ka arusaamatu, milleks on väljaminevad seosed defineeritud eraldi klassides. Annotatsioonid on täiesti olemas kuid võiks võib-olla kohati natuke rohkem lubatud olla,&lt;br /&gt;
näiteks AukMall.cs public string Kommentaar lubab 50 tähemärki, mille sisse tekst &amp;quot;Selline pirakas teeauk, et lõhkusin autol parempoolse esiratta ja midagi veel.&amp;quot; juba enam ära ei mahu.&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Võetud kasutusele valmiskirjutatud IEFRepository.cs + EFRepositor.cs&lt;br /&gt;
Dependency resolver osas kasutusel Ninject ja loodud ka vajalik dummy IAsfaldiaukContext.cs interface selle toimimiseks.&lt;br /&gt;
Migrations-&amp;gt;configuration.cs all võiks internal sealed class... muuta publicuks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Peale konsoolirakenduse käivitamist ning andmete baasi saamist võis asuda ka teenust testmima. Nii konsoolirakenduse kui webAPI connectionstring oli määratud (localdb)\v11.0, mille&lt;br /&gt;
tõttu oli loodud baas kohe hõlpsasti leitav. Baasi loomise/muutmise osas on arendusfaasis kasutatud strateegiat DropCreateDatabaseAlways.&lt;br /&gt;
&lt;br /&gt;
Web API teenus töötab, näitena: api/auk väljastab aukude nimekirja. Teenus annab andmeid JSON formaadis.&lt;br /&gt;
Controllerid koos vajalike CRUD meetoditega olid kohandatud vastavalt vajadustele ja loodud igale klassile.&lt;br /&gt;
&lt;br /&gt;
==== Testimine ====&lt;br /&gt;
Kasutasin TanavController.cs klassi kuna seal olid kõik CRUD meetodid kirjeldatud:&lt;br /&gt;
===== GET api/tanav =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXY=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:20:36 GMT&lt;br /&gt;
  Content-Length: 78&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;TanavID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;Mustamae&amp;quot;,&lt;br /&gt;
      &amp;quot;Pikkus&amp;quot;: 3.87&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/1 =====&lt;br /&gt;
Sama vastus nagu eelmine. &lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/2 =====&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav/2 HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP päringu vastus:&lt;br /&gt;
  HTTP/1.1 404 Not Found&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXZcMg==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:23:21 GMT&lt;br /&gt;
  Content-Length: 44&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;Sellise id-ga tänavat andmebaasis ei ole!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== POST =====&lt;br /&gt;
HTTP POST päringu sisu:&lt;br /&gt;
  POST http://localhost:49407/api/roll HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 57&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;sample string 2&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
HTTP POST päringu vastus:&lt;br /&gt;
  HTTP/1.1 201 Created&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Location: http://localhost:49407/Help?id=1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbA==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:05:28 GMT&lt;br /&gt;
  Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
===== PUT =====&lt;br /&gt;
HTTP Päringu sisu:&lt;br /&gt;
  PUT http://localhost:49407/api/roll/1 HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 55&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;new Role name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
HTTP Päringu vastus:&lt;br /&gt;
  HTTP/1.1 204 No Content&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbFwx?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:08:50 GMT&lt;br /&gt;
&lt;br /&gt;
===== DELETE =====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Peale Fiddleriga läbi proovimist said retsenseerijad teada, et meeskond Leemur on realiseerinud /help controlleri, mille kaudu on võimalik ilma Fiddleri&lt;br /&gt;
abita kõikides controllerites realiseeritud CRUD meetodeid hõlpsasti testida. Teatavasti topelt ei kärise ja sai ka /help uuritud, kus kõik toimis kenasti.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
&lt;br /&gt;
Stiil oli okei, kommentaare võiks alati rohkem olla. Ära ei olnud märgitud viited kui oli kasutatud weebi ja õppejõudude materjali abi. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab. Controllerite osas võiks tuleviku tarbeks luua ja eraldada api controllerid ning tavalised/view eraldi kaustadesse lihtsama jälgitavuse tarbeks.&lt;br /&gt;
Käveri ASP.NET kodutöö kaitsmistest meelde jäänud soovitus, mida ta jõudis korrata mitmeid kordi: &amp;quot;Ärge kirjutage võimaluse korral koodi eesti keeles, kuna reaalses elus toimub kogu töö ainult inglise keeles.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 10. juuni 2013. &lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 15. juuni 2013&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63535</id>
		<title>Leemur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63535"/>
		<updated>2013-05-27T17:07:44Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* POST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Leemur|Meeskond &amp;quot;Leemur&amp;quot;]] ==&lt;br /&gt;
*Liikmed&lt;br /&gt;
**Marika Mäemets&lt;br /&gt;
**Rasmus Hommuk&lt;br /&gt;
**Mairo Puusepp&lt;br /&gt;
**Einar Kivisalu&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
&lt;br /&gt;
Et käesoleval hetkel on aktuaalne teedelagunemine ja augud tekivad igalepoole üleöö, siis on meie XML asfaldiaukude teemaline.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&lt;br /&gt;
&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;teeauk&amp;gt;&lt;br /&gt;
  &amp;lt;tänavad&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00609359&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Raja&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;856&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584427.3&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537660&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.08&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.4&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-04-10&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584348.6&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537658.6&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.8&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.54&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464822&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ehitajate tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;23&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584526.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537923.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.9&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.5&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584655.9&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537637.5&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584532&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537954.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464824&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Sõpruse puiestee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;4623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584621.1&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;538267&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;2.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072238&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587966.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531049.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.25&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072411&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;1023&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587827.8&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531034.3&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00069699&amp;quot; tyyp = &amp;quot;maantee&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Klooga mnt&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6588082&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531159.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.16&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU02094396&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Nõlvaku tänav&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;823&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6579325.4&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;536312.7&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.55&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Ülo Vallavanem&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavanem&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
  &amp;lt;/tänavad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/teeauk&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema id=&amp;quot;XMLSchema1&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    xmlns:mstns=&amp;quot;http://tempuri.org/teeauk.xsd&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;xs:simpleType name=&amp;quot;yhikpikkus&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;meeter&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;yhiksygavus&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;meeter&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;yhikpindala&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;ruutmeeter&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:element name=&amp;quot;teeauk&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänavad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:choice&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;pikkus&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:int&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpikkus&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;augud&amp;quot;&amp;gt;&lt;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;auk&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;xkoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;ykoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sügavus&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhiksygavus&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;pindala&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpindala&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;teataja&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;roll&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&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;avastatud&amp;quot; type=&amp;quot;xs:date&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;likvideeritud&amp;quot; type=&amp;quot;xs:date&amp;quot; minOccurs =&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asfaldiaukude tabel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Asfaldiaukude nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;nimi&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;@tyyp&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;pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Koordinaadid&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Sügavus ja pindlala&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Teavitaja&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Avastatud&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Likvideeritud&amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;augud/auk&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;tr&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;X &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;xkoord&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Y &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;ykoord&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;sügavus&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;pindala&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/nimi&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/roll&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;avastatud&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;likvideeritud&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/table&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aukudest teatajad ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Aukudest teatajate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav/augud/auk/teataja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./roll&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tänavate nimekiri ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Teede/tänavate nimekiri&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Teede/tänavate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; meetrit &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on 6 loogilist dimensiooni. Tasemete kaupa välja kirjutatuna:&lt;br /&gt;
tase 1: teeauk&lt;br /&gt;
tase 2: tänavad&lt;br /&gt;
tase 3: tänav (atribuudid: tüüp)&lt;br /&gt;
tase 4: nimi, pikkus, augud&lt;br /&gt;
tase 5: auk&lt;br /&gt;
tase 6: xkoord, ykoord, sügavus, pindala, teataja, avastatud, likvideeritud.&lt;br /&gt;
Atribuute on kasutatud nõuetele vastavas koguses. Taseme &amp;quot;tänav&amp;quot; juurde on loodud atribuut &amp;quot;tyyp&amp;quot;, mis võib olla kas &amp;quot;tänav&amp;quot; või &amp;quot;maantee&amp;quot;. Rühma Leemur oleks võinud paari sõnaga kommenteerida, miks on tänava ja maantee eristamine oluline.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-faili põhjal võib aukudega tänavaid ka üldse mitte eksisteerida või olla piiramata arv. Põhimõtteliselt võiks tänavate arv olla piiratud mõne mõistliku numbriga, aga samas ei tohiks ka piiramata arv olla probleem.&lt;br /&gt;
Dimensioon &amp;quot;tänavad&amp;quot; sisaldab järgmise tasemena elemente tüübist &amp;quot;tänav&amp;quot;. Miks on sealjuures taseme &amp;quot;tänavad&amp;quot; elementide kirjeldamiseks kasutatud tag&#039;i &amp;quot;choise&amp;quot;, mille sees on ainult üks element?&lt;br /&gt;
Dimensiooni &amp;quot;tänavad&amp;quot; elemendid peavad olema kirjeldatud kindlas järjekorras (nimi, pikkus, augud). Koodi loetavuse seisukohalt on hea, kui  see nii on.&lt;br /&gt;
Atribuutide kirjelduses võiks ehk augu pindala ja sügavus olla lubatud kirjeldada ka vastavalt sentimeetrites ja ruutsentimeetrites.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
XSL-faile on kokku 3, mida on rohkem kui minimaalselt nõutud- 2.&lt;br /&gt;
Asfaldiaukude tabel&lt;br /&gt;
Tabelis on augu id, koordinaadid, pindala, teataja nimi ja roll, avastamise ja likvideerimise kuupäev.&lt;br /&gt;
Aukudest teatajate tabel&lt;br /&gt;
Tabelis näidatakse teatajate nimesid ja rollisid.&lt;br /&gt;
Tänavate tabel&lt;br /&gt;
Näidatakse tänavanimesid koos tänavate pikkustega.&lt;br /&gt;
Mõne sõnaga võiks ehk kirjeldada, millist eesmärki html-kujule teisendatud tabelid kasutaja seisukohast võiksid täita.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond &amp;quot;Leemur&amp;quot; on oma XML-, XSD -ja XSL-failid koostanud loogiliselt ja hästi struktureeritult.&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Tiim &amp;quot;Leemur&amp;quot; on pakkunud välja XML liidese definitsiooni tänavaaukude kohta käiva info edastamiseks. Teema on igati ajakohane ning antud lahendus omab ka reaalset rakendust näiteks autojuhi GPS tarkvaras. Iseasi, et andmemahu kokkuhoiu mõttes võibolla oleks kasulik terved kohad edastada aukude asemel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esitatud lahendus vastab kodutöös nõutud tingimustele ja ootustele keerukuse osas ning isegi ületab neid. XML faili struktuur on arusaadav ja lisakommentaare ei vaja.&lt;br /&gt;
Näidisena välja pakutud XSLT abil õnnestub genereerida väljund nii HTML kui XML formaadis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmete grupeerimine tänavate kaupa tundub mõistlik arvestades potentsiaalse info tarbija vajadust saada infot parasjagu läbitava tänava kohta. Tänava pikkuse esitamise vajadusest ei saa hästi aru. Aukudel on ka omadus taastekkida, antud struktuur võimaldab aga esitada ühe(viimase?) teataja ning parandaja. Rakenduse võib muidugi luua selliselt, et uuesti teatades muutub parandaja väli väljund XML&#039;is uuesti tühjaks. samas oleks hea info aukude kohta, mis pidevalt lagunevad ja parandatud saavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML välja nimetuses täpitähtede kasutamine ei pruugi olla alati hea mõte, ehkki on loomulikult lubatud.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
Jätkame asfaldiaukude teemaga, kuna tänavate seisukord on endiselt päevakorral olev teema ja ei ole näha, et see aktuaalsuse minetaks.&lt;br /&gt;
&lt;br /&gt;
Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 20. mai 2013.&lt;br /&gt;
&lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 27. mai 2013&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Loodav veebiteenus peab võimaldama:&#039;&#039;&#039;&lt;br /&gt;
** Teenuse pakkumist &lt;br /&gt;
** Teenuse kasutajate tuvastamist ning haldamist &lt;br /&gt;
** Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes &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;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimased lisatud augud&lt;br /&gt;
  - teha teenus, mis väljastab valitud tänaval asuvad augud&lt;br /&gt;
  - teha teenus, mis väljastab kõige suurema aukude arvuga tänavad (suhtes pikkusega)&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
&lt;br /&gt;
=== Tööde edenemine ===&lt;br /&gt;
  - Versioonihaldus ülesse seada - Asjassepühendatute jaoks paikneb see siin: https://leemur.visualstudio.com/ &#039;&#039;15.05.2013.&#039;&#039;&lt;br /&gt;
  - Andmebaasiserver töökorda seada (OK - Rasmus). Installeeritud MS SQL Express 12 (version 11.0.3128.0) &#039;&#039;16.05.2013&#039;&#039;&lt;br /&gt;
  - Domeeni mudel valmis teha - OK&lt;br /&gt;
  - EF raamistik paika () - OK&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
    Olemas AukRepository, EFRepositories, KasutusRepository, RollRepository, TanavRepository, TeavitajaRepository&lt;br /&gt;
     &lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete) - OK&lt;br /&gt;
     &lt;br /&gt;
  - Autentimine, Autoriseerimine - veidi problemaatiline.&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse koodi võib leida siit: http://enos.itcollege.ee/~rhommuk/Poska/Asfaldiauk.zip &#039;&#039;20.05.2013.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Realiseeritud meetodite testimiseks on kasutatav aadress ~/Help&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC ===&lt;br /&gt;
&lt;br /&gt;
==== Enne retsenseerima asumist meeskonna Leemur poolt esitatud teadaolevad puudused ====&lt;br /&gt;
&amp;quot;Retsenseerides võib kohe kirja panna, et autentimist ega kasutajate statistikat ei ole ... meil on ainult teenus lahendatud.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
*Andmemudeli teek (AsfaldiaukModels),&lt;br /&gt;
*Andme ligipääsu teek (AsfaldiaukDAL),&lt;br /&gt;
*Teenuse enda teostus (AsfaldiaukWebAPI). &lt;br /&gt;
Testide tegemiseks loodud ka konsoolirakendus AsfaldiaukTest. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
Projekti luues oleks võnud &amp;quot;Create unit test projecti&amp;quot; lahtrisse linnukese teha kuid kuna antud raames me unit teste ei kirjuta siis liiga oluline see ei ole.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Natuke on ka arusaamatu, milleks on väljaminevad seosed defineeritud eraldi klassides. Annotatsioonid on täiesti olemas kuid võiks võib-olla kohati natuke rohkem lubatud olla,&lt;br /&gt;
näiteks AukMall.cs public string Kommentaar lubab 50 tähemärki, mille sisse tekst &amp;quot;Selline pirakas teeauk, et lõhkusin autol parempoolse esiratta ja midagi veel.&amp;quot; juba enam ära ei mahu.&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Võetud kasutusele valmiskirjutatud IEFRepository.cs + EFRepositor.cs&lt;br /&gt;
Dependency resolver osas kasutusel Ninject ja loodud ka vajalik dummy IAsfaldiaukContext.cs interface selle toimimiseks.&lt;br /&gt;
Migrations-&amp;gt;configuration.cs all võiks internal sealed class... muuta publicuks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Peale konsoolirakenduse käivitamist ning andmete baasi saamist võis asuda ka teenust testmima. Nii konsoolirakenduse kui webAPI connectionstring oli määratud (localdb)\v11.0, mille&lt;br /&gt;
tõttu oli loodud baas kohe hõlpsasti leitav. Baasi loomise/muutmise osas on arendusfaasis kasutatud strateegiat DropCreateDatabaseAlways.&lt;br /&gt;
&lt;br /&gt;
Web API teenus töötab, näitena: api/auk väljastab aukude nimekirja. Teenus annab andmeid JSON formaadis.&lt;br /&gt;
Controllerid koos vajalike CRUD meetoditega olid kohandatud vastavalt vajadustele ja loodud igale klassile.&lt;br /&gt;
&lt;br /&gt;
==== Testimine ====&lt;br /&gt;
Kasutasin TanavController.cs klassi kuna seal olid kõik CRUD meetodid kirjeldatud:&lt;br /&gt;
===== GET api/tanav =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXY=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:20:36 GMT&lt;br /&gt;
  Content-Length: 78&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;TanavID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;Mustamae&amp;quot;,&lt;br /&gt;
      &amp;quot;Pikkus&amp;quot;: 3.87&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/1 =====&lt;br /&gt;
Sama vastus nagu eelmine. &lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/2 =====&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav/2 HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP päringu vastus:&lt;br /&gt;
  HTTP/1.1 404 Not Found&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXZcMg==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:23:21 GMT&lt;br /&gt;
  Content-Length: 44&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;Sellise id-ga tänavat andmebaasis ei ole!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== POST =====&lt;br /&gt;
HTTP POST päringu sisu:&lt;br /&gt;
  POST http://localhost:49407/api/roll HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 57&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;sample string 2&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
HTTP POST päringu vastus:&lt;br /&gt;
  HTTP/1.1 201 Created&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Location: http://localhost:49407/Help?id=1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbA==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:05:28 GMT&lt;br /&gt;
  Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
===== PUT =====&lt;br /&gt;
...&lt;br /&gt;
===== DELETE =====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Peale Fiddleriga läbi proovimist said retsenseerijad teada, et meeskond Leemur on realiseerinud /help controlleri, mille kaudu on võimalik ilma Fiddleri&lt;br /&gt;
abita kõikides controllerites realiseeritud CRUD meetodeid hõlpsasti testida. Teatavasti topelt ei kärise ja sai ka /help uuritud, kus kõik toimis kenasti.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
&lt;br /&gt;
Stiil oli okei, kommentaare võiks alati rohkem olla. Ära ei olnud märgitud viited kui oli kasutatud weebi ja õppejõudude materjali abi. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab. Controllerite osas võiks tuleviku tarbeks luua ja eraldada api controllerid ning tavalised/view eraldi kaustadesse lihtsama jälgitavuse tarbeks.&lt;br /&gt;
Käveri ASP.NET kodutöö kaitsmistest meelde jäänud soovitus, mida ta jõudis korrata mitmeid kordi: &amp;quot;Ärge kirjutage võimaluse korral koodi eesti keeles, kuna reaalses elus toimub kogu töö ainult inglise keeles.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 10. juuni 2013. &lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 15. juuni 2013&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63534</id>
		<title>Leemur</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Leemur&amp;diff=63534"/>
		<updated>2013-05-27T17:07:07Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* POST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Leemur|Meeskond &amp;quot;Leemur&amp;quot;]] ==&lt;br /&gt;
*Liikmed&lt;br /&gt;
**Marika Mäemets&lt;br /&gt;
**Rasmus Hommuk&lt;br /&gt;
**Mairo Puusepp&lt;br /&gt;
**Einar Kivisalu&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
&lt;br /&gt;
Et käesoleval hetkel on aktuaalne teedelagunemine ja augud tekivad igalepoole üleöö, siis on meie XML asfaldiaukude teemaline.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&lt;br /&gt;
&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;teeauk&amp;gt;&lt;br /&gt;
  &amp;lt;tänavad&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00609359&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Raja&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;856&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584427.3&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537660&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.08&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.4&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-04-10&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584348.6&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537658.6&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.8&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.54&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Peeter Linnakodanik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;autojuht&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464822&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ehitajate tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;23&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584526.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537923.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.9&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.5&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584655.9&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537637.5&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584532&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;537954.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.6&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00464824&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Sõpruse puiestee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;4623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6584621.1&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;538267&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;2.7&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Jüri Kõvaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Maanteeameti kontroll&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072238&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587966.2&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531049.2&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.25&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00072411&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Ranna tee&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;1023&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6587827.8&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531034.3&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.07&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU00069699&amp;quot; tyyp = &amp;quot;maantee&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Klooga mnt&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;623&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6588082&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;531159.8&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.16&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;0.75&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Mari Vallaametnik&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavalitsuse insener&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tänav id = &amp;quot;CU02094396&amp;quot; tyyp = &amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;nimi&amp;gt;Nõlvaku tänav&amp;lt;/nimi&amp;gt;&lt;br /&gt;
      &amp;lt;pikkus yhik=&amp;quot;meeter&amp;quot;&amp;gt;823&amp;lt;/pikkus&amp;gt;&lt;br /&gt;
      &amp;lt;augud&amp;gt;&lt;br /&gt;
        &amp;lt;auk id = &amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xkoord&amp;gt;6579325.4&amp;lt;/xkoord&amp;gt;&lt;br /&gt;
          &amp;lt;ykoord&amp;gt;536312.7&amp;lt;/ykoord&amp;gt;&lt;br /&gt;
          &amp;lt;sügavus yhik=&amp;quot;meeter&amp;quot;&amp;gt;0.11&amp;lt;/sügavus&amp;gt;&lt;br /&gt;
          &amp;lt;pindala yhik=&amp;quot;ruutmeeter&amp;quot;&amp;gt;1.55&amp;lt;/pindala&amp;gt;&lt;br /&gt;
          &amp;lt;teataja id = &amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;nimi&amp;gt;Ülo Vallavanem&amp;lt;/nimi&amp;gt;&lt;br /&gt;
            &amp;lt;roll&amp;gt;Vallavanem&amp;lt;/roll&amp;gt;&lt;br /&gt;
          &amp;lt;/teataja&amp;gt;&lt;br /&gt;
          &amp;lt;avastatud&amp;gt;2013-02-15&amp;lt;/avastatud&amp;gt;&lt;br /&gt;
          &amp;lt;likvideeritud&amp;gt;2013-02-15&amp;lt;/likvideeritud&amp;gt;&lt;br /&gt;
        &amp;lt;/auk&amp;gt;&lt;br /&gt;
      &amp;lt;/augud&amp;gt;&lt;br /&gt;
    &amp;lt;/tänav&amp;gt;&lt;br /&gt;
  &amp;lt;/tänavad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/teeauk&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema id=&amp;quot;XMLSchema1&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://tempuri.org/teeauk.xsd&amp;quot;&lt;br /&gt;
    xmlns:mstns=&amp;quot;http://tempuri.org/teeauk.xsd&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;xs:simpleType name=&amp;quot;yhikpikkus&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;meeter&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;yhiksygavus&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;meeter&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;yhikpindala&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;ruutmeeter&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:element name=&amp;quot;teeauk&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänavad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:choice&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs =&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;tänav&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;pikkus&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:int&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpikkus&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;augud&amp;quot;&amp;gt;&lt;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;auk&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;xkoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;ykoord&amp;quot; type=&amp;quot;xs:double&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;sügavus&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhiksygavus&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;pindala&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:double&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikpindala&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;teataja&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;roll&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&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;avastatud&amp;quot; type=&amp;quot;xs:date&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;likvideeritud&amp;quot; type=&amp;quot;xs:date&amp;quot; minOccurs =&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot;&amp;gt;&amp;lt;/xs:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asfaldiaukude tabel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Asfaldiaukude nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;nimi&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;@tyyp&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;pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;-&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Koordinaadid&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Sügavus ja pindlala&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Teavitaja&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Avastatud&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Likvideeritud&amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;augud/auk&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;tr&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;X &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;xkoord&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Y &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;ykoord&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;sügavus&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;pindala&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/nimi&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;br/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;teataja/roll&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;avastatud&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/td&amp;gt;&lt;br /&gt;
                      &amp;lt;td&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;likvideeritud&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/table&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aukudest teatajad ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Asfaldiaugud üle kogu maa&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Aukudest teatajate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav/augud/auk/teataja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./roll&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tänavate nimekiri ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl: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;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Teede/tänavate nimekiri&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Teede/tänavate nimekiri&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/teeauk/tänavad/tänav&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./nimi&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;./pikkus&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt; meetrit &amp;lt;/xsl:text&amp;gt;&lt;br /&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;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on 6 loogilist dimensiooni. Tasemete kaupa välja kirjutatuna:&lt;br /&gt;
tase 1: teeauk&lt;br /&gt;
tase 2: tänavad&lt;br /&gt;
tase 3: tänav (atribuudid: tüüp)&lt;br /&gt;
tase 4: nimi, pikkus, augud&lt;br /&gt;
tase 5: auk&lt;br /&gt;
tase 6: xkoord, ykoord, sügavus, pindala, teataja, avastatud, likvideeritud.&lt;br /&gt;
Atribuute on kasutatud nõuetele vastavas koguses. Taseme &amp;quot;tänav&amp;quot; juurde on loodud atribuut &amp;quot;tyyp&amp;quot;, mis võib olla kas &amp;quot;tänav&amp;quot; või &amp;quot;maantee&amp;quot;. Rühma Leemur oleks võinud paari sõnaga kommenteerida, miks on tänava ja maantee eristamine oluline.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-faili põhjal võib aukudega tänavaid ka üldse mitte eksisteerida või olla piiramata arv. Põhimõtteliselt võiks tänavate arv olla piiratud mõne mõistliku numbriga, aga samas ei tohiks ka piiramata arv olla probleem.&lt;br /&gt;
Dimensioon &amp;quot;tänavad&amp;quot; sisaldab järgmise tasemena elemente tüübist &amp;quot;tänav&amp;quot;. Miks on sealjuures taseme &amp;quot;tänavad&amp;quot; elementide kirjeldamiseks kasutatud tag&#039;i &amp;quot;choise&amp;quot;, mille sees on ainult üks element?&lt;br /&gt;
Dimensiooni &amp;quot;tänavad&amp;quot; elemendid peavad olema kirjeldatud kindlas järjekorras (nimi, pikkus, augud). Koodi loetavuse seisukohalt on hea, kui  see nii on.&lt;br /&gt;
Atribuutide kirjelduses võiks ehk augu pindala ja sügavus olla lubatud kirjeldada ka vastavalt sentimeetrites ja ruutsentimeetrites.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
XSL-faile on kokku 3, mida on rohkem kui minimaalselt nõutud- 2.&lt;br /&gt;
Asfaldiaukude tabel&lt;br /&gt;
Tabelis on augu id, koordinaadid, pindala, teataja nimi ja roll, avastamise ja likvideerimise kuupäev.&lt;br /&gt;
Aukudest teatajate tabel&lt;br /&gt;
Tabelis näidatakse teatajate nimesid ja rollisid.&lt;br /&gt;
Tänavate tabel&lt;br /&gt;
Näidatakse tänavanimesid koos tänavate pikkustega.&lt;br /&gt;
Mõne sõnaga võiks ehk kirjeldada, millist eesmärki html-kujule teisendatud tabelid kasutaja seisukohast võiksid täita.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond &amp;quot;Leemur&amp;quot; on oma XML-, XSD -ja XSL-failid koostanud loogiliselt ja hästi struktureeritult.&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Tiim &amp;quot;Leemur&amp;quot; on pakkunud välja XML liidese definitsiooni tänavaaukude kohta käiva info edastamiseks. Teema on igati ajakohane ning antud lahendus omab ka reaalset rakendust näiteks autojuhi GPS tarkvaras. Iseasi, et andmemahu kokkuhoiu mõttes võibolla oleks kasulik terved kohad edastada aukude asemel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esitatud lahendus vastab kodutöös nõutud tingimustele ja ootustele keerukuse osas ning isegi ületab neid. XML faili struktuur on arusaadav ja lisakommentaare ei vaja.&lt;br /&gt;
Näidisena välja pakutud XSLT abil õnnestub genereerida väljund nii HTML kui XML formaadis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmete grupeerimine tänavate kaupa tundub mõistlik arvestades potentsiaalse info tarbija vajadust saada infot parasjagu läbitava tänava kohta. Tänava pikkuse esitamise vajadusest ei saa hästi aru. Aukudel on ka omadus taastekkida, antud struktuur võimaldab aga esitada ühe(viimase?) teataja ning parandaja. Rakenduse võib muidugi luua selliselt, et uuesti teatades muutub parandaja väli väljund XML&#039;is uuesti tühjaks. samas oleks hea info aukude kohta, mis pidevalt lagunevad ja parandatud saavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML välja nimetuses täpitähtede kasutamine ei pruugi olla alati hea mõte, ehkki on loomulikult lubatud.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
Jätkame asfaldiaukude teemaga, kuna tänavate seisukord on endiselt päevakorral olev teema ja ei ole näha, et see aktuaalsuse minetaks.&lt;br /&gt;
&lt;br /&gt;
Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 20. mai 2013.&lt;br /&gt;
&lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 27. mai 2013&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Loodav veebiteenus peab võimaldama:&#039;&#039;&#039;&lt;br /&gt;
** Teenuse pakkumist &lt;br /&gt;
** Teenuse kasutajate tuvastamist ning haldamist &lt;br /&gt;
** Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes &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;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimased lisatud augud&lt;br /&gt;
  - teha teenus, mis väljastab valitud tänaval asuvad augud&lt;br /&gt;
  - teha teenus, mis väljastab kõige suurema aukude arvuga tänavad (suhtes pikkusega)&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
  - teha teenus, mis ...&lt;br /&gt;
&lt;br /&gt;
=== Tööde edenemine ===&lt;br /&gt;
  - Versioonihaldus ülesse seada - Asjassepühendatute jaoks paikneb see siin: https://leemur.visualstudio.com/ &#039;&#039;15.05.2013.&#039;&#039;&lt;br /&gt;
  - Andmebaasiserver töökorda seada (OK - Rasmus). Installeeritud MS SQL Express 12 (version 11.0.3128.0) &#039;&#039;16.05.2013&#039;&#039;&lt;br /&gt;
  - Domeeni mudel valmis teha - OK&lt;br /&gt;
  - EF raamistik paika () - OK&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
    Olemas AukRepository, EFRepositories, KasutusRepository, RollRepository, TanavRepository, TeavitajaRepository&lt;br /&gt;
     &lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete) - OK&lt;br /&gt;
     &lt;br /&gt;
  - Autentimine, Autoriseerimine - veidi problemaatiline.&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse koodi võib leida siit: http://enos.itcollege.ee/~rhommuk/Poska/Asfaldiauk.zip &#039;&#039;20.05.2013.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Realiseeritud meetodite testimiseks on kasutatav aadress ~/Help&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC ===&lt;br /&gt;
&lt;br /&gt;
==== Enne retsenseerima asumist meeskonna Leemur poolt esitatud teadaolevad puudused ====&lt;br /&gt;
&amp;quot;Retsenseerides võib kohe kirja panna, et autentimist ega kasutajate statistikat ei ole ... meil on ainult teenus lahendatud.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
*Andmemudeli teek (AsfaldiaukModels),&lt;br /&gt;
*Andme ligipääsu teek (AsfaldiaukDAL),&lt;br /&gt;
*Teenuse enda teostus (AsfaldiaukWebAPI). &lt;br /&gt;
Testide tegemiseks loodud ka konsoolirakendus AsfaldiaukTest. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
Projekti luues oleks võnud &amp;quot;Create unit test projecti&amp;quot; lahtrisse linnukese teha kuid kuna antud raames me unit teste ei kirjuta siis liiga oluline see ei ole.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Natuke on ka arusaamatu, milleks on väljaminevad seosed defineeritud eraldi klassides. Annotatsioonid on täiesti olemas kuid võiks võib-olla kohati natuke rohkem lubatud olla,&lt;br /&gt;
näiteks AukMall.cs public string Kommentaar lubab 50 tähemärki, mille sisse tekst &amp;quot;Selline pirakas teeauk, et lõhkusin autol parempoolse esiratta ja midagi veel.&amp;quot; juba enam ära ei mahu.&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Võetud kasutusele valmiskirjutatud IEFRepository.cs + EFRepositor.cs&lt;br /&gt;
Dependency resolver osas kasutusel Ninject ja loodud ka vajalik dummy IAsfaldiaukContext.cs interface selle toimimiseks.&lt;br /&gt;
Migrations-&amp;gt;configuration.cs all võiks internal sealed class... muuta publicuks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Peale konsoolirakenduse käivitamist ning andmete baasi saamist võis asuda ka teenust testmima. Nii konsoolirakenduse kui webAPI connectionstring oli määratud (localdb)\v11.0, mille&lt;br /&gt;
tõttu oli loodud baas kohe hõlpsasti leitav. Baasi loomise/muutmise osas on arendusfaasis kasutatud strateegiat DropCreateDatabaseAlways.&lt;br /&gt;
&lt;br /&gt;
Web API teenus töötab, näitena: api/auk väljastab aukude nimekirja. Teenus annab andmeid JSON formaadis.&lt;br /&gt;
Controllerid koos vajalike CRUD meetoditega olid kohandatud vastavalt vajadustele ja loodud igale klassile.&lt;br /&gt;
&lt;br /&gt;
==== Testimine ====&lt;br /&gt;
Kasutasin TanavController.cs klassi kuna seal olid kõik CRUD meetodid kirjeldatud:&lt;br /&gt;
===== GET api/tanav =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXY=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:20:36 GMT&lt;br /&gt;
  Content-Length: 78&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;TanavID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;Mustamae&amp;quot;,&lt;br /&gt;
      &amp;quot;Pikkus&amp;quot;: 3.87&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/1 =====&lt;br /&gt;
Sama vastus nagu eelmine. &lt;br /&gt;
&lt;br /&gt;
===== GET api/tanav/2 =====&lt;br /&gt;
HTTP päringu sisu:&lt;br /&gt;
  GET http://localhost:49407/api/tanav/2 HTTP/1.1&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
&lt;br /&gt;
HTTP päringu vastus:&lt;br /&gt;
  HTTP/1.1 404 Not Found&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXZcMg==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 00:23:21 GMT&lt;br /&gt;
  Content-Length: 44&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;Sellise id-ga tänavat andmebaasis ei ole!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== POST =====&lt;br /&gt;
  POST http://localhost:49407/api/roll HTTP/1.1&lt;br /&gt;
  Host: localhost:49407&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Content-Length: 57&lt;br /&gt;
  &lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;RollID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Nimi&amp;quot;: &amp;quot;sample string 2&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  HTTP/1.1 201 Created&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Location: http://localhost:49407/Help?id=1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbA==?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Mon, 27 May 2013 17:05:28 GMT&lt;br /&gt;
  Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
===== PUT =====&lt;br /&gt;
...&lt;br /&gt;
===== DELETE =====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Peale Fiddleriga läbi proovimist said retsenseerijad teada, et meeskond Leemur on realiseerinud /help controlleri, mille kaudu on võimalik ilma Fiddleri&lt;br /&gt;
abita kõikides controllerites realiseeritud CRUD meetodeid hõlpsasti testida. Teatavasti topelt ei kärise ja sai ka /help uuritud, kus kõik toimis kenasti.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
&lt;br /&gt;
Stiil oli okei, kommentaare võiks alati rohkem olla. Ära ei olnud märgitud viited kui oli kasutatud weebi ja õppejõudude materjali abi. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab. Controllerite osas võiks tuleviku tarbeks luua ja eraldada api controllerid ning tavalised/view eraldi kaustadesse lihtsama jälgitavuse tarbeks.&lt;br /&gt;
Käveri ASP.NET kodutöö kaitsmistest meelde jäänud soovitus, mida ta jõudis korrata mitmeid kordi: &amp;quot;Ärge kirjutage võimaluse korral koodi eesti keeles, kuna reaalses elus toimub kogu töö ainult inglise keeles.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 10. juuni 2013. &lt;br /&gt;
Retsensioonid veebiteenuste kohta peavad tehtud olema 15. juuni 2013&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63533</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63533"/>
		<updated>2013-05-27T16:38:03Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Uue objekti loomine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST http://localhost:55878/api/imagecomment HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  User-Agent: Fiddler&lt;br /&gt;
  Content-Type: text/json&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
  Authorization: Basic YWRtaW46c2VjcmV0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Comment 2, hinne 6&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 6,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63353</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63353"/>
		<updated>2013-05-26T18:19:16Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Ülesanne 2 - Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
*Esmalt vabandame kõigi retsenseerijate ees - ei jõudnud väga testida.Kood on kättesaadav: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
*Õppejõule ligipääasetav TFS projekt: [https://oliverd.visualstudio.com https://oliverd.visualstudio.com]&lt;br /&gt;
* Lisandus 26.05.2013 silutud ja ilusamaks tehtud: [http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-26.zip PictureSolution_2013-05-26.zip]&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ülesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tüüpi objekti, mida siis saab sisse süüa, vajaduse täiendada, ning PUT käsuga uuendada serveris (Kasutades nüüd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
Näiteks uue kommentaari lisamiseks kasuta alljärgnevat päringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas üle SSL&#039;i lahendus on täiesti akstepteeritava turva tasemega. Lahenduse võtsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication näidist veebis], kus on ära toodud ka antud lahenduse plussid ja miinused. Parooli räsi hoiame andmebaasis. Räsi genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63303</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63303"/>
		<updated>2013-05-26T15:03:27Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* TESTI KIRJELDUS 2 - Vastus JSON-formaadis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis. Kui GET päringu päisesse panna Accept &amp;quot;text/json&amp;quot;, siis väljastab JSON formaadis.&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 1 - Vastus XML-formaadis =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu päis: &lt;br /&gt;
  GET http://localhost:5189/api/currency HTTP/1.1&lt;br /&gt;
  Host: localhost:5189&lt;br /&gt;
  User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&lt;br /&gt;
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;
  Accept-Language: en-US,en;q=0.5&lt;br /&gt;
  Accept-Encoding: gzip, deflate&lt;br /&gt;
  Connection: keep-alive&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/xml; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxjdXJyZW5jeS1jb252ZXJ0ZXItbWFzdGVyXGN1cnJlbmN5LWNvbnZlcnRlci1tYXN0ZXJcQVNQTkVUTVZDU2VydmljZVxhcGlcY3VycmVuY3k=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Sun, 26 May 2013 14:46:47 GMT&lt;br /&gt;
  Content-Length: 483&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;ArrayOfCurrency xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/CurrencyModelsLibrary.Models&amp;quot;&amp;gt;&amp;lt;Currency&amp;gt;&amp;lt;Created&amp;gt;2013-05-26T16:07:49.987&amp;lt;/Created&amp;gt;&amp;lt;CreatorUser i:nil=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;CurrencyID&amp;gt;1&amp;lt;/CurrencyID&amp;gt;&amp;lt;IsVisible&amp;gt;true&amp;lt;/IsVisible&amp;gt;&amp;lt;Name&amp;gt;EUR&amp;lt;/Name&amp;gt;&amp;lt;/Currency&amp;gt;&amp;lt;Currency&amp;gt;&amp;lt;Created&amp;gt;2013-05-26T16:07:49.99&amp;lt;/Created&amp;gt;&amp;lt;CreatorUser i:nil=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;CurrencyID&amp;gt;2&amp;lt;/CurrencyID&amp;gt;&amp;lt;IsVisible&amp;gt;true&amp;lt;/IsVisible&amp;gt;&amp;lt;Name&amp;gt;USD&amp;lt;/Name&amp;gt;&amp;lt;/Currency&amp;gt;&amp;lt;/ArrayOfCurrency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 2 - Vastus JSON-formaadis =====&lt;br /&gt;
HTTP päringu päise sisu:&lt;br /&gt;
  GET http://localhost:5189/api/currency HTTP/1.1&lt;br /&gt;
  Host: localhost:5189&lt;br /&gt;
  User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&lt;br /&gt;
  Accept: text/json&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: text/json; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxjdXJyZW5jeS1jb252ZXJ0ZXItbWFzdGVyXGN1cnJlbmN5LWNvbnZlcnRlci1tYXN0ZXJcQVNQTkVUTVZDU2VydmljZVxhcGlcY3VycmVuY3k=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Sun, 26 May 2013 14:39:57 GMT&lt;br /&gt;
  Content-Length: 292&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;CurrencyID&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;Name&amp;quot;: &amp;quot;EUR&amp;quot;,&lt;br /&gt;
      &amp;quot;IsVisible&amp;quot;: true,&lt;br /&gt;
      &amp;quot;Created&amp;quot;: &amp;quot;2013-05-26T16:07:49.987&amp;quot;,&lt;br /&gt;
      &amp;quot;CreatorUser&amp;quot;: null&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;CurrencyID&amp;quot;: 2,&lt;br /&gt;
      &amp;quot;Name&amp;quot;: &amp;quot;USD&amp;quot;,&lt;br /&gt;
      &amp;quot;IsVisible&amp;quot;: true,&lt;br /&gt;
      &amp;quot;Created&amp;quot;: &amp;quot;2013-05-26T16:07:49.99&amp;quot;,&lt;br /&gt;
      &amp;quot;CreatorUser&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63302</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63302"/>
		<updated>2013-05-26T14:59:23Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* TESTI KIRJELDUS 1 - Vastus XML-formaadis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis. Kui GET päringu päisesse panna Accept &amp;quot;text/json&amp;quot;, siis väljastab JSON formaadis.&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 1 - Vastus XML-formaadis =====&lt;br /&gt;
&lt;br /&gt;
HTTP päringu päis: &lt;br /&gt;
  GET http://localhost:5189/api/currency HTTP/1.1&lt;br /&gt;
  Host: localhost:5189&lt;br /&gt;
  User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&lt;br /&gt;
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;
  Accept-Language: en-US,en;q=0.5&lt;br /&gt;
  Accept-Encoding: gzip, deflate&lt;br /&gt;
  Connection: keep-alive&lt;br /&gt;
&lt;br /&gt;
HTTP vastus päringule:&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Cache-Control: no-cache&lt;br /&gt;
  Pragma: no-cache&lt;br /&gt;
  Content-Type: application/xml; charset=utf-8&lt;br /&gt;
  Expires: -1&lt;br /&gt;
  Server: Microsoft-IIS/8.0&lt;br /&gt;
  X-AspNet-Version: 4.0.30319&lt;br /&gt;
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxjdXJyZW5jeS1jb252ZXJ0ZXItbWFzdGVyXGN1cnJlbmN5LWNvbnZlcnRlci1tYXN0ZXJcQVNQTkVUTVZDU2VydmljZVxhcGlcY3VycmVuY3k=?=&lt;br /&gt;
  X-Powered-By: ASP.NET&lt;br /&gt;
  Date: Sun, 26 May 2013 14:46:47 GMT&lt;br /&gt;
  Content-Length: 483&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;ArrayOfCurrency xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/CurrencyModelsLibrary.Models&amp;quot;&amp;gt;&amp;lt;Currency&amp;gt;&amp;lt;Created&amp;gt;2013-05-26T16:07:49.987&amp;lt;/Created&amp;gt;&amp;lt;CreatorUser i:nil=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;CurrencyID&amp;gt;1&amp;lt;/CurrencyID&amp;gt;&amp;lt;IsVisible&amp;gt;true&amp;lt;/IsVisible&amp;gt;&amp;lt;Name&amp;gt;EUR&amp;lt;/Name&amp;gt;&amp;lt;/Currency&amp;gt;&amp;lt;Currency&amp;gt;&amp;lt;Created&amp;gt;2013-05-26T16:07:49.99&amp;lt;/Created&amp;gt;&amp;lt;CreatorUser i:nil=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;CurrencyID&amp;gt;2&amp;lt;/CurrencyID&amp;gt;&amp;lt;IsVisible&amp;gt;true&amp;lt;/IsVisible&amp;gt;&amp;lt;Name&amp;gt;USD&amp;lt;/Name&amp;gt;&amp;lt;/Currency&amp;gt;&amp;lt;/ArrayOfCurrency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 2 - Vastus JSON-formaadis =====&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63301</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63301"/>
		<updated>2013-05-26T14:50:02Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* TESTI KIRJELDUS 1 - Vastus XML-formaadis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis. Kui GET päringu päisesse panna Accept &amp;quot;text/json&amp;quot;, siis väljastab JSON formaadis.&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 1 - Vastus XML-formaadis =====&lt;br /&gt;
&lt;br /&gt;
HTTP - päis: &lt;br /&gt;
	GET http://localhost:5189/api/currency HTTP/1.1&lt;br /&gt;
	Host: localhost:5189&lt;br /&gt;
	User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&lt;br /&gt;
	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;
	Accept-Language: en-US,en;q=0.5&lt;br /&gt;
	Accept-Encoding: gzip, deflate&lt;br /&gt;
	Connection: keep-alive&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 2 - Vastus JSON-formaadis =====&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63300</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63300"/>
		<updated>2013-05-26T14:43:49Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Teenusest endast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis. Kui GET päringu päisesse panna Accept &amp;quot;text/json&amp;quot;, siis väljastab JSON formaadis.&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 1 - Vastus XML-formaadis =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== TESTI KIRJELDUS 2 - Vastus JSON-formaadis =====&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63299</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63299"/>
		<updated>2013-05-26T14:42:07Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Teenusest endast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis. Kui GET päringu päisesse panna Accept &amp;quot;text/json&amp;quot;, siis väljastab JSON formaadis.&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63298</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63298"/>
		<updated>2013-05-26T14:38:28Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API teenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
Vaikimisi väljastab teenus andmed xml-formaadis.&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63297</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63297"/>
		<updated>2013-05-26T14:36:33Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Teenusest endast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
Osaliselt on teostatud CurrencyController. HomeController ja ValuesController on jäänud sinna projekti templeidist.&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63296</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63296"/>
		<updated>2013-05-26T14:34:32Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API teenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Esimese asjana märkasin ja võibolla abiks ka õppejõule, et ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Seejärel alles saab asuma WEB API testimist.&lt;br /&gt;
&lt;br /&gt;
===== Teenusest endast =====&lt;br /&gt;
Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. CRUD operatsioonidest on esindatud retsensiooni kirjutamise hetkel R-Read.&lt;br /&gt;
&lt;br /&gt;
===== Logimine =====&lt;br /&gt;
Logimise jaoks oli eeldus loodud. Vajalikud koodiread failides Filters/WebAPIActionLoggingAttribute.cs ja Modules/MyModule1.cs oli välja kommenteeritud. Retsensenseeriad ei hakanud kommentaare eemaldama ning logimise osa testima.&lt;br /&gt;
&lt;br /&gt;
===== Kasutajate audentimisest ja autoriseerimisest =====&lt;br /&gt;
Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63295</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63295"/>
		<updated>2013-05-26T14:22:16Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Andmeligipääsu kiht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
Repository poole pealt võiks välja tuua selle, et eeldatud, on et iga objekti repodel on ühesugused meetodid. Projekti edasi arenendes võib see saada pudelikaelaks.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63294</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63294"/>
		<updated>2013-05-26T14:15:16Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Andmeligipääsu kiht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Pisut Internetis ringi kolades, võin öelda, et Factory meetod on pigem klassikaline, ning Dependency Resolver uuemat laadi. Antud lahenduse skoobis, antud tehnikate vahe ei löö välja, aga kui projekt areneb, arvan et Factory meetod võib saada pudelikaelaks. &lt;br /&gt;
&lt;br /&gt;
Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63293</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63293"/>
		<updated>2013-05-26T14:09:54Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Andmeligipääsu kiht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt:&lt;br /&gt;
* Cascade On-Delete seadistamine (Antud võimalust otsisid taga ka retsensiooni autorid. Aitähh :) )&lt;br /&gt;
* Välja kommenteerituna, aga siiski. Kurikuulusatest S-idest lahti, mis iga olemi nime lõppu EF topib.&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63292</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63292"/>
		<updated>2013-05-26T14:05:59Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Kodeerimise stiil ja parimad praktikad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Ära on märgitud viited kui kasutatud weebi ja õppejõudude materjali abi.&lt;br /&gt;
Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63291</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63291"/>
		<updated>2013-05-26T14:03:48Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Arhitektuuriline ja tehnoloogiline ülesehitus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt. Visual Studio solution-failis on eraldi projektina ka WCF-rakendus (WcfService), mis stub&#039;ina ootab tuleviku teostust.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63290</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63290"/>
		<updated>2013-05-26T14:01:29Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Arhitektuuriline ja tehnoloogiline ülesehitus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:&lt;br /&gt;
* andmemudeli teegi (CurrencyModelsLibrary), &lt;br /&gt;
* andme ligipääsu teegi (CurrencyDAL),&lt;br /&gt;
* teenuse enda teostuse (ASPNETMVCService).&lt;br /&gt;
&lt;br /&gt;
Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63289</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63289"/>
		<updated>2013-05-26T13:54:09Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Kodeerimise stiil ja parimad praktikad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Meeldib, et lahendusele on lähenetud minimalistliku printsiibiga: Teha mustris võimalikult vähe muudatusi kui võimalik.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63288</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63288"/>
		<updated>2013-05-26T13:53:32Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API teenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;br /&gt;
&lt;br /&gt;
==== Kodeerimise stiil ja parimad praktikad ====&lt;br /&gt;
Stiil on puhas, vajalikud ja ebaselged kohad ära kommenteeritud. Meeldib, et lahendusele on lähenetud minimalistliku printsiibina: Teha mustris võimalikult vähe muudatusi kui võimalik.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63287</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63287"/>
		<updated>2013-05-26T13:45:23Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API teenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;br /&gt;
Ennem veebi käivitamist tuleb käivitada konsooli rakenduse, mis tekitab vajalikud andmed andmebaasi. Web API teenus töötab api/currency väljastab valuutade nimekirja. Paraku ei ole meetodit, mis kehtivad valuuta vahetuse kursid väljastaks. Ülesandes oli nõutud kasutajate audentimist, haldamist, kasutusstastikia pidamist. Valuuta vahetuse kursi kuvamine võib olla avalik teenus, seetõttu sellel nõudel suurt praktilist rakendust pole, aga miinusena mul tuleb see välja tuua :(.&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63286</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63286"/>
		<updated>2013-05-26T13:26:53Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Andmeligipääsu kiht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Retsenseerija jaoks uudne oli lahendus, kus dependency resolver asemel kasutatakse Factory mustrit. Kasutatud EF erinevaid sättimise võimalusi optimaalse tulemuse saamiseks andmebaasi poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63285</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63285"/>
		<updated>2013-05-26T13:15:28Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Domeeni mudel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
Andmemudel on lihtne ning selge. On, millest õppida. Meeldib mulle, et kasutusel Interface&#039;id olemite ühtlustamiseks (IntegrityContracts). Lisaks teostatud korralik custom validator (NonNegativeDoubleAttribute).&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63284</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63284"/>
		<updated>2013-05-26T13:11:54Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Arhitektuuriline ja tehnoloogiline ülesehitus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63283</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63283"/>
		<updated>2013-05-26T13:11:08Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Arhitektuuriline ja tehnoloogiline ülesehitus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldades projektidena andmemudeli teegi, andme ligipääsu teegi ning teenuse enda teostuse. Kasutusel Code first Entity Framework.&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63282</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63282"/>
		<updated>2013-05-26T12:55:20Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Veebiteenuse retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioon - TeravC===&lt;br /&gt;
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====&lt;br /&gt;
&lt;br /&gt;
==== Domeeni mudel ====&lt;br /&gt;
&lt;br /&gt;
==== Andmeligipääsu kiht ====&lt;br /&gt;
&lt;br /&gt;
==== Web API teenus ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63281</id>
		<title>Hops</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hops&amp;diff=63281"/>
		<updated>2013-05-26T12:52:06Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
&lt;br /&gt;
* Liikmed: &lt;br /&gt;
** Artur Hokkonen&lt;br /&gt;
** Margus Parts&lt;br /&gt;
** Hanno Sirkel&lt;br /&gt;
** Lauri Õunmaa&lt;br /&gt;
&lt;br /&gt;
[[Category:Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2013(kaugõpe)]]&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
=== XML fail ===&lt;br /&gt;
&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;tns:autod xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.example.org/autod autod.xsd &amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;0&amp;quot; mark=&amp;quot;Ford&amp;quot; mudel=&amp;quot;Sierra&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;punane&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;1&amp;quot; mark=&amp;quot;ZAZ&amp;quot; mudel=&amp;quot;969&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;roheline&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;2&amp;quot; mark=&amp;quot;Saab&amp;quot; mudel=&amp;quot;9-5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;bensiin&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;1500&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;3&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;960&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;elekter&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;sinine&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;4&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V40&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;diisel&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2400&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;must&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;tns:auto id=&amp;quot;5&amp;quot; mark=&amp;quot;Volvo&amp;quot; mudel=&amp;quot;V70&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tns:mootor&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kytus&amp;gt;gaas&amp;lt;/tns:kytus&amp;gt;&lt;br /&gt;
      &amp;lt;tns:kubatuur yhik=&amp;quot;ccm&amp;quot;&amp;gt;2000&amp;lt;/tns:kubatuur&amp;gt;&lt;br /&gt;
    &amp;lt;/tns:mootor&amp;gt;&lt;br /&gt;
    &amp;lt;tns:kere v2rv=&amp;quot;valge&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/tns:auto&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD fail ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;schema xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
  targetNamespace=&amp;quot;http://www.example.org/autod&amp;quot; &lt;br /&gt;
  xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&lt;br /&gt;
  elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;kytusSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;bensiin&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;diisel&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;elekter&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;mootorComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kytus&amp;quot; type=&amp;quot;tns:kytusSimpleType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kubatuur&amp;quot; maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    			&amp;lt;complexType&amp;gt;&lt;br /&gt;
    			 	&amp;lt;simpleContent&amp;gt;&lt;br /&gt;
      					&amp;lt;extension base=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
    						&amp;lt;attribute name=&amp;quot;yhik&amp;quot; use=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
		    					&amp;lt;simpleType&amp;gt;&lt;br /&gt;
									&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;ccm&amp;quot;/&amp;gt;&lt;br /&gt;
										&amp;lt;enumeration value=&amp;quot;l&amp;quot;/&amp;gt;&lt;br /&gt;
									&amp;lt;/restriction&amp;gt;&lt;br /&gt;
								&amp;lt;/simpleType&amp;gt;&lt;br /&gt;
							&amp;lt;/attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/extension&amp;gt;&lt;br /&gt;
   					&amp;lt;/simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;/complexType&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;autoComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;mootor&amp;quot; type=&amp;quot;tns:mootorComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;kere&amp;quot; type=&amp;quot;tns:kereComplexType&amp;quot;&lt;br /&gt;
    			maxOccurs=&amp;quot;1&amp;quot; minOccurs=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    	&amp;lt;attribute name=&amp;quot;id&amp;quot; type=&amp;quot;int&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mark&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;mudel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;simpleType name=&amp;quot;v2rvSimpleType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;restriction base=&amp;quot;string&amp;quot;&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;punane&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;roheline&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    		&amp;lt;enumeration value=&amp;quot;sinine&amp;quot;&amp;gt;&amp;lt;/enumeration&amp;gt;&lt;br /&gt;
    	&amp;lt;/restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/simpleType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;kereComplexType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;attribute name=&amp;quot;v2rv&amp;quot; type=&amp;quot;tns:v2rvSimpleType&amp;quot;&amp;gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;element name=&amp;quot;autod&amp;quot; type=&amp;quot;tns:AutodListComplexType&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;complexType name=&amp;quot;AutodListComplexType&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;sequence&amp;gt;&lt;br /&gt;
    		&amp;lt;element name=&amp;quot;auto&amp;quot; type=&amp;quot;tns:autoComplexType&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/element&amp;gt;&lt;br /&gt;
    	&amp;lt;/sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/complexType&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT failid ===&lt;br /&gt;
==== XML -&amp;gt; HTML ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
xmlns:tns=&amp;quot;http://www.example.org/autod&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;html&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;h2&amp;gt;Autode nimekiri&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mark&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mudel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Värv&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Mootor&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:kere/@v2rv&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kytus&amp;quot;/&amp;gt; &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur&amp;quot;/&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;tns:mootor/tns:kubatuur/@yhik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== XML -&amp;gt; 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;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:tns=&amp;quot;http://www.example.org/autod&amp;quot;&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;tns:autod&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;tns:autod/tns:auto&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;@mark=&#039;Volvo&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;auto&amp;gt;&lt;br /&gt;
         &amp;lt;mark&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mark&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;/mark&amp;gt;&lt;br /&gt;
         &amp;lt;mudel&amp;gt;&lt;br /&gt;
           &amp;lt;xsl:value-of select=&amp;quot;@mudel&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/mudel&amp;gt;&lt;br /&gt;
        &amp;lt;/auto&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;/tns:autod&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;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tehtud osa (&amp;quot;&#039;&#039;deadline&#039;&#039;&amp;quot; branch):&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter/tree/deadline1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;Master&#039;&#039;&amp;quot; branch:&lt;br /&gt;
&lt;br /&gt;
https://github.com/onu/currency-converter&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.&lt;br /&gt;
&lt;br /&gt;
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.&lt;br /&gt;
&lt;br /&gt;
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
===XML&#039;i retsensioon===&lt;br /&gt;
====XML====&lt;br /&gt;
XML-failis on dimensioonid&lt;br /&gt;
1. autod&lt;br /&gt;
2. auto&lt;br /&gt;
3. mootor, kere&lt;br /&gt;
4. kytus. kubatuur&lt;br /&gt;
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut &amp;quot;mark&amp;quot; ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut &amp;quot;mudel&amp;quot;olla auto alaelement  samal tasemel koos margiga.&lt;br /&gt;
&lt;br /&gt;
====XSD====&lt;br /&gt;
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.&lt;br /&gt;
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.&lt;br /&gt;
&lt;br /&gt;
====XSL====&lt;br /&gt;
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.&lt;br /&gt;
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).&lt;br /&gt;
&lt;br /&gt;
Meeskond TeravC&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenuse retsensioonid ===&lt;br /&gt;
==== TeravC retsensioon ====&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63113</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63113"/>
		<updated>2013-05-20T19:36:56Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Audentimisest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris (Kasutades nyyd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas yle SSL&#039;i lahendus on t2iesti akstepteeritava turva tasemega. Lahenduse v6tsime kasutades [http://www.asp.net/web-api/overview/security/basic-authentication n2idist veebis]. Parooli r2si hoiame andmebaasis. R2si genereerimiseks kasutasime [http://crackstation.net/hashing-security.htm veebis asuvat moodulit].&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63112</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63112"/>
		<updated>2013-05-20T19:34:27Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Audentimisest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris (Kasutades nyyd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas yle SSL&#039;i lahendus on t2iesti akstepteeritava turva tasemega.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63111</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63111"/>
		<updated>2013-05-20T19:34:01Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Audentimisest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris (Kasutades nyyd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas yle SSL&#039;i vastab turavatase enamikele organisatsioonide vajadustele.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63110</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63110"/>
		<updated>2013-05-20T19:33:25Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API lahendus 2013-05-20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris (Kasutades nyyd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==== Audentimisest ====&lt;br /&gt;
Kasutame basic-audentimist, kuna lihtne realiseerida, samas yle SSL&#039;i vastab turavate enamikele organisatsioonidele vajadustele.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63109</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63109"/>
		<updated>2013-05-20T19:14:14Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Pildi loomine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload api-controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris (Kasutades nyyd juba Image api-controllerit)&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63108</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63108"/>
		<updated>2013-05-20T19:10:26Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Pildi loomine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
* Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
* ImageUpload controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris.&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63107</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63107"/>
		<updated>2013-05-20T19:08:20Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Pildi loomine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
 * Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
 * ImageUpload controller annab tagasi Image tyypi objekti, mida siis saab sisse syya, vajaduse t2iendada, ning PUT k2suga uuendada serveris.&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63103</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63103"/>
		<updated>2013-05-20T18:59:32Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Web API lahendus 2013-05-20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
[http://enos.itcollege.ee/~atsernik/vr2/PictureSolution_2013-05-20.zip PictureSolution_2013-05-20.zip]&lt;br /&gt;
Esmalt vabandame k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63102</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=63102"/>
		<updated>2013-05-20T18:53:51Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Ülesanne 2 - Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== Web API lahendus 2013-05-20 ===&lt;br /&gt;
Esmalt vabandan k6igi retsenseerijate ees - ei j6udnud v2ga testida.&lt;br /&gt;
&lt;br /&gt;
==== Testiabi ====&lt;br /&gt;
===== Pildi loomine =====&lt;br /&gt;
Uue pildi tekitamiseks tuleb laadida pilt ylesse. Selleks kasuta Upload Controllerit (~/Upload). Kasutaja ja parooli saab spikerdada PictureDAL -&amp;gt; Migrations -&amp;gt; Configurations.cs.&lt;br /&gt;
&lt;br /&gt;
===== Uue objekti loomine =====&lt;br /&gt;
N2iteks uue kommentaari lisamiseks kasuta allj2rgnevat p2ringud fiddleris:&lt;br /&gt;
  POST   http://localhost:55878/api/ImageComment/   HTTP/1.1&lt;br /&gt;
  Host: localhost:55878&lt;br /&gt;
  Content-Type: application/json; charset=utf-8&lt;br /&gt;
  Authorization: Basic YW5kcmU6YW5kcmUxMjM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ImageID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Comment&amp;quot;: &amp;quot;Test kommentaar 456&amp;quot;,&lt;br /&gt;
    &amp;quot;AddedDate&amp;quot;: &amp;quot;2013-05-20T00:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;Rating&amp;quot;: 9&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62959</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62959"/>
		<updated>2013-05-11T17:32:28Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimati lisatud pildid&lt;br /&gt;
  - teha teenus, mis väljastab top-rated pildid&lt;br /&gt;
  - teha teenus, mis väljastab pildi kategooriad&lt;br /&gt;
  - teha teenus, mis väljastab valitud kategooria pildid&lt;br /&gt;
  - teha teenus, mis väljastab kasutaja kõik pildid&lt;br /&gt;
  - teha teenus, mis laeb üles pildi serverisse&lt;br /&gt;
  - teha teenus, mis kustutab valitud pildi&lt;br /&gt;
  - teha teenus, mis muudab valitud pildi andmeid&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
  - Versioonihaldus ülesse seada (OK - Oliver)&lt;br /&gt;
  - Domeeni mudel valmis teha (Sh. annotations) (OK - Oliver)&lt;br /&gt;
  - EF raamistik paika (OK - Oliver)&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
     - Image&lt;br /&gt;
     - ImageCategory&lt;br /&gt;
     - ImageComment&lt;br /&gt;
     - ImageRating&lt;br /&gt;
     - ThumbNail&lt;br /&gt;
     - ThumbType (stubs)&lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete)&lt;br /&gt;
     - Image&lt;br /&gt;
     - ImageCategory&lt;br /&gt;
     - ImageComment&lt;br /&gt;
     - ImageRating&lt;br /&gt;
     - ThumbNail&lt;br /&gt;
&lt;br /&gt;
  - Audentimine, Autoriseerimine&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62958</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62958"/>
		<updated>2013-05-11T16:46:26Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimati lisatud pildid&lt;br /&gt;
  - teha teenus, mis väljastab top-rated pildid&lt;br /&gt;
  - teha teenus, mis väljastab pildi kategooriad&lt;br /&gt;
  - teha teenus, mis väljastab valitud kategooria pildid&lt;br /&gt;
  - teha teenus, mis väljastab kasutaja kõik pildid&lt;br /&gt;
  - teha teenus, mis laeb üles pildi serverisse&lt;br /&gt;
  - teha teenus, mis kustutab valitud pildi&lt;br /&gt;
  - teha teenus, mis muudab valitud pildi andmeid&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
  - Versioonihaldus ülesse seada (OK - Oliver)&lt;br /&gt;
  - Domeeni mudel valmis teha (Sh. annotations) (OK - Oliver)&lt;br /&gt;
  - EF raamistik paika (OK - Oliver)&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
     - Image&lt;br /&gt;
     - ImageCategory&lt;br /&gt;
     - ImageComment&lt;br /&gt;
     - ImageRating&lt;br /&gt;
     - ThumbNail&lt;br /&gt;
     - ThumbType (stubs)&lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete)&lt;br /&gt;
     - Image&lt;br /&gt;
     - ImageCategory&lt;br /&gt;
     - ImageComment&lt;br /&gt;
     - ImageRating&lt;br /&gt;
     - ThumbNail&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62957</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62957"/>
		<updated>2013-05-11T16:42:48Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimati lisatud pildid&lt;br /&gt;
  - teha teenus, mis väljastab top-rated pildid&lt;br /&gt;
  - teha teenus, mis väljastab pildi kategooriad&lt;br /&gt;
  - teha teenus, mis väljastab valitud kategooria pildid&lt;br /&gt;
  - teha teenus, mis väljastab kasutaja kõik pildid&lt;br /&gt;
  - teha teenus, mis laeb üles pildi serverisse&lt;br /&gt;
  - teha teenus, mis kustutab valitud pildi&lt;br /&gt;
  - teha teenus, mis muudab valitud pildi andmeid&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
  - Versioonihaldus ülesse seada (OK - Oliver)&lt;br /&gt;
  - Domeeni mudel valmis teha (Sh. annotations) (OK - Oliver)&lt;br /&gt;
  - EF raamistik paika (OK - Oliver)&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)&lt;br /&gt;
     - Image&lt;br /&gt;
     - ImageCategory&lt;br /&gt;
     - ImageComment&lt;br /&gt;
     - ImageRating&lt;br /&gt;
     - ThumbNail&lt;br /&gt;
     - ThumbType (stubs)&lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers)&lt;br /&gt;
    - pildi ylesse laadimine&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62956</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62956"/>
		<updated>2013-05-11T16:37:52Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimati lisatud pildid&lt;br /&gt;
  - teha teenus, mis väljastab top-rated pildid&lt;br /&gt;
  - teha teenus, mis väljastab pildi kategooriad&lt;br /&gt;
  - teha teenus, mis väljastab valitud kategooria pildid&lt;br /&gt;
  - teha teenus, mis väljastab kasutaja kõik pildid&lt;br /&gt;
  - teha teenus, mis laeb üles pildi serverisse&lt;br /&gt;
  - teha teenus, mis kustutab valitud pildi&lt;br /&gt;
  - teha teenus, mis muudab valitud pildi andmeid&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
  - Versioonihaldus ülesse seada&lt;br /&gt;
  - Domeeni mudel valmis teha (Sh. annotations)&lt;br /&gt;
  - EF raamistik paika&lt;br /&gt;
  - Luua standard Repod iga objekti klassi kohta.&lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers)&lt;br /&gt;
    - pildi ylesse laadimine&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62954</id>
		<title>Terav C - Võrgurakendused 2 - projektileht</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Terav_C_-_V%C3%B5rgurakendused_2_-_projektileht&amp;diff=62954"/>
		<updated>2013-05-11T16:22:59Z</updated>

		<summary type="html">&lt;p&gt;Atsernik: /* Tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Üldist ==&lt;br /&gt;
=== Liikmed ===&lt;br /&gt;
* Aleksandr Laidoner&lt;br /&gt;
* Oliver Dalberg&lt;br /&gt;
* Tarmo Sillajõe&lt;br /&gt;
* Andre Tšernikov&lt;br /&gt;
&lt;br /&gt;
=== Teema valik - Pildiportaal ===&lt;br /&gt;
Valisime teemaks pildiportaali.&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 1 - XML ==&lt;br /&gt;
Tähtaeg 15.04.2013&lt;br /&gt;
=== XML - fail ===&lt;br /&gt;
Antud xml&#039;i annab välja Pildiportaali veebiteenus selleks, et kliendid saaks kuvada galerii infot.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii.xml TeravC-galerii.xml]&lt;br /&gt;
&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;galeriid&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;1&amp;quot; kategooria=&amp;quot;Loomad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;      &lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Lind&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Ilus roheline lind&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;200&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;01&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;3&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;3&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;4&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Koer&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Minu koer&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;png&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;230&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;02&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;      &lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
  &amp;lt;galerii id=&amp;quot;2&amp;quot; kategooria=&amp;quot;Linnad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;pildid&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;1&amp;quot; vaade=&amp;quot;suur&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;jpg&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;MB&amp;quot;&amp;gt;2&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
      &amp;lt;pilt number=&amp;quot;2&amp;quot; vaade=&amp;quot;ikoon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimi&amp;gt;Tallinn&amp;lt;/nimi&amp;gt;&lt;br /&gt;
        &amp;lt;kirjeldus&amp;gt;Tallinn kevadel&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
        &amp;lt;formaat&amp;gt;raw&amp;lt;/formaat&amp;gt;&lt;br /&gt;
        &amp;lt;suurus yhik=&amp;quot;KB&amp;quot;&amp;gt;220&amp;lt;/suurus&amp;gt;&lt;br /&gt;
        &amp;lt;lisatud&amp;gt;&lt;br /&gt;
          &amp;lt;paev&amp;gt;08&amp;lt;/paev&amp;gt;&lt;br /&gt;
          &amp;lt;kuu&amp;gt;03&amp;lt;/kuu&amp;gt;&lt;br /&gt;
          &amp;lt;aasta&amp;gt;2012&amp;lt;/aasta&amp;gt;&lt;br /&gt;
        &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
      &amp;lt;/pilt&amp;gt;&lt;br /&gt;
    &amp;lt;/pildid&amp;gt;&lt;br /&gt;
  &amp;lt;/galerii&amp;gt;&lt;br /&gt;
&amp;lt;/galeriid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSL - stiilifailid ===&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 1 - inimsõbralik vaade xml faili sisust ====&lt;br /&gt;
Antud stiilifail vormindab inimsõbralikul tabeli kujul ülaloleva XML&#039;i&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html1.xslt TeravC-galerii-xsl-html1.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;XML to HTML 1&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;style&amp;gt;&lt;br /&gt;
            .theader { font-style:italic; text-decoration:underline; }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/head&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;H1&amp;gt;getPildid sõnumi sisu.&amp;lt;/H1&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Galerii nr. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@id&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;@kategooria&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;theader&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.number&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;pilt.vaade&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;nimi&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;kirjeldus&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;formaat&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;suurus&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@vaade&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;formaat&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;suurus/@yhik&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/table&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stiilifail 2 - galerii vaade (ikoonid) ====&lt;br /&gt;
Antud stiilifail vormindab XML&#039;i galeriilaadseks HTML&#039;iks&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-html2.xslt TeravC-galerii-xsl-html2.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;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;!-- http://www.w3schools.com/css/css_image_gallery.asp --&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;XML to HTML - Gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          div.img&lt;br /&gt;
          {&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          border: 1px solid #0000ff;&lt;br /&gt;
          height: auto;&lt;br /&gt;
          width: auto;&lt;br /&gt;
          float: left;&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          }&lt;br /&gt;
          div.img img&lt;br /&gt;
          {&lt;br /&gt;
          display: inline;&lt;br /&gt;
          margin: 3px;&lt;br /&gt;
          border: 1px solid #ffffff;&lt;br /&gt;
          }&lt;br /&gt;
          div.img a:hover img {border: 1px solid #0000ff;}&lt;br /&gt;
          div.desc&lt;br /&gt;
          {&lt;br /&gt;
          text-align: center;&lt;br /&gt;
          font-weight: normal;&lt;br /&gt;
          width: 120px;&lt;br /&gt;
          margin: 2px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;img&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;img &lt;br /&gt;
                        src=&amp;quot;http://fc09.deviantart.net/fs6/i/2005/039/d/c/Not_Available_Icon_by_blacxthornE.jpg&amp;quot; &lt;br /&gt;
                        width=&amp;quot;110&amp;quot; &lt;br /&gt;
                        height=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
                  &lt;br /&gt;
                   &amp;lt;/a&amp;gt;&lt;br /&gt;
                  &amp;lt;div class=&amp;quot;desc&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&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;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&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;
==== Stiilifail 3 - thumbnails xml ====&lt;br /&gt;
Antud stiilifail vormindab xml&#039;i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i.&lt;br /&gt;
* [http://paat-public.s3.amazonaws.com/ITCollege/VR2/TeravC-galerii-xsl-xml.xslt TeravC-galerii-xsl-xml.xslt]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&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;thumbnails&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;/galeriid/galerii&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;xsl:for-each select =&amp;quot;pildid/pilt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@vaade=&#039;ikoon&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;thumb&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;number&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;nimi&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;nimi&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/nimi&amp;gt;&lt;br /&gt;
                    &amp;lt;kirjeldus&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;kirjeldus&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
                    &amp;lt;url&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt;http://pildiportaal.mingidomeen.ee/getThumb.aspx?id=&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@number&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/url&amp;gt;&lt;br /&gt;
                    &amp;lt;lisatud&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;lisatud/aasta&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;lisatud/kuu&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;lisatud/paev&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lisatud&amp;gt;&lt;br /&gt;
                  &amp;lt;/thumb&amp;gt;&lt;br /&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;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/thumbnails&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Skeemifail ===&lt;br /&gt;
Antud skeemifail mõeldud ülalova ning sellelaadse xml faili valideerimiseks&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:simpleType name=&amp;quot;yhikuTyyp&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;KB&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;MB&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;vaateTyyp&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;ikoon&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:enumeration value=&amp;quot;suur&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;kategooriaTyyp&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:pattern value=&amp;quot;[A-Z][a-z]+&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:element name=&amp;quot;galeriid&amp;quot;&amp;gt;&lt;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;galerii&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;pildid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;200&amp;quot; name=&amp;quot;pilt&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kirjeldus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;formaat&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;suurus&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:unsignedInt&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;yhik&amp;quot; type=&amp;quot;yhikuTyyp&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:element name=&amp;quot;lisatud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;number&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;vaade&amp;quot; type=&amp;quot;vaateTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;kategooria&amp;quot; type=&amp;quot;kategooriaTyyp&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid ==&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
Kodutööna on loodud xml fail pildiportaali veebiteenuse välja andmiseks. Pildiportaal on mõeldud klientidele galerii info kuvamiseks. Xml failis on 6 loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat kui lihtsalt id. Lisaks on loodud ka xsd vormingus skeemifail xml faili valideerimiseks. Xml failile on loodud ka 3 xslt stiilifaili: esimene neist annab välja html vormingus tabeli – tabelis on toodud iga pildi number, vaade, nimi, kirjeldus, vormingu ning suuruse andmed. Lisaks on pildid  tabelitesse jaotatud kategooriate järgi ning galeriid on ka nummerdatud; teise stiilifaili eesmärk on algse xml faili andmetest vormindada galeriilaadne html, mida see stiilifail ka teeb; kolmas stiilifail vormindab algse xml-i ringi selliselt, et kuvab masinsõbralikul kujul xml&#039;i pildi nime, kirjelduse, url aadressi ning lisamise kuupäeva andmetega. Kodutöö vastab seega täielikult esitatud tingimustele. &lt;br /&gt;
&lt;br /&gt;
Kood otseselt kommenteeritud ei ole, aga see-eest on iga faili üldotstarve välja toodud meeskonna wiki lehel iga konkreetse faili juures. Samuti on kood loetav ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga see ei olnud ka nõutud kodutöö ülesande püstituses. Seega ei saa seda lugeda tehtud töö puuduseks hindamise mõttes. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba praegu dokumentatsiooniga alustamine, oleks hea tava järgimine. &lt;br /&gt;
&lt;br /&gt;
Puudustena tooks ehk välja, et pildi juures ei ole pildi lisaja või tegija andmeid. Tänases päevas on igasugused autoriõigused väga kuum teema.&lt;br /&gt;
&lt;br /&gt;
Meeskond Leemur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Esitatud xml’i peaks genereerima Pildiportaali veebiteenus. XML vastab igati kodutöö nõuetes kirjeldatud tingimustele: xml sisaldab kuus loogilist dimensiooni ja kasutatud on piisavalt atribuute. Sisu on igati loogiline, ehk oleks võinud ainult lisada veel ühe dimensiooni ja viia eraldi gruppidesse nö „ikoonid“ ja „suured“ pildid aga eks see on ka suuresti maitse asi. &lt;br /&gt;
&lt;br /&gt;
Esimene xslt fail andis tulemuseks html kujul ilusa tabeli galeriides olevatest piltidest, näha on, et autorid olid sellega ka vaeva näinud ja kenasti tulemuse ära formaatinud. Teine xslt annab juba html kujul galeriivaate ikoonidest, mis on ka valmisolekuga lisada sinna link suuremale pildile (hetkel veel puudub aga pole ka selle ülesande skoobi mõttes oluline).  Kolmas xslt moodustab algsest xml-st uue spetsiifilisema xml faili. Teeb seda päris kenasti, aga url-i leidmisel tekib väike viga. Nimelt ei ole seal arvestatud mitme galerii olemasoluga, kus id-sid alustatakse ühest alates. See on tekitanud selle, et url kahe erineva galerii piltidele sama id-ga on sisult identsed. Antud ülesande mõttes seda veaks ei loeks, kuna tehniliselt kõik toimib aga kui hilisemas faasis ka seda kasutada saab, siis peaks natuke xslt skripti täiendama.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond TeravC  XML kodutöö vastab kõigile esitatud nõuetele ja on hästi teostatud. Kõik esitatud failid ka valideerusid.&lt;br /&gt;
&lt;br /&gt;
Meeskond Hops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 2 - Veebiteenus ==&lt;br /&gt;
Tähtaeg 20.05.2013&lt;br /&gt;
&lt;br /&gt;
=== plaanitav funktsionaalsus ===&lt;br /&gt;
  - teha teenus, mis väljastab viimati lisatud pildid&lt;br /&gt;
  - teha teenus, mis väljastab top-rated pildid&lt;br /&gt;
  - teha teenus, mis väljastab pildi kategooriad&lt;br /&gt;
  - teha teenus, mis väljastab valitud kategooria pildid&lt;br /&gt;
  - teha teenus, mis väljastab kasutaja kõik pildid&lt;br /&gt;
  - teha teenus, mis laeb üles pildi serverisse&lt;br /&gt;
  - teha teenus, mis kustutab valitud pildi&lt;br /&gt;
  - teha teenus, mis muudab valitud pildi andmeid&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
  - Versioonihaldus ülesse seada&lt;br /&gt;
  - Domeeni mudel valmis teha (Sh. annotations)&lt;br /&gt;
  - EF raamistik paika&lt;br /&gt;
  - Funktsionaalsuse teostus (Controllers)&lt;br /&gt;
    - pildi ylesse laadimine&lt;br /&gt;
&lt;br /&gt;
== Ülesanne 3 - Klient ==&lt;br /&gt;
Tähtaeg 10.06.2013&lt;/div&gt;</summary>
		<author><name>Atsernik</name></author>
	</entry>
</feed>