<?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=Uhoogma</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=Uhoogma"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Uhoogma"/>
	<updated>2026-05-10T11:35:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89980</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89980"/>
		<updated>2015-06-11T23:41:56Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda [https://wiki.itcollege.ee/index.php/Dot_muzei Dot muzei] toreda retsensiooni eest ja meeskonda [https://wiki.itcollege.ee/index.php/Meeskond:vertigo Vertigo] kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
&#039;&#039;&#039;NB! Kasutage seda&#039;&#039;&#039; [https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link], see on palju parem kui varasemad. Kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89979</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89979"/>
		<updated>2015-06-11T23:41:30Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond BananaPhone==&lt;br /&gt;
[[BananaPhone|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
*Tiit Tallermaa&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad (Projekt TFinder)==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
Projekti analüüs: [https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2#Anal.C3.BC.C3.BCs Link]&lt;br /&gt;
&lt;br /&gt;
Meie projekt TFinder: [https://www.dropbox.com/s/1677urhpxr9bf1z/TFinderSolutionFinal.zip?dl=0 Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab#XML_andmefaili_retsensioon_meeskonna_Taandarendajad_poolt Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Vertigo : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo Link]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab#XML_andmefaili_retsensioon_meeskonna_Taandarendajad_poolt Link]&lt;br /&gt;
&lt;br /&gt;
Rakenduse retsensioon meeskonnale KRTT : [https://wiki.itcollege.ee/index.php/Talk:KRTT#Rakenduse_retsensioon_meeskonnalt_Taandarendajad link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT veebiteenust ja veebirakendust retsenseeris meeskond HMR, retsensiooniga saab tutvuda [https://wiki.itcollege.ee/index.php/HMR#Retsensioonid_veebiteenusele_ja_klientrakendusele siin.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
* Veebiteenuse + Klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2 retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Taandarendajad]&lt;br /&gt;
* Veebiteenuse + Klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Tab retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Tab Tab]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2. juuni 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris#Veebiteenuse_ja_klientrakenduse_retsensioon_meeskonna_VariableMoods_poolt Hubris] (Veebiteenus ja klientrakendus)&lt;br /&gt;
&lt;br /&gt;
1. juuni 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:TrainSmart#Veebiteenuse_ja_klientrakenduse_retsensioon_meeskonna_VariableMoods_poolt TrainSmart] (Veebiteenuse ja klientrakenduse)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
Klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Hubris#ALTER_eGO_kliendirakenduse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Hubris Hubris]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow#ALTER_eGO_veebiteenuse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow SimpleShow]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#ALTER_eGO_veebiteenuse_ja_klientrakenduse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Taandarendajad]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valminud projekt asub [http://enos.itcollege.ee/~rmandel/DankChat/ siin!] (24.05.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
Analüüs veebiteenusele asub &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow#Anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Lupardid VR2 asub [https://wiki.itcollege.ee/index.php/Talk:Lupardid_VR2 siin]&lt;br /&gt;
&lt;br /&gt;
1. teenuse ja 1. kliendi retsensioon asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Valar_Morghulis siin] - meeskonnale Valar Morghulis&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus ja klientrakendused asuvad siin: https://wiki.itcollege.ee/index.php/Meeskond:vertigo#Vertigo_projekt&lt;br /&gt;
&lt;br /&gt;
Retsensioon Taandarendajate klientrakendusele [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Meeskonna_Vertigo_retsensioon_klientrakendusele asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon KRTT klientrakendusele [https://wiki.itcollege.ee/index.php/Talk:KRTT#Meeskonna_Vertigo_retsensioon_klientrakendusele asub siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt: (Veebiteenus, klientrakendus ja MVC kõik ühes projektis) asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekt:_L.C3.B5plik_versioon siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. veebiteenuse retsensioon meeskonnale &amp;quot;R0ds&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. veebiteenuse retsensioon ja 1. klientrakenduse retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele siin]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale KRTT asub [https://wiki.itcollege.ee/index.php/Talk:KRTT siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
== Meeskond Iread ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Iread Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Talis Tammearu&lt;br /&gt;
* Silver Vanamets&lt;br /&gt;
&lt;br /&gt;
=== Retsensioonid ===&lt;br /&gt;
* XML-i [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* Klintrakenduse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Valar_Morghulis retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis]&lt;br /&gt;
* Veebiteenuse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:vertigo vertigo]&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud Veebiteenuse analüüs [https://wiki.itcollege.ee/index.php/Backbone#Veebiteenuse_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
API [https://wiki.itcollege.ee/index.php/Savi#API_retsensioon_meeskonnale_VariableMoods2 retsensioon] meeskonnale VariableMoods2&lt;br /&gt;
&lt;br /&gt;
Kliendi [https://wiki.itcollege.ee/index.php/Savi#Kliendi_retsensioon_meeskonnale_VariableMoods2 retsensioon] meeskonnale VariableMoods2&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
===Projekti analüüs===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad#Projekti_anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie API ja klientrakenduse kohta saate lugeda [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus_ja_klientrakendus siit!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie retsensioon veebiteenusele meeskonna KRTT töö kohta on siin [https://wiki.itcollege.ee/index.php/HMR#Veebiteenuse_retsensioon]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie retsensioon klientrakendusele meeskonna KRTT töö kohta on siin [https://wiki.itcollege.ee/index.php/HMR#Klientrakenduse_retsensioon]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
*XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid.&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse ja klientrakenduse kohta on esitatud meeskonna kodulehel: [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Veebiteenus], [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Klientrakendus].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Teenuse_retsensioon retsensioon] meeskonnale HMR.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti etapid:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin].&lt;br /&gt;
&lt;br /&gt;
*Esimene XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Teine XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenuse_anal.C3.BC.C3.BCs siin].&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse kohta asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenus siin].&lt;br /&gt;
&lt;br /&gt;
*Info klientrakenduse kohta asub [https://wiki.itcollege.ee/index.php/IT#Klientrakendus siin].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rootkit ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit Koduleht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Jaanus Kääp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML teema lahendused&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit#XML_andmefail XML]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit#XSD_fail XSD]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit#XSL_fail XSL]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit#XML_retsensioonid XML retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rakendused&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Rootkit#Kliendi_rakendus Kliendi rakendus]&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89978</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89978"/>
		<updated>2015-06-11T23:40:33Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 12.06.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda [https://wiki.itcollege.ee/index.php/Dot_muzei Dot muzei] toreda retsensiooni eest ja meeskonda [https://wiki.itcollege.ee/index.php/Meeskond:vertigo Vertigo] kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
&#039;&#039;&#039;Kasutage seda&#039;&#039;&#039; [https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link], see on palju parem kui varasemad. Kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89977</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89977"/>
		<updated>2015-06-11T23:39:57Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 12.06.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda [https://wiki.itcollege.ee/index.php/Dot_muzei Dot muzei] toreda retsentsiooni eest ja meeskonda [https://wiki.itcollege.ee/index.php/Meeskond:vertigo Vertigo] kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
&#039;&#039;&#039;Kasutage seda&#039;&#039;&#039; [https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link], see on palju parem kui varasemad. Kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89976</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89976"/>
		<updated>2015-06-11T23:37:49Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Lõplik versioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda Dot muzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
&#039;&#039;&#039;Kasutage seda&#039;&#039;&#039; [https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link], see on palju parem kui varasemad. Kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89975</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89975"/>
		<updated>2015-06-11T23:36:55Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Lõplik versioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda Dot muzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
&#039;&#039;&#039;Kasutage seda&#039;&#039;&#039;[https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link] kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89974</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89974"/>
		<updated>2015-06-11T23:36:19Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Lõplik versioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda Dot muzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link] kommentaare saab lugeda [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#12.06.2015 siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89973</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89973"/>
		<updated>2015-06-11T23:35:38Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda Dot muzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
===Projekt: Lõplik versioon===&lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7eEhZeTNuWFpCaTg/view?usp=sharing link] kommentaare saab lugeda [link siit]&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89972</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89972"/>
		<updated>2015-06-11T23:33:42Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 12.06.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda Dot muzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89971</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89971"/>
		<updated>2015-06-11T23:33:12Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 12.06.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Bearer &amp;lt;see_token_mille_teie_saite&amp;gt;&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
Content-Length: 133&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mis tegemata&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda DotMuzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89970</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89970"/>
		<updated>2015-06-11T23:27:31Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 12.06.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
selle peale tagastatakse&lt;br /&gt;
&lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
&lt;br /&gt;
verb: PUT&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
Mis tegemata:&lt;br /&gt;
&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpuks tahaks tänada meeskonda DotMuzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89969</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89969"/>
		<updated>2015-06-11T23:25:23Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
==11.06.2015==&lt;br /&gt;
Avastasin, et mul on kuupäevadega mingi jama. Nimelt olen wikisse kirjutanud, et teen kõik korda 10. juuniks aga olin kogu aeg arvestanud 12. juuniga (nägin seda kuupäeva kellegi wikis). Eks näis, igatahes teen edasi.&lt;br /&gt;
Juurdepääs WebApile on piiratud ka äriloogika tasemel - kasutajad saavad vastata vaid küsimustele mida esitati neile (testitud Fiddleriga).&lt;br /&gt;
==12.06.2015==&lt;br /&gt;
Nüüd on valminud projekti viimane versioon:&lt;br /&gt;
&lt;br /&gt;
Taaskord tuleb esmalt käivitada ConsoleTestApp, et luua testsisu, tavakasutajate (kasutajanimesid vaadata Program.cs 76. realt)&lt;br /&gt;
 &lt;br /&gt;
parooliks on kõigil: KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
KVKAdmin poolel on kindlustatud see, et sisse saab logida vaid adminn. ConsoleTestApp&#039;i loodud adminni&lt;br /&gt;
 &lt;br /&gt;
kasutajanimi on: urmas.hoogma@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
ja salasõna: Saruman#3&lt;br /&gt;
&lt;br /&gt;
WebApi kontrollerid on kaitstud:&lt;br /&gt;
&lt;br /&gt;
avalikud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/Questions/&lt;br /&gt;
https://localhost:44305/api/Questions?UserId=&amp;quot;&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserName?id=&lt;br /&gt;
https://localhost:44305/api/AppUsers?nameFragment=&lt;br /&gt;
https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
kaitstud kontrollerid:&lt;br /&gt;
&lt;br /&gt;
https://localhost:44305/api/AppUsers&lt;br /&gt;
https://localhost:44305/api/AppUsers/UserEmail?id=&lt;br /&gt;
https://localhost:44305/api/Questions/Asked?appUserId=&lt;br /&gt;
https://localhost:44305/api/Questions/Unanswered?appUserId=&lt;br /&gt;
https://localhost:44305/api/Account/ChangePassword&lt;br /&gt;
&lt;br /&gt;
WebApi kindlustab (koos KVKBLL-ga), et kasutaja saaks vastata vaid talle esitatud küsimustele millele pole juba vastatud.&lt;br /&gt;
&lt;br /&gt;
Seda saab testida nt Fiddleriga:&lt;br /&gt;
&lt;br /&gt;
Tokeni hankimine:&lt;br /&gt;
&lt;br /&gt;
verb: POST&lt;br /&gt;
&lt;br /&gt;
url: https://localhost:44305/Token&lt;br /&gt;
&lt;br /&gt;
header:&lt;br /&gt;
&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
&lt;br /&gt;
Host: localhost:44305&lt;br /&gt;
&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
request body:&lt;br /&gt;
grant_type=password&amp;amp;username=urmas.hoogma@gmail.com&amp;amp;password=KalaMaja#1&lt;br /&gt;
&lt;br /&gt;
selle peale tagastatakse &lt;br /&gt;
access_token=UgPav-yOsBRvdLCLhCyfPaUkbBTIGKOQ32oyExxeFwl0PUlGwSBhetH59dS3TROnOY13BtpfmG2SDbfQZQ7fiKy3c1nvAXjZH6_p8m3l8Ok2JNPGKUPYxhaXgtc6AKZDbWvg4siTQK_Zyml4wpGU34NAATFS1z5tnyr0jTsndAK9D_Me9k02izrBnaPO4Tk1hbmIAGuEEcU3lXxcd-mQh2og1NELWuWWz_vVP3ukxmLvxiD9BxjVIC5YJLUPmPqSfeAIrDFTFnC8W-BdfGQuf0R7WKI5BrOj47wO7YJYnXl7yOvm3_VeVrNvZlMK_B9tyl4tHH1VX2yDeRLx1k21Zhy4_qZ6rF_dHSHjYFRF32TaT2A9wjYzvhK8rUHn1XjIP4G-FEKTaYphKmDJfDOaey-XaKISfuJOo3FZkHWOE9udXiT81Ok1uin017Rb4RIWsFYgINbZkiWcXvEGhUB3V42C9yjH-nZqzUlVXpM0Hd0ZdUdAr3wGpxErHnz-Rvkm&lt;br /&gt;
(see on muidugi näidis, tegelik token tuleb endal hankida)&lt;br /&gt;
&lt;br /&gt;
Testimine:&lt;br /&gt;
verb: PUT&lt;br /&gt;
url: https://localhost:44305/api/Questions/911&lt;br /&gt;
request body:&lt;br /&gt;
&amp;quot;QuestionId&amp;quot; : 911,&lt;br /&gt;
&amp;quot;AnswerText&amp;quot;: &amp;quot;successful answer&amp;quot;,&lt;br /&gt;
&amp;quot;AskedFromId&amp;quot; : 12,&lt;br /&gt;
&amp;quot;QuestionStatusId&amp;quot; : 3&lt;br /&gt;
}&lt;br /&gt;
kindlustab vastuse salvestamise (kui küsimus 911 on esitatud teile). Kõik muud variandid (vt. WebApi.Controllers.QuestionsController alates reast 101) tagastavad veateate.&lt;br /&gt;
KVKClient&#039;i lisandus paar vaadet mida näeb ainult sisseloginud kasutaja, parooli uutmise võimalus. Ka teavitatakse kasutajat kui teine kasutaja on ta ära blokkinud (esitatud küsimuse (või küsimuste kustutamisega)) vt. WebApi.Controllers.QuestionsController alates reast 183.&lt;br /&gt;
&lt;br /&gt;
Mis tegemata:&lt;br /&gt;
KVKClient: Sisestavate tähemärkide loendamine kasutaja aitamiseks&lt;br /&gt;
  &lt;br /&gt;
KVKAdmin: ei saa muuta olemeid mis sisaldavad kuupäeva (arusaamatu põhjuega veateade)&lt;br /&gt;
  &lt;br /&gt;
ConsoleTestApp: ei genereeri enam korralikult Model.edmx faili (enne Identity POCO-de lisamist toimis, praaegu on näha vaid minu POCOd ja üks seos tabelite vahel. Kui vaadata seoseid tabelite vahel mis on kirjas tabeli definitsioonis siis on kõik olemas)&lt;br /&gt;
&lt;br /&gt;
Tegemata jäid ka hostimine azure&#039;is, põhjalik testimine mobiilibrauseritega ning kõigi veateadete selge kuvamine kasutajale.&lt;br /&gt;
&lt;br /&gt;
Lõpus tahaks tänada meeskonda DotMuzei toreda retsentsiooni eest ja meeskonda Vertigo kelle projektist sain idee kasutada WebApi juurdepääsu piiramiseks kolmand aosapoole lahendust WebApiThrottle&lt;br /&gt;
&lt;br /&gt;
Nüüd küll aitab.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89855</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89855"/>
		<updated>2015-06-10T14:00:58Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
==09.06.2015==&lt;br /&gt;
Kuna ma kasutan nii Identitity Userit kui enda Userit (mis luuakse esimesena) siis sai mul nüüd ka enda Useril täidetud nõue, et email peab olema unikaalne. Sai lisatud ka lehti KVKCliendile ja loodud võimalus seal passwordi muuta, hetkel töötan infinite scrolli kallal. UserPage hetkel ei toimi.&lt;br /&gt;
==10.06.2015==&lt;br /&gt;
KVKClient on enam-vähem valmis. (Refaktoorimise käigus ma midagi suurt ära ei lõhkunud). Asi mis ei toimi on sisestavate tähemärkide kokkulugemine. Infinite scrolli asemel on UserPage lehel uute küsimuste laadimine.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89560</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89560"/>
		<updated>2015-05-30T18:39:13Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89559</id>
		<title>Talk:Meeskond:vertigo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89559"/>
		<updated>2015-05-30T18:33:11Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
&lt;br /&gt;
Meeskonnale Vertigo xml-faili sisuks on IMBD andmete sarnane filmiandmete nimekiri. Kindlasti võib see kasutamist leida ka antud aine järgnevate osade juures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xml&#039;&#039;&#039; - vastab igati nõuetele. Rohket CDATA kasutamist mina veaks ei pea [https://wiki.itcollege.ee/index.php/XML-i_t%C3%B6%C3%B6_retsensioon_meeskonnale_Backbone erinevalt ] kuna filmide kirjeldused, kompaniide nimed jm võivad sisaldada keelatud märke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xsd&#039;&#039;&#039;- ga on palju vaeva nähtud, peale atribuudi id tüübi &amp;quot;unsignedInt&amp;quot;-iks muutmise on määratud ka andmetüüpide miinimumpikkusi ja (vajaduse korral) ka nende maksimaalset esinemiste arvu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; - on kasutatud if-testi sorteerimaks näitlejaid atribuudi väärtuse järgi kahte gruppi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039; - on loovalt kasutatud if-testis XSLT funktsioone position() ja last(), et tekitada komadega eristatud nimekiri. Kui antud koht koodis oleks kirjutatud kujul&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;, &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mitte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;&lt;br /&gt;
  , &lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;              &lt;br /&gt;
siis oleks saanud vältida ka ebavajalikku tühikut enne koma.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;&#039;SmallVersionXML.xslt&#039;&#039;&#039; - on valitud alamhulk Main.xml-is olevatest andmetest.&lt;br /&gt;
&lt;br /&gt;
HTML transformatsioonidel (&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; ja &#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039;) on vaid üks viga. Neil pole deklareeritud dokumenditüüpi. Kui kasutada W3C HTML validaatorit http://validator.w3.org/check tuleb see selgelt välja.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Line 1, Column 1: no document type declaration; implying &amp;quot;&amp;lt;!DOCTYPE HTML SYSTEM&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellest saaks üle lisades xslt-failidesse vahetult enne &amp;lt;html&amp;gt; elemendi algust järgmise rea&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muidu väga hea töö mis väärib maksimumpunkte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Taandarendajad poolt==&lt;br /&gt;
&lt;br /&gt;
Lisaks Identity kasutamisele on meeskond loonud 6 mudelit veel juurde. String tüüpi atribuutidel on ära määratud ka maksimaalsed pikkused, aga pole lisatud veateateid. See võib tekitada pärast andmete sisestamisel arusaamatusi, et miks ei õnnestu mingit stringi sisestada. Muidu on kõik atribuudid nimetatud korrektselt.&lt;br /&gt;
&lt;br /&gt;
WebAppEFContexti failis on näha, kuidas luuakse mängu jaoks andmebaas. Hetkel tundub, et kasutajatel on võimalus ainult mängu mängida, mitte uusi küsimusi postitada. See võiks muidu tore funktsionaalsus olla, mida kunagi juurde lisada. Artworkide filelocationi atribuudist jääb silma, et meeskond on pildid ise kuhugi üles laadinud, et vältida imelike olukordade teket, kus näiteks google-ist leitav pilt on ära kustutatud vahepeal. Kasutusele on võetud interface-d, repod ja UoW, nagu nõutud oli. Ühestki interface-ist ainult ei õnnestu mul leida custom meetodeid.&lt;br /&gt;
&lt;br /&gt;
Meeskond on loonud ka BLL projekti. Iga mudeli jaoks on eraldi DTO loodud, mis pole seotud virtuaalsete listidega. Kahju on näha, et taaskord toimuvad ainult ALL päringud ja ei ole mingit sorteerimist enne. Väikse andmebaasi puhul sellega probleemi ei teki, aga suurema projekti juures muudaks see päringute tegemise väga aeglaseks. Näiteks GetAllWorkNamesByCategory meetodi esialgse päringu võiks teha ära DAL-is, kus oleks võimalik peale DbSeti kohe sorteerida Where-iga. Hea on näha muidu, et meetoditele on ka kommentaarid lisatud.&lt;br /&gt;
&lt;br /&gt;
Web API-s on kasutatud ninjecti nagu nõutud. Siin tundub, et on juba rohkem vaeva nähtud. Kasutatud on ka admini teenuse turvamiseks, mis on suur pluss. Igas meetodis tagastatakse ka BLL-is loodud DTO-sid. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on loodud veebiteenus väga hea. Sellest andmebaasi päringute filtreerimisest võib hetkel mööda vaadata, sest hetkel pole seal palju kirjeid. Kõige rohkem meeldis mulle see, et BLL-i oli kasutatud otstarbekalt, mitte ei loodud seda lihtsalt sellepärast, et ta olemas oleks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
Vertigo veebiteenuse solution sisaldab 5 projekti. Kohe on näha, et kasutusele on võetud Andres Käveri näide Identity kohapealt aines ASP.NET, mis on igati loogiline. Projektis on 6 erinevat mudeli klassi ja lisaks ka identity mudelid. Kõik stringi pikkused on piiratud ja kohati on ka kasutatud required annotatsiooni. Lisaks on domeeni projektis ka üks klass, kus on kirjeldatud ära ka admin kasutajanimi, parool ja ka ühenduse minutiline ja nädalane rate. Selle kasutajaga saab siis veebilehe aadressilt sisse logida ja erinevatele kasutajate admin õigusi määrata ja ka piiranguid muuta. &lt;br /&gt;
&lt;br /&gt;
DAL projektis on korrektselt viidud sisse repository, factory ja uow muster. DAL projekti kihist leiab ka EFConfiguration folderi. Seal sees toimub juba mappimine ja see pärineb identity näitest. WebAppEFContextis on lisaks kasutatud ka Nloggerit ja seed meetodid. Seed meetodi puhul on sisestatud mingisugune põhi andmeid, et jälgida kuidas rakendus siis teenuse peal töötaks. Piltide kohapealt on hea, et pildid on vertigo kuskil endal olemas, mitte kuskil googlis. Selle tõttu on pilt koguaeg kättesaadav ja ei teki olukorda, et keegi on pildi kustutanud.&lt;br /&gt;
&lt;br /&gt;
BLL kihis on samuti kõik nii nagu peaks. Positiivsest küljest võiks kohe välja tuua, et DTO service kihis on tehtud hulgaliselt Linq selekteerimist, et kontrollerite meetodisse anda juba sisse vajalikke andmeid.&lt;br /&gt;
&lt;br /&gt;
WEB-API kohapealt torkab kontrollerite osapealt kohe silma, et DTO puhul ei ole kasutatud interface lahendust ja läbi ninjecti pole kohe konstruktorisse vajalikke service interface klasse sisse antud. Positiivse kohapeal torkab kohe silma, et kontrollerites on kasutatud lisaks ka cachemist.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib öelda, et tegemist on hea tööga. Vertigo on enda maksimaalsed punktid igati ära teeninud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertigo rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakenduse kohapealt on selles meeskonnas rohkem vaeva nähtud. Ilmselt oli vaja tekitada rohkem tööd, kuna liikmeid on antud meeskonnas 5. Nimelt on Vertigo meeskonnal 2 rakendust. Üks neist on WPF rakendus ja teine on MVC rakendus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WPF rakendus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakendust käima pannes oli vaja kohe esmalt kasutaja luua, kuna WEB-API admin kontoga ei olnud võimalik sinna sisse logida. Kasutaja registreerimise osas külvas natukene segadust veateade, kuna registreerimine kohe esimestel kordadel ei õnnestunud. Nimelt veateade väitis mulle korduvalt &amp;quot;Oops! Something went wrong. Check if you have correct e-mail and your passwords match&amp;quot;. Tegemist on väga üldise veateatega ja tegelik probleem oli selles hoopis, et minu valitud parool ei olnud piisavalt pikk. Muidu oli igati mõnus antud rakendust kasutada ja igati kasutajasõbralik. Logout nupu oleks võinud tuua ka main lehele, kuna kohe kõige esimese asjana ei leidnud seda ülesse.&lt;br /&gt;
&lt;br /&gt;
Koodi kohapealt on rakendusel andmete vastuvõtmise kiht eraldi projektis nimega APIClient. APIClient projektis on lisaks mudelitele ka siis service klassid, et andmeid veebiteenusega vahetada. Service klasside osas on hea, et on loodud Base service ja siis ülejäänud service klassid pärivad seda. Config klassi on vastavalt sisse kirjutatud ka kõik urlid, mille poole pöördutakse. URL-ide kohapealt oleks võinud localhost osa kuskile eraldi muutujasse panna, et ei oleks korduvalt selle väljakirjutamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MVC Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MVC rakenduse kohapealt polegi midagi erilist välja tuua. Ehk näiteks seda, et WPF rakenduses oli kasutajal võimalik parooli muuta, aga MVC-s pole seda võimalust antud. Muus osas toimis rakendus korralikult.&lt;br /&gt;
&lt;br /&gt;
Koodi osas kasutab MVC klientrakendus samuti APIClient projekti. Esimesena tekkis kohe küsimus, et kuna antud MVC klientrakendus on ka ASP.NET aine raamis, et miks seal ei kasutata nõutud mustreid? Kontrollerite osas torkab kohe silma, et service klasside sisse toomine kontrolleris on kuidagi lohakas. Oleks võinud ilmselt seda realiseerida kuidagi läbi konstruktori. Positiivsest küljest on kontrollerites kasutatud vaatemudeleid ja on vabanetud nendest &amp;quot;halbadest&amp;quot; viewbagidest. Lisaks on ka kotrolleritele peale pandud role annotatsioonid, mille tulemusena ei saa näiteks registreerimata kasutaja lihtsalt urli &amp;quot;/games&amp;quot; abil mängima hakata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib siiski väita on mõlemad klientrakendused on hästi tehtud. Antud mängu ja disaini natukese edasi arendades on potentsiaalselt vaffa mäng valmis! :)&lt;br /&gt;
&lt;br /&gt;
==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonna Vertigo veebiteenusele ja klientidele==&lt;br /&gt;
&lt;br /&gt;
Projekt on eelmisest aastast tuttav. Tore näha, et ühe õppejõu trikk kes kogu koolis viibitud aja kõigis ainetes sama projekti tegi, tuleb ka teistele tudengitele kasuks.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
====Domain====&lt;br /&gt;
Nagu minu projektis on siingi kasutatud Identity Useri stringidega Id varianti. Vertigo projektis on aga nende endi kasutaja Identity kasutajaga integreeritud.&lt;br /&gt;
Andmemudel sisaldab 6t tabelit mis on piisav. Juurdepääs veebiteenusele on piiratud kasutades sissehitatud võimalusi.&lt;br /&gt;
====Identity====&lt;br /&gt;
Projekt on kõigile niigi tuttav&lt;br /&gt;
====DAL====&lt;br /&gt;
Sisaldab hulgaliselt projekti liikmete poolt kirjutatud meetodeid ilma milleta on normaalse rakenduse loomine mõeldamatu. Ainuke miinus siin on fakt, et LINQ kirjutamisel on sageli kasutatud query expression’eid mitte method LINQt. Projektis on meetod testandmete sisestamiseks.&lt;br /&gt;
====BLL ja WebService==== &lt;br /&gt;
Kontrollerid on kaitstud. Rakendatakse sisu cache’imist. &lt;br /&gt;
 &lt;br /&gt;
===Kliendid===&lt;br /&gt;
Mõlemad kliendid kasutavad ühist veebiteenuse projekti. Varem koodi kvaliteedi kohta öeldu kehtib siingi.&lt;br /&gt;
&lt;br /&gt;
===Üldine=== &lt;br /&gt;
Tundub, et projektis on kasutusele võetud kõik loengutes ja praktikumides õpetatu kaasa arvatud minifitseerimine. Kood on põhjalikult kommenteeritud. Ilmselt Resharperit kasutades on eemaldatud isegi liigseid usinguid.&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Ebamugavuste poolest võib mainida, et WPF kliendi kaudu polnud võimalik kasutajat registreerida (tagastatakse vaid üldine veateade millest pole mingit kasu), ühtlasi oleks võinud mainida kus paiknevad projekti seadistused (mul oli vaja muuta webapi porti, sest ma ei tahtnud oma projekti IIS serveri seadistusi üle kirjutada, see aga nõudis URLide muutmist).&lt;br /&gt;
&lt;br /&gt;
Kuigi WPF kliendi kaudu pole võimalik uut kontot luua on aga võimalik veebikliendi kaudu, loodud kontoga saab seejärel sisse logida ka WPF klienti. Mäng on sisuliselt sama mis eelmise aasta projektis. Silma jäi bugi, et WPF kliendis pakuti kasutajale ainult neid „Artworke“ mis olid selles mängus. See annab WPF kliendi kasutajatele eelise. Väljapakutavate „Artistide“ seas seda bugi polnud.&lt;br /&gt;
&lt;br /&gt;
Üldkokkuvõttes võib tehtu võtta kokku sõnaga „Suurepärane“. Projekt (ja selle tegijad) väärivad kindlasti kõrgeimat hinnet.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89558</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89558"/>
		<updated>2015-05-30T18:30:52Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89557</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89557"/>
		<updated>2015-05-30T18:30:22Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Veebiteenuste retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
(a 600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
Retsenseerisin kahe meeskonna projekte.&lt;br /&gt;
&lt;br /&gt;
===R0dsi=== &lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis Veebiteenuse retsensioon] ja &lt;br /&gt;
===Vertigo===&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele Veebiteenuse ja klientrakenduste retsensioon]&lt;br /&gt;
&lt;br /&gt;
omi. Kuna selgus, et R0dsil puudub klientrakendus siis sai retsensioone kokku kolm mitte neli.&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89556</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89556"/>
		<updated>2015-05-30T18:24:55Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond BananaPhone==&lt;br /&gt;
[[BananaPhone|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
*Tiit Tallermaa&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad (Projekt TFinder)==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
Meie projekt TFinder: [https://www.dropbox.com/s/1677urhpxr9bf1z/TFinderSolutionFinal.zip?dl=0 Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab#XML_andmefaili_retsensioon_meeskonna_Taandarendajad_poolt Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Vertigo : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo Link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow#ALTER_eGO_veebiteenuse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow SimpleShow]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#ALTER_eGO_veebiteenuse_ja_klientrakenduse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Taandarendajad]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valminud projekt asub [http://enos.itcollege.ee/~rmandel/DankChat/ siin!] (24.05.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
Analüüs veebiteenusele asub &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow#Anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Lupardid VR2 asub [https://wiki.itcollege.ee/index.php/Talk:Lupardid_VR2 siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus ja klientrakendused asuvad siin: https://wiki.itcollege.ee/index.php/Meeskond:vertigo#Vertigo_projekt&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt: (Veebiteenus, klientrakendus ja MVC kõik ühes projektis) asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekt:_Versioon_2 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. veebiteenuse retsensioon meeskonnale &amp;quot;R0ds&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. veebiteenuse retsensioon ja 1. klientrakenduse retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Meeskonna_Valar_Morghulis_retsensioon_meeskonna_Vertigo_veebiteenusele_ja_klientidele siin]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale KRTT asub [https://wiki.itcollege.ee/index.php/Talk:KRTT siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
== Meeskond Iread ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Iread Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Talis Tammearu&lt;br /&gt;
* Silver Vanamets&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud Veebiteenuse analüüs [https://wiki.itcollege.ee/index.php/Backbone#Veebiteenuse_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
===Projekti analüüs===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad#Projekti_anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie API ja klientrakenduse kohta saate lugeda [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus_ja_klientrakendus siit!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie retsensioon veebiteenusele meeskonna KRTT töö kohta on siin [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie retsensioon klientrakendusele meeskonna KRTT töö kohta on siin [https://wiki.itcollege.ee/index.php/HMR#Klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
*XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid.&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse ja klientrakenduse kohta on esitatud meeskonna kodulehel: [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Veebiteenus], [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Klientrakendus].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Teenuse_retsensioon retsensioon] meeskonnale HMR.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti etapid:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin].&lt;br /&gt;
&lt;br /&gt;
*Esimene XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Teine XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenuse_anal.C3.BC.C3.BCs siin].&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse kohta asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenus siin].&lt;br /&gt;
&lt;br /&gt;
*Info klientrakenduse kohta asub [https://wiki.itcollege.ee/index.php/IT#Klientrakendus siin].&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89555</id>
		<title>Talk:Meeskond:vertigo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89555"/>
		<updated>2015-05-30T18:24:51Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
&lt;br /&gt;
Meeskonnale Vertigo xml-faili sisuks on IMBD andmete sarnane filmiandmete nimekiri. Kindlasti võib see kasutamist leida ka antud aine järgnevate osade juures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xml&#039;&#039;&#039; - vastab igati nõuetele. Rohket CDATA kasutamist mina veaks ei pea [https://wiki.itcollege.ee/index.php/XML-i_t%C3%B6%C3%B6_retsensioon_meeskonnale_Backbone erinevalt ] kuna filmide kirjeldused, kompaniide nimed jm võivad sisaldada keelatud märke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xsd&#039;&#039;&#039;- ga on palju vaeva nähtud, peale atribuudi id tüübi &amp;quot;unsignedInt&amp;quot;-iks muutmise on määratud ka andmetüüpide miinimumpikkusi ja (vajaduse korral) ka nende maksimaalset esinemiste arvu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; - on kasutatud if-testi sorteerimaks näitlejaid atribuudi väärtuse järgi kahte gruppi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039; - on loovalt kasutatud if-testis XSLT funktsioone position() ja last(), et tekitada komadega eristatud nimekiri. Kui antud koht koodis oleks kirjutatud kujul&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;, &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mitte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;&lt;br /&gt;
  , &lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;              &lt;br /&gt;
siis oleks saanud vältida ka ebavajalikku tühikut enne koma.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;&#039;SmallVersionXML.xslt&#039;&#039;&#039; - on valitud alamhulk Main.xml-is olevatest andmetest.&lt;br /&gt;
&lt;br /&gt;
HTML transformatsioonidel (&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; ja &#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039;) on vaid üks viga. Neil pole deklareeritud dokumenditüüpi. Kui kasutada W3C HTML validaatorit http://validator.w3.org/check tuleb see selgelt välja.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Line 1, Column 1: no document type declaration; implying &amp;quot;&amp;lt;!DOCTYPE HTML SYSTEM&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellest saaks üle lisades xslt-failidesse vahetult enne &amp;lt;html&amp;gt; elemendi algust järgmise rea&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muidu väga hea töö mis väärib maksimumpunkte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Taandarendajad poolt==&lt;br /&gt;
&lt;br /&gt;
Lisaks Identity kasutamisele on meeskond loonud 6 mudelit veel juurde. String tüüpi atribuutidel on ära määratud ka maksimaalsed pikkused, aga pole lisatud veateateid. See võib tekitada pärast andmete sisestamisel arusaamatusi, et miks ei õnnestu mingit stringi sisestada. Muidu on kõik atribuudid nimetatud korrektselt.&lt;br /&gt;
&lt;br /&gt;
WebAppEFContexti failis on näha, kuidas luuakse mängu jaoks andmebaas. Hetkel tundub, et kasutajatel on võimalus ainult mängu mängida, mitte uusi küsimusi postitada. See võiks muidu tore funktsionaalsus olla, mida kunagi juurde lisada. Artworkide filelocationi atribuudist jääb silma, et meeskond on pildid ise kuhugi üles laadinud, et vältida imelike olukordade teket, kus näiteks google-ist leitav pilt on ära kustutatud vahepeal. Kasutusele on võetud interface-d, repod ja UoW, nagu nõutud oli. Ühestki interface-ist ainult ei õnnestu mul leida custom meetodeid.&lt;br /&gt;
&lt;br /&gt;
Meeskond on loonud ka BLL projekti. Iga mudeli jaoks on eraldi DTO loodud, mis pole seotud virtuaalsete listidega. Kahju on näha, et taaskord toimuvad ainult ALL päringud ja ei ole mingit sorteerimist enne. Väikse andmebaasi puhul sellega probleemi ei teki, aga suurema projekti juures muudaks see päringute tegemise väga aeglaseks. Näiteks GetAllWorkNamesByCategory meetodi esialgse päringu võiks teha ära DAL-is, kus oleks võimalik peale DbSeti kohe sorteerida Where-iga. Hea on näha muidu, et meetoditele on ka kommentaarid lisatud.&lt;br /&gt;
&lt;br /&gt;
Web API-s on kasutatud ninjecti nagu nõutud. Siin tundub, et on juba rohkem vaeva nähtud. Kasutatud on ka admini teenuse turvamiseks, mis on suur pluss. Igas meetodis tagastatakse ka BLL-is loodud DTO-sid. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on loodud veebiteenus väga hea. Sellest andmebaasi päringute filtreerimisest võib hetkel mööda vaadata, sest hetkel pole seal palju kirjeid. Kõige rohkem meeldis mulle see, et BLL-i oli kasutatud otstarbekalt, mitte ei loodud seda lihtsalt sellepärast, et ta olemas oleks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
Vertigo veebiteenuse solution sisaldab 5 projekti. Kohe on näha, et kasutusele on võetud Andres Käveri näide Identity kohapealt aines ASP.NET, mis on igati loogiline. Projektis on 6 erinevat mudeli klassi ja lisaks ka identity mudelid. Kõik stringi pikkused on piiratud ja kohati on ka kasutatud required annotatsiooni. Lisaks on domeeni projektis ka üks klass, kus on kirjeldatud ära ka admin kasutajanimi, parool ja ka ühenduse minutiline ja nädalane rate. Selle kasutajaga saab siis veebilehe aadressilt sisse logida ja erinevatele kasutajate admin õigusi määrata ja ka piiranguid muuta. &lt;br /&gt;
&lt;br /&gt;
DAL projektis on korrektselt viidud sisse repository, factory ja uow muster. DAL projekti kihist leiab ka EFConfiguration folderi. Seal sees toimub juba mappimine ja see pärineb identity näitest. WebAppEFContextis on lisaks kasutatud ka Nloggerit ja seed meetodid. Seed meetodi puhul on sisestatud mingisugune põhi andmeid, et jälgida kuidas rakendus siis teenuse peal töötaks. Piltide kohapealt on hea, et pildid on vertigo kuskil endal olemas, mitte kuskil googlis. Selle tõttu on pilt koguaeg kättesaadav ja ei teki olukorda, et keegi on pildi kustutanud.&lt;br /&gt;
&lt;br /&gt;
BLL kihis on samuti kõik nii nagu peaks. Positiivsest küljest võiks kohe välja tuua, et DTO service kihis on tehtud hulgaliselt Linq selekteerimist, et kontrollerite meetodisse anda juba sisse vajalikke andmeid.&lt;br /&gt;
&lt;br /&gt;
WEB-API kohapealt torkab kontrollerite osapealt kohe silma, et DTO puhul ei ole kasutatud interface lahendust ja läbi ninjecti pole kohe konstruktorisse vajalikke service interface klasse sisse antud. Positiivse kohapeal torkab kohe silma, et kontrollerites on kasutatud lisaks ka cachemist.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib öelda, et tegemist on hea tööga. Vertigo on enda maksimaalsed punktid igati ära teeninud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertigo rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakenduse kohapealt on selles meeskonnas rohkem vaeva nähtud. Ilmselt oli vaja tekitada rohkem tööd, kuna liikmeid on antud meeskonnas 5. Nimelt on Vertigo meeskonnal 2 rakendust. Üks neist on WPF rakendus ja teine on MVC rakendus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WPF rakendus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakendust käima pannes oli vaja kohe esmalt kasutaja luua, kuna WEB-API admin kontoga ei olnud võimalik sinna sisse logida. Kasutaja registreerimise osas külvas natukene segadust veateade, kuna registreerimine kohe esimestel kordadel ei õnnestunud. Nimelt veateade väitis mulle korduvalt &amp;quot;Oops! Something went wrong. Check if you have correct e-mail and your passwords match&amp;quot;. Tegemist on väga üldise veateatega ja tegelik probleem oli selles hoopis, et minu valitud parool ei olnud piisavalt pikk. Muidu oli igati mõnus antud rakendust kasutada ja igati kasutajasõbralik. Logout nupu oleks võinud tuua ka main lehele, kuna kohe kõige esimese asjana ei leidnud seda ülesse.&lt;br /&gt;
&lt;br /&gt;
Koodi kohapealt on rakendusel andmete vastuvõtmise kiht eraldi projektis nimega APIClient. APIClient projektis on lisaks mudelitele ka siis service klassid, et andmeid veebiteenusega vahetada. Service klasside osas on hea, et on loodud Base service ja siis ülejäänud service klassid pärivad seda. Config klassi on vastavalt sisse kirjutatud ka kõik urlid, mille poole pöördutakse. URL-ide kohapealt oleks võinud localhost osa kuskile eraldi muutujasse panna, et ei oleks korduvalt selle väljakirjutamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MVC Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MVC rakenduse kohapealt polegi midagi erilist välja tuua. Ehk näiteks seda, et WPF rakenduses oli kasutajal võimalik parooli muuta, aga MVC-s pole seda võimalust antud. Muus osas toimis rakendus korralikult.&lt;br /&gt;
&lt;br /&gt;
Koodi osas kasutab MVC klientrakendus samuti APIClient projekti. Esimesena tekkis kohe küsimus, et kuna antud MVC klientrakendus on ka ASP.NET aine raamis, et miks seal ei kasutata nõutud mustreid? Kontrollerite osas torkab kohe silma, et service klasside sisse toomine kontrolleris on kuidagi lohakas. Oleks võinud ilmselt seda realiseerida kuidagi läbi konstruktori. Positiivsest küljest on kontrollerites kasutatud vaatemudeleid ja on vabanetud nendest &amp;quot;halbadest&amp;quot; viewbagidest. Lisaks on ka kotrolleritele peale pandud role annotatsioonid, mille tulemusena ei saa näiteks registreerimata kasutaja lihtsalt urli &amp;quot;/games&amp;quot; abil mängima hakata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib siiski väita on mõlemad klientrakendused on hästi tehtud. Antud mängu ja disaini natukese edasi arendades on potentsiaalselt vaffa mäng valmis! :)&lt;br /&gt;
&lt;br /&gt;
==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonna Vertigo veebiteenusele ja klientidele==&lt;br /&gt;
&lt;br /&gt;
Projekt on eelmisest aastast tuttav. Tore näha, et ühe õppejõu trikk kes kogu koolis viibitud aja kõigis ainetes sama projekti tegi, tuleb ka teistele tudengitele kasuks.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
===Domain===&lt;br /&gt;
Nagu minu projektis on siingi kasutatud Identity Useri stringidega Id varianti. Vertigo projektis on aga nende endi kasutaja Identity kasutajaga integreeritud.&lt;br /&gt;
Andmemudel sisaldab 6t tabelit mis on piisav. Juurdepääs veebiteenusele on piiratud kasutades sissehitatud võimalusi.&lt;br /&gt;
===Identity===&lt;br /&gt;
Projekt on kõigile niigi tuttav&lt;br /&gt;
===DAL===&lt;br /&gt;
Sisaldab hulgaliselt projekti liikmete poolt kirjutatud meetodeid ilma milleta on normaalse rakenduse loomine mõeldamatu. Ainuke miinus siin on fakt, et LINQ kirjutamisel on sageli kasutatud query expression’eid mitte method LINQt. Projektis on meetod testandmete sisestamiseks.&lt;br /&gt;
===BLL ja WebService=== &lt;br /&gt;
Kontrollerid on kaitstud. Rakendatakse sisu cache’imist. &lt;br /&gt;
 &lt;br /&gt;
==Kliendid==&lt;br /&gt;
Mõlemad kliendid kasutavad ühist veebiteenuse projekti. Varem koodi kvaliteedi kohta öeldu kehtib siingi.&lt;br /&gt;
&lt;br /&gt;
==Üldine== &lt;br /&gt;
Tundub, et projektis on kasutusele võetud kõik loengutes ja praktikumides õpetatu kaasa arvatud minifitseerimine. Kood on põhjalikult kommenteeritud. Ilmselt Resharperit kasutades on eemaldatud isegi liigseid usinguid.&lt;br /&gt;
&lt;br /&gt;
==Kasutamine==&lt;br /&gt;
&lt;br /&gt;
Ebamugavuste poolest võib mainida, et WPF kliendi kaudu polnud võimalik kasutajat registreerida (tagastatakse vaid üldine veateade millest pole mingit kasu), ühtlasi oleks võinud mainida kus paiknevad projekti seadistused (mul oli vaja muuta webapi porti, sest ma ei tahtnud oma projekti IIS serveri seadistusi üle kirjutada, see aga nõudis URLide muutmist).&lt;br /&gt;
&lt;br /&gt;
Kuigi WPF kliendi kaudu pole võimalik uut kontot luua on aga võimalik veebikliendi kaudu, loodud kontoga saab seejärel sisse logida ka WPF klienti. Mäng on sisuliselt sama mis eelmise aasta projektis. Silma jäi bugi, et WPF kliendis pakuti kasutajale ainult neid „Artworke“ mis olid selles mängus. See annab WPF kliendi kasutajatele eelise. Väljapakutavate „Artistide“ seas seda bugi polnud.&lt;br /&gt;
&lt;br /&gt;
Üldkokkuvõttes võib tehtu võtta kokku sõnaga „Suurepärane“. Projekt (ja selle tegijad) väärivad kindlasti kõrgeimat hinnet.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89554</id>
		<title>Talk:Meeskond:vertigo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89554"/>
		<updated>2015-05-30T18:22:31Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Kasutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
&lt;br /&gt;
Meeskonnale Vertigo xml-faili sisuks on IMBD andmete sarnane filmiandmete nimekiri. Kindlasti võib see kasutamist leida ka antud aine järgnevate osade juures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xml&#039;&#039;&#039; - vastab igati nõuetele. Rohket CDATA kasutamist mina veaks ei pea [https://wiki.itcollege.ee/index.php/XML-i_t%C3%B6%C3%B6_retsensioon_meeskonnale_Backbone erinevalt ] kuna filmide kirjeldused, kompaniide nimed jm võivad sisaldada keelatud märke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xsd&#039;&#039;&#039;- ga on palju vaeva nähtud, peale atribuudi id tüübi &amp;quot;unsignedInt&amp;quot;-iks muutmise on määratud ka andmetüüpide miinimumpikkusi ja (vajaduse korral) ka nende maksimaalset esinemiste arvu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; - on kasutatud if-testi sorteerimaks näitlejaid atribuudi väärtuse järgi kahte gruppi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039; - on loovalt kasutatud if-testis XSLT funktsioone position() ja last(), et tekitada komadega eristatud nimekiri. Kui antud koht koodis oleks kirjutatud kujul&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;, &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mitte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;&lt;br /&gt;
  , &lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;              &lt;br /&gt;
siis oleks saanud vältida ka ebavajalikku tühikut enne koma.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;&#039;SmallVersionXML.xslt&#039;&#039;&#039; - on valitud alamhulk Main.xml-is olevatest andmetest.&lt;br /&gt;
&lt;br /&gt;
HTML transformatsioonidel (&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; ja &#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039;) on vaid üks viga. Neil pole deklareeritud dokumenditüüpi. Kui kasutada W3C HTML validaatorit http://validator.w3.org/check tuleb see selgelt välja.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Line 1, Column 1: no document type declaration; implying &amp;quot;&amp;lt;!DOCTYPE HTML SYSTEM&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellest saaks üle lisades xslt-failidesse vahetult enne &amp;lt;html&amp;gt; elemendi algust järgmise rea&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muidu väga hea töö mis väärib maksimumpunkte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Taandarendajad poolt==&lt;br /&gt;
&lt;br /&gt;
Lisaks Identity kasutamisele on meeskond loonud 6 mudelit veel juurde. String tüüpi atribuutidel on ära määratud ka maksimaalsed pikkused, aga pole lisatud veateateid. See võib tekitada pärast andmete sisestamisel arusaamatusi, et miks ei õnnestu mingit stringi sisestada. Muidu on kõik atribuudid nimetatud korrektselt.&lt;br /&gt;
&lt;br /&gt;
WebAppEFContexti failis on näha, kuidas luuakse mängu jaoks andmebaas. Hetkel tundub, et kasutajatel on võimalus ainult mängu mängida, mitte uusi küsimusi postitada. See võiks muidu tore funktsionaalsus olla, mida kunagi juurde lisada. Artworkide filelocationi atribuudist jääb silma, et meeskond on pildid ise kuhugi üles laadinud, et vältida imelike olukordade teket, kus näiteks google-ist leitav pilt on ära kustutatud vahepeal. Kasutusele on võetud interface-d, repod ja UoW, nagu nõutud oli. Ühestki interface-ist ainult ei õnnestu mul leida custom meetodeid.&lt;br /&gt;
&lt;br /&gt;
Meeskond on loonud ka BLL projekti. Iga mudeli jaoks on eraldi DTO loodud, mis pole seotud virtuaalsete listidega. Kahju on näha, et taaskord toimuvad ainult ALL päringud ja ei ole mingit sorteerimist enne. Väikse andmebaasi puhul sellega probleemi ei teki, aga suurema projekti juures muudaks see päringute tegemise väga aeglaseks. Näiteks GetAllWorkNamesByCategory meetodi esialgse päringu võiks teha ära DAL-is, kus oleks võimalik peale DbSeti kohe sorteerida Where-iga. Hea on näha muidu, et meetoditele on ka kommentaarid lisatud.&lt;br /&gt;
&lt;br /&gt;
Web API-s on kasutatud ninjecti nagu nõutud. Siin tundub, et on juba rohkem vaeva nähtud. Kasutatud on ka admini teenuse turvamiseks, mis on suur pluss. Igas meetodis tagastatakse ka BLL-is loodud DTO-sid. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on loodud veebiteenus väga hea. Sellest andmebaasi päringute filtreerimisest võib hetkel mööda vaadata, sest hetkel pole seal palju kirjeid. Kõige rohkem meeldis mulle see, et BLL-i oli kasutatud otstarbekalt, mitte ei loodud seda lihtsalt sellepärast, et ta olemas oleks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
Vertigo veebiteenuse solution sisaldab 5 projekti. Kohe on näha, et kasutusele on võetud Andres Käveri näide Identity kohapealt aines ASP.NET, mis on igati loogiline. Projektis on 6 erinevat mudeli klassi ja lisaks ka identity mudelid. Kõik stringi pikkused on piiratud ja kohati on ka kasutatud required annotatsiooni. Lisaks on domeeni projektis ka üks klass, kus on kirjeldatud ära ka admin kasutajanimi, parool ja ka ühenduse minutiline ja nädalane rate. Selle kasutajaga saab siis veebilehe aadressilt sisse logida ja erinevatele kasutajate admin õigusi määrata ja ka piiranguid muuta. &lt;br /&gt;
&lt;br /&gt;
DAL projektis on korrektselt viidud sisse repository, factory ja uow muster. DAL projekti kihist leiab ka EFConfiguration folderi. Seal sees toimub juba mappimine ja see pärineb identity näitest. WebAppEFContextis on lisaks kasutatud ka Nloggerit ja seed meetodid. Seed meetodi puhul on sisestatud mingisugune põhi andmeid, et jälgida kuidas rakendus siis teenuse peal töötaks. Piltide kohapealt on hea, et pildid on vertigo kuskil endal olemas, mitte kuskil googlis. Selle tõttu on pilt koguaeg kättesaadav ja ei teki olukorda, et keegi on pildi kustutanud.&lt;br /&gt;
&lt;br /&gt;
BLL kihis on samuti kõik nii nagu peaks. Positiivsest küljest võiks kohe välja tuua, et DTO service kihis on tehtud hulgaliselt Linq selekteerimist, et kontrollerite meetodisse anda juba sisse vajalikke andmeid.&lt;br /&gt;
&lt;br /&gt;
WEB-API kohapealt torkab kontrollerite osapealt kohe silma, et DTO puhul ei ole kasutatud interface lahendust ja läbi ninjecti pole kohe konstruktorisse vajalikke service interface klasse sisse antud. Positiivse kohapeal torkab kohe silma, et kontrollerites on kasutatud lisaks ka cachemist.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib öelda, et tegemist on hea tööga. Vertigo on enda maksimaalsed punktid igati ära teeninud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertigo rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakenduse kohapealt on selles meeskonnas rohkem vaeva nähtud. Ilmselt oli vaja tekitada rohkem tööd, kuna liikmeid on antud meeskonnas 5. Nimelt on Vertigo meeskonnal 2 rakendust. Üks neist on WPF rakendus ja teine on MVC rakendus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WPF rakendus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakendust käima pannes oli vaja kohe esmalt kasutaja luua, kuna WEB-API admin kontoga ei olnud võimalik sinna sisse logida. Kasutaja registreerimise osas külvas natukene segadust veateade, kuna registreerimine kohe esimestel kordadel ei õnnestunud. Nimelt veateade väitis mulle korduvalt &amp;quot;Oops! Something went wrong. Check if you have correct e-mail and your passwords match&amp;quot;. Tegemist on väga üldise veateatega ja tegelik probleem oli selles hoopis, et minu valitud parool ei olnud piisavalt pikk. Muidu oli igati mõnus antud rakendust kasutada ja igati kasutajasõbralik. Logout nupu oleks võinud tuua ka main lehele, kuna kohe kõige esimese asjana ei leidnud seda ülesse.&lt;br /&gt;
&lt;br /&gt;
Koodi kohapealt on rakendusel andmete vastuvõtmise kiht eraldi projektis nimega APIClient. APIClient projektis on lisaks mudelitele ka siis service klassid, et andmeid veebiteenusega vahetada. Service klasside osas on hea, et on loodud Base service ja siis ülejäänud service klassid pärivad seda. Config klassi on vastavalt sisse kirjutatud ka kõik urlid, mille poole pöördutakse. URL-ide kohapealt oleks võinud localhost osa kuskile eraldi muutujasse panna, et ei oleks korduvalt selle väljakirjutamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MVC Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MVC rakenduse kohapealt polegi midagi erilist välja tuua. Ehk näiteks seda, et WPF rakenduses oli kasutajal võimalik parooli muuta, aga MVC-s pole seda võimalust antud. Muus osas toimis rakendus korralikult.&lt;br /&gt;
&lt;br /&gt;
Koodi osas kasutab MVC klientrakendus samuti APIClient projekti. Esimesena tekkis kohe küsimus, et kuna antud MVC klientrakendus on ka ASP.NET aine raamis, et miks seal ei kasutata nõutud mustreid? Kontrollerite osas torkab kohe silma, et service klasside sisse toomine kontrolleris on kuidagi lohakas. Oleks võinud ilmselt seda realiseerida kuidagi läbi konstruktori. Positiivsest küljest on kontrollerites kasutatud vaatemudeleid ja on vabanetud nendest &amp;quot;halbadest&amp;quot; viewbagidest. Lisaks on ka kotrolleritele peale pandud role annotatsioonid, mille tulemusena ei saa näiteks registreerimata kasutaja lihtsalt urli &amp;quot;/games&amp;quot; abil mängima hakata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib siiski väita on mõlemad klientrakendused on hästi tehtud. Antud mängu ja disaini natukese edasi arendades on potentsiaalselt vaffa mäng valmis! :)&lt;br /&gt;
&lt;br /&gt;
==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonna Vertigo veebiteenusele ja klientidele==&lt;br /&gt;
&lt;br /&gt;
Projekt on eelmisest aastast tuttav. Tore näha, et ühe õppejõu trikk kes kogu koolis viibitud aja kõigis ainetes sama projekti tegi, tuleb ka teistele tudengitele kasuks.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
===Domain===&lt;br /&gt;
Nagu minu projektis on siingi kasutatud Identity Useri stringidega Id varianti. Vertigo projektis on aga nende endi kasutaja Identity kasutajaga integreeritud.&lt;br /&gt;
Andmemudel sisaldab 6t tabelit mis on piisav. Juurdepääs veebiteenusele on piiratud kasutades sissehitatud võimalusi.&lt;br /&gt;
===Identity===&lt;br /&gt;
Projekt on kõigile niigi tuttav&lt;br /&gt;
===DAL===&lt;br /&gt;
Sisaldab hulgaliselt projekti liikmete poolt kirjutatud meetodeid ilma milleta on normaalse rakenduse loomine mõeldamatu. Ainuke miinus siin on fakt, et LINQ kirjutamisel on sageli kasutatud query expression’eid mitte method LINQt. Projektis on meetod testandmete sisestamiseks.&lt;br /&gt;
===BLL ja WebService=== &lt;br /&gt;
Kontrollerid on kaitstud. Rakendatakse sisu cache’imist. &lt;br /&gt;
 &lt;br /&gt;
==Kliendid==&lt;br /&gt;
Mõlemad kliendid kasutavad ühist veebiteenuse projekti. Varem koodi kvaliteedi kohta öeldu kehtib siingi.&lt;br /&gt;
&lt;br /&gt;
==Üldine== &lt;br /&gt;
Tundub, et projektis on kasutusele võetud kõik loengutes ja praktikumides õpetatu kaasa arvatud minifitseerimine. Kood on põhjalikult kommenteeritud. Ilmselt Resharperit kasutades on isegi liigseid usinguid eemaldatud.&lt;br /&gt;
&lt;br /&gt;
==Kasutamine==&lt;br /&gt;
&lt;br /&gt;
Ebamugavuste poolest võib mainida, et WPF kliendi kaudu polnud võimalik kasutajat registreerida (tagastatakse vaid üldine veateade millest pole mingit kasu), ühtlasi oleks võinud mainida kus paiknevad projekti seadistused (mul oli vaja muuta webapi porti, sest ma ei tahtnud oma projekti IIS serveri seadistusi üle kirjutada, see aga nõudis URLide muutmist).&lt;br /&gt;
&lt;br /&gt;
Kuigi WPF kliendi kaudu pole võimalik uut kontot luua on aga võimalik veebikliendi kaudu, loodud kontoga saab seejärel sisse logida ka WPF klienti. Mäng on sisuliselt sama mis eelmise aasta projektis. Silma jäi bugi, et WPF kliendis pakuti kasutajale ainult neid „Artworke“ mis olid selles mängus. See annab WPF kliendi kasutajatele eelise. Väljapakutavate „Artistide“ seas seda bugi polnud.&lt;br /&gt;
&lt;br /&gt;
Üldkokkuvõttes võib tehtu võtta kokku sõnaga „Suurepärane“. Projekt (ja selle tegijad) väärivad kindlasti kõrgeimat hinnet.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89553</id>
		<title>Talk:Meeskond:vertigo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89553"/>
		<updated>2015-05-30T18:18:17Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskonna Valar Morghulis retsensioon meeskonnale Vertigo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
&lt;br /&gt;
Meeskonnale Vertigo xml-faili sisuks on IMBD andmete sarnane filmiandmete nimekiri. Kindlasti võib see kasutamist leida ka antud aine järgnevate osade juures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xml&#039;&#039;&#039; - vastab igati nõuetele. Rohket CDATA kasutamist mina veaks ei pea [https://wiki.itcollege.ee/index.php/XML-i_t%C3%B6%C3%B6_retsensioon_meeskonnale_Backbone erinevalt ] kuna filmide kirjeldused, kompaniide nimed jm võivad sisaldada keelatud märke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xsd&#039;&#039;&#039;- ga on palju vaeva nähtud, peale atribuudi id tüübi &amp;quot;unsignedInt&amp;quot;-iks muutmise on määratud ka andmetüüpide miinimumpikkusi ja (vajaduse korral) ka nende maksimaalset esinemiste arvu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; - on kasutatud if-testi sorteerimaks näitlejaid atribuudi väärtuse järgi kahte gruppi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039; - on loovalt kasutatud if-testis XSLT funktsioone position() ja last(), et tekitada komadega eristatud nimekiri. Kui antud koht koodis oleks kirjutatud kujul&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;, &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mitte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;&lt;br /&gt;
  , &lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;              &lt;br /&gt;
siis oleks saanud vältida ka ebavajalikku tühikut enne koma.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;&#039;SmallVersionXML.xslt&#039;&#039;&#039; - on valitud alamhulk Main.xml-is olevatest andmetest.&lt;br /&gt;
&lt;br /&gt;
HTML transformatsioonidel (&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; ja &#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039;) on vaid üks viga. Neil pole deklareeritud dokumenditüüpi. Kui kasutada W3C HTML validaatorit http://validator.w3.org/check tuleb see selgelt välja.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Line 1, Column 1: no document type declaration; implying &amp;quot;&amp;lt;!DOCTYPE HTML SYSTEM&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellest saaks üle lisades xslt-failidesse vahetult enne &amp;lt;html&amp;gt; elemendi algust järgmise rea&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muidu väga hea töö mis väärib maksimumpunkte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Taandarendajad poolt==&lt;br /&gt;
&lt;br /&gt;
Lisaks Identity kasutamisele on meeskond loonud 6 mudelit veel juurde. String tüüpi atribuutidel on ära määratud ka maksimaalsed pikkused, aga pole lisatud veateateid. See võib tekitada pärast andmete sisestamisel arusaamatusi, et miks ei õnnestu mingit stringi sisestada. Muidu on kõik atribuudid nimetatud korrektselt.&lt;br /&gt;
&lt;br /&gt;
WebAppEFContexti failis on näha, kuidas luuakse mängu jaoks andmebaas. Hetkel tundub, et kasutajatel on võimalus ainult mängu mängida, mitte uusi küsimusi postitada. See võiks muidu tore funktsionaalsus olla, mida kunagi juurde lisada. Artworkide filelocationi atribuudist jääb silma, et meeskond on pildid ise kuhugi üles laadinud, et vältida imelike olukordade teket, kus näiteks google-ist leitav pilt on ära kustutatud vahepeal. Kasutusele on võetud interface-d, repod ja UoW, nagu nõutud oli. Ühestki interface-ist ainult ei õnnestu mul leida custom meetodeid.&lt;br /&gt;
&lt;br /&gt;
Meeskond on loonud ka BLL projekti. Iga mudeli jaoks on eraldi DTO loodud, mis pole seotud virtuaalsete listidega. Kahju on näha, et taaskord toimuvad ainult ALL päringud ja ei ole mingit sorteerimist enne. Väikse andmebaasi puhul sellega probleemi ei teki, aga suurema projekti juures muudaks see päringute tegemise väga aeglaseks. Näiteks GetAllWorkNamesByCategory meetodi esialgse päringu võiks teha ära DAL-is, kus oleks võimalik peale DbSeti kohe sorteerida Where-iga. Hea on näha muidu, et meetoditele on ka kommentaarid lisatud.&lt;br /&gt;
&lt;br /&gt;
Web API-s on kasutatud ninjecti nagu nõutud. Siin tundub, et on juba rohkem vaeva nähtud. Kasutatud on ka admini teenuse turvamiseks, mis on suur pluss. Igas meetodis tagastatakse ka BLL-is loodud DTO-sid. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on loodud veebiteenus väga hea. Sellest andmebaasi päringute filtreerimisest võib hetkel mööda vaadata, sest hetkel pole seal palju kirjeid. Kõige rohkem meeldis mulle see, et BLL-i oli kasutatud otstarbekalt, mitte ei loodud seda lihtsalt sellepärast, et ta olemas oleks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
Vertigo veebiteenuse solution sisaldab 5 projekti. Kohe on näha, et kasutusele on võetud Andres Käveri näide Identity kohapealt aines ASP.NET, mis on igati loogiline. Projektis on 6 erinevat mudeli klassi ja lisaks ka identity mudelid. Kõik stringi pikkused on piiratud ja kohati on ka kasutatud required annotatsiooni. Lisaks on domeeni projektis ka üks klass, kus on kirjeldatud ära ka admin kasutajanimi, parool ja ka ühenduse minutiline ja nädalane rate. Selle kasutajaga saab siis veebilehe aadressilt sisse logida ja erinevatele kasutajate admin õigusi määrata ja ka piiranguid muuta. &lt;br /&gt;
&lt;br /&gt;
DAL projektis on korrektselt viidud sisse repository, factory ja uow muster. DAL projekti kihist leiab ka EFConfiguration folderi. Seal sees toimub juba mappimine ja see pärineb identity näitest. WebAppEFContextis on lisaks kasutatud ka Nloggerit ja seed meetodid. Seed meetodi puhul on sisestatud mingisugune põhi andmeid, et jälgida kuidas rakendus siis teenuse peal töötaks. Piltide kohapealt on hea, et pildid on vertigo kuskil endal olemas, mitte kuskil googlis. Selle tõttu on pilt koguaeg kättesaadav ja ei teki olukorda, et keegi on pildi kustutanud.&lt;br /&gt;
&lt;br /&gt;
BLL kihis on samuti kõik nii nagu peaks. Positiivsest küljest võiks kohe välja tuua, et DTO service kihis on tehtud hulgaliselt Linq selekteerimist, et kontrollerite meetodisse anda juba sisse vajalikke andmeid.&lt;br /&gt;
&lt;br /&gt;
WEB-API kohapealt torkab kontrollerite osapealt kohe silma, et DTO puhul ei ole kasutatud interface lahendust ja läbi ninjecti pole kohe konstruktorisse vajalikke service interface klasse sisse antud. Positiivse kohapeal torkab kohe silma, et kontrollerites on kasutatud lisaks ka cachemist.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib öelda, et tegemist on hea tööga. Vertigo on enda maksimaalsed punktid igati ära teeninud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertigo rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakenduse kohapealt on selles meeskonnas rohkem vaeva nähtud. Ilmselt oli vaja tekitada rohkem tööd, kuna liikmeid on antud meeskonnas 5. Nimelt on Vertigo meeskonnal 2 rakendust. Üks neist on WPF rakendus ja teine on MVC rakendus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WPF rakendus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakendust käima pannes oli vaja kohe esmalt kasutaja luua, kuna WEB-API admin kontoga ei olnud võimalik sinna sisse logida. Kasutaja registreerimise osas külvas natukene segadust veateade, kuna registreerimine kohe esimestel kordadel ei õnnestunud. Nimelt veateade väitis mulle korduvalt &amp;quot;Oops! Something went wrong. Check if you have correct e-mail and your passwords match&amp;quot;. Tegemist on väga üldise veateatega ja tegelik probleem oli selles hoopis, et minu valitud parool ei olnud piisavalt pikk. Muidu oli igati mõnus antud rakendust kasutada ja igati kasutajasõbralik. Logout nupu oleks võinud tuua ka main lehele, kuna kohe kõige esimese asjana ei leidnud seda ülesse.&lt;br /&gt;
&lt;br /&gt;
Koodi kohapealt on rakendusel andmete vastuvõtmise kiht eraldi projektis nimega APIClient. APIClient projektis on lisaks mudelitele ka siis service klassid, et andmeid veebiteenusega vahetada. Service klasside osas on hea, et on loodud Base service ja siis ülejäänud service klassid pärivad seda. Config klassi on vastavalt sisse kirjutatud ka kõik urlid, mille poole pöördutakse. URL-ide kohapealt oleks võinud localhost osa kuskile eraldi muutujasse panna, et ei oleks korduvalt selle väljakirjutamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MVC Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MVC rakenduse kohapealt polegi midagi erilist välja tuua. Ehk näiteks seda, et WPF rakenduses oli kasutajal võimalik parooli muuta, aga MVC-s pole seda võimalust antud. Muus osas toimis rakendus korralikult.&lt;br /&gt;
&lt;br /&gt;
Koodi osas kasutab MVC klientrakendus samuti APIClient projekti. Esimesena tekkis kohe küsimus, et kuna antud MVC klientrakendus on ka ASP.NET aine raamis, et miks seal ei kasutata nõutud mustreid? Kontrollerite osas torkab kohe silma, et service klasside sisse toomine kontrolleris on kuidagi lohakas. Oleks võinud ilmselt seda realiseerida kuidagi läbi konstruktori. Positiivsest küljest on kontrollerites kasutatud vaatemudeleid ja on vabanetud nendest &amp;quot;halbadest&amp;quot; viewbagidest. Lisaks on ka kotrolleritele peale pandud role annotatsioonid, mille tulemusena ei saa näiteks registreerimata kasutaja lihtsalt urli &amp;quot;/games&amp;quot; abil mängima hakata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib siiski väita on mõlemad klientrakendused on hästi tehtud. Antud mängu ja disaini natukese edasi arendades on potentsiaalselt vaffa mäng valmis! :)&lt;br /&gt;
&lt;br /&gt;
==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonna Vertigo veebiteenusele ja klientidele==&lt;br /&gt;
&lt;br /&gt;
Projekt on eelmisest aastast tuttav. Tore näha, et ühe õppejõu trikk kes kogu koolis viibitud aja kõigis ainetes sama projekti tegi, tuleb ka teistele tudengitele kasuks.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
===Domain===&lt;br /&gt;
Nagu minu projektis on siingi kasutatud Identity Useri stringidega Id varianti. Vertigo projektis on aga nende endi kasutaja Identity kasutajaga integreeritud.&lt;br /&gt;
Andmemudel sisaldab 6t tabelit mis on piisav. Juurdepääs veebiteenusele on piiratud kasutades sissehitatud võimalusi.&lt;br /&gt;
===Identity===&lt;br /&gt;
Projekt on kõigile niigi tuttav&lt;br /&gt;
===DAL===&lt;br /&gt;
Sisaldab hulgaliselt projekti liikmete poolt kirjutatud meetodeid ilma milleta on normaalse rakenduse loomine mõeldamatu. Ainuke miinus siin on fakt, et LINQ kirjutamisel on sageli kasutatud query expression’eid mitte method LINQt. Projektis on meetod testandmete sisestamiseks.&lt;br /&gt;
===BLL ja WebService=== &lt;br /&gt;
Kontrollerid on kaitstud. Rakendatakse sisu cache’imist. &lt;br /&gt;
 &lt;br /&gt;
==Kliendid==&lt;br /&gt;
Mõlemad kliendid kasutavad ühist veebiteenuse projekti. Varem koodi kvaliteedi kohta öeldu kehtib siingi.&lt;br /&gt;
&lt;br /&gt;
==Üldine== &lt;br /&gt;
Tundub, et projektis on kasutusele võetud kõik loengutes ja praktikumides õpetatu kaasa arvatud minifitseerimine. Kood on põhjalikult kommenteeritud. Ilmselt Resharperit kasutades on isegi liigseid usinguid eemaldatud.&lt;br /&gt;
&lt;br /&gt;
==Kasutamine==&lt;br /&gt;
&lt;br /&gt;
Ebamugavuste poolest võib mainida, et WPF kliendi kaudu polnud võimalik kasutajat registreerida, ühtlasi oleks võinud mainida kus paiknevad projekti seadistused (mul oli vaja muuta webapi porti, sest ma ei tahtnud oma projekti IIS serveri seadistusi üle kirjutada).&lt;br /&gt;
&lt;br /&gt;
Kahetsusega peab ütlema ka seda, et WPF kliendi kaudu pole võimalik uut kontot luua. Küll on see aga võimalik veebikliendi kaudu. Mäng on sisuliselt sama mis eelmise aasta projektis. Silma jäi bugi, et WPF kliendis pakuti kasutajale ainult neid „Artworke“ mis olid selles mängus. See annab WPF kliendi kasutajatele eelise. Väljapakutavate „Artistide“ seas seda bugi polnud.&lt;br /&gt;
&lt;br /&gt;
Üldkokkuvõttes võib tehtu võtta kokku sõnaga „Suurepärane“. Projekt (ja selle tegijad) väärib kindlasti kõrgeimat hinnet.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89552</id>
		<title>Talk:Meeskond:vertigo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:vertigo&amp;diff=89552"/>
		<updated>2015-05-30T17:51:18Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
&lt;br /&gt;
Meeskonnale Vertigo xml-faili sisuks on IMBD andmete sarnane filmiandmete nimekiri. Kindlasti võib see kasutamist leida ka antud aine järgnevate osade juures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xml&#039;&#039;&#039; - vastab igati nõuetele. Rohket CDATA kasutamist mina veaks ei pea [https://wiki.itcollege.ee/index.php/XML-i_t%C3%B6%C3%B6_retsensioon_meeskonnale_Backbone erinevalt ] kuna filmide kirjeldused, kompaniide nimed jm võivad sisaldada keelatud märke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main.xsd&#039;&#039;&#039;- ga on palju vaeva nähtud, peale atribuudi id tüübi &amp;quot;unsignedInt&amp;quot;-iks muutmise on määratud ka andmetüüpide miinimumpikkusi ja (vajaduse korral) ka nende maksimaalset esinemiste arvu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; - on kasutatud if-testi sorteerimaks näitlejaid atribuudi väärtuse järgi kahte gruppi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039; - on loovalt kasutatud if-testis XSLT funktsioone position() ja last(), et tekitada komadega eristatud nimekiri. Kui antud koht koodis oleks kirjutatud kujul&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;, &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
mitte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;position() != last()&amp;quot;&amp;gt;&lt;br /&gt;
  , &lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;              &lt;br /&gt;
siis oleks saanud vältida ka ebavajalikku tühikut enne koma.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;&#039;SmallVersionXML.xslt&#039;&#039;&#039; - on valitud alamhulk Main.xml-is olevatest andmetest.&lt;br /&gt;
&lt;br /&gt;
HTML transformatsioonidel (&#039;&#039;&#039;Actors.xslt&#039;&#039;&#039; ja &#039;&#039;&#039;ShorterMovies.xslt&#039;&#039;&#039;) on vaid üks viga. Neil pole deklareeritud dokumenditüüpi. Kui kasutada W3C HTML validaatorit http://validator.w3.org/check tuleb see selgelt välja.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Line 1, Column 1: no document type declaration; implying &amp;quot;&amp;lt;!DOCTYPE HTML SYSTEM&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sellest saaks üle lisades xslt-failidesse vahetult enne &amp;lt;html&amp;gt; elemendi algust järgmise rea&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muidu väga hea töö mis väärib maksimumpunkte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Taandarendajad poolt==&lt;br /&gt;
&lt;br /&gt;
Lisaks Identity kasutamisele on meeskond loonud 6 mudelit veel juurde. String tüüpi atribuutidel on ära määratud ka maksimaalsed pikkused, aga pole lisatud veateateid. See võib tekitada pärast andmete sisestamisel arusaamatusi, et miks ei õnnestu mingit stringi sisestada. Muidu on kõik atribuudid nimetatud korrektselt.&lt;br /&gt;
&lt;br /&gt;
WebAppEFContexti failis on näha, kuidas luuakse mängu jaoks andmebaas. Hetkel tundub, et kasutajatel on võimalus ainult mängu mängida, mitte uusi küsimusi postitada. See võiks muidu tore funktsionaalsus olla, mida kunagi juurde lisada. Artworkide filelocationi atribuudist jääb silma, et meeskond on pildid ise kuhugi üles laadinud, et vältida imelike olukordade teket, kus näiteks google-ist leitav pilt on ära kustutatud vahepeal. Kasutusele on võetud interface-d, repod ja UoW, nagu nõutud oli. Ühestki interface-ist ainult ei õnnestu mul leida custom meetodeid.&lt;br /&gt;
&lt;br /&gt;
Meeskond on loonud ka BLL projekti. Iga mudeli jaoks on eraldi DTO loodud, mis pole seotud virtuaalsete listidega. Kahju on näha, et taaskord toimuvad ainult ALL päringud ja ei ole mingit sorteerimist enne. Väikse andmebaasi puhul sellega probleemi ei teki, aga suurema projekti juures muudaks see päringute tegemise väga aeglaseks. Näiteks GetAllWorkNamesByCategory meetodi esialgse päringu võiks teha ära DAL-is, kus oleks võimalik peale DbSeti kohe sorteerida Where-iga. Hea on näha muidu, et meetoditele on ka kommentaarid lisatud.&lt;br /&gt;
&lt;br /&gt;
Web API-s on kasutatud ninjecti nagu nõutud. Siin tundub, et on juba rohkem vaeva nähtud. Kasutatud on ka admini teenuse turvamiseks, mis on suur pluss. Igas meetodis tagastatakse ka BLL-is loodud DTO-sid. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on loodud veebiteenus väga hea. Sellest andmebaasi päringute filtreerimisest võib hetkel mööda vaadata, sest hetkel pole seal palju kirjeid. Kõige rohkem meeldis mulle see, et BLL-i oli kasutatud otstarbekalt, mitte ei loodud seda lihtsalt sellepärast, et ta olemas oleks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
Vertigo veebiteenuse solution sisaldab 5 projekti. Kohe on näha, et kasutusele on võetud Andres Käveri näide Identity kohapealt aines ASP.NET, mis on igati loogiline. Projektis on 6 erinevat mudeli klassi ja lisaks ka identity mudelid. Kõik stringi pikkused on piiratud ja kohati on ka kasutatud required annotatsiooni. Lisaks on domeeni projektis ka üks klass, kus on kirjeldatud ära ka admin kasutajanimi, parool ja ka ühenduse minutiline ja nädalane rate. Selle kasutajaga saab siis veebilehe aadressilt sisse logida ja erinevatele kasutajate admin õigusi määrata ja ka piiranguid muuta. &lt;br /&gt;
&lt;br /&gt;
DAL projektis on korrektselt viidud sisse repository, factory ja uow muster. DAL projekti kihist leiab ka EFConfiguration folderi. Seal sees toimub juba mappimine ja see pärineb identity näitest. WebAppEFContextis on lisaks kasutatud ka Nloggerit ja seed meetodid. Seed meetodi puhul on sisestatud mingisugune põhi andmeid, et jälgida kuidas rakendus siis teenuse peal töötaks. Piltide kohapealt on hea, et pildid on vertigo kuskil endal olemas, mitte kuskil googlis. Selle tõttu on pilt koguaeg kättesaadav ja ei teki olukorda, et keegi on pildi kustutanud.&lt;br /&gt;
&lt;br /&gt;
BLL kihis on samuti kõik nii nagu peaks. Positiivsest küljest võiks kohe välja tuua, et DTO service kihis on tehtud hulgaliselt Linq selekteerimist, et kontrollerite meetodisse anda juba sisse vajalikke andmeid.&lt;br /&gt;
&lt;br /&gt;
WEB-API kohapealt torkab kontrollerite osapealt kohe silma, et DTO puhul ei ole kasutatud interface lahendust ja läbi ninjecti pole kohe konstruktorisse vajalikke service interface klasse sisse antud. Positiivse kohapeal torkab kohe silma, et kontrollerites on kasutatud lisaks ka cachemist.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib öelda, et tegemist on hea tööga. Vertigo on enda maksimaalsed punktid igati ära teeninud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakenduste retsensioon meeskonna Tab poolt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertigo rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakenduse kohapealt on selles meeskonnas rohkem vaeva nähtud. Ilmselt oli vaja tekitada rohkem tööd, kuna liikmeid on antud meeskonnas 5. Nimelt on Vertigo meeskonnal 2 rakendust. Üks neist on WPF rakendus ja teine on MVC rakendus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WPF rakendus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rakendust käima pannes oli vaja kohe esmalt kasutaja luua, kuna WEB-API admin kontoga ei olnud võimalik sinna sisse logida. Kasutaja registreerimise osas külvas natukene segadust veateade, kuna registreerimine kohe esimestel kordadel ei õnnestunud. Nimelt veateade väitis mulle korduvalt &amp;quot;Oops! Something went wrong. Check if you have correct e-mail and your passwords match&amp;quot;. Tegemist on väga üldise veateatega ja tegelik probleem oli selles hoopis, et minu valitud parool ei olnud piisavalt pikk. Muidu oli igati mõnus antud rakendust kasutada ja igati kasutajasõbralik. Logout nupu oleks võinud tuua ka main lehele, kuna kohe kõige esimese asjana ei leidnud seda ülesse.&lt;br /&gt;
&lt;br /&gt;
Koodi kohapealt on rakendusel andmete vastuvõtmise kiht eraldi projektis nimega APIClient. APIClient projektis on lisaks mudelitele ka siis service klassid, et andmeid veebiteenusega vahetada. Service klasside osas on hea, et on loodud Base service ja siis ülejäänud service klassid pärivad seda. Config klassi on vastavalt sisse kirjutatud ka kõik urlid, mille poole pöördutakse. URL-ide kohapealt oleks võinud localhost osa kuskile eraldi muutujasse panna, et ei oleks korduvalt selle väljakirjutamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MVC Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MVC rakenduse kohapealt polegi midagi erilist välja tuua. Ehk näiteks seda, et WPF rakenduses oli kasutajal võimalik parooli muuta, aga MVC-s pole seda võimalust antud. Muus osas toimis rakendus korralikult.&lt;br /&gt;
&lt;br /&gt;
Koodi osas kasutab MVC klientrakendus samuti APIClient projekti. Esimesena tekkis kohe küsimus, et kuna antud MVC klientrakendus on ka ASP.NET aine raamis, et miks seal ei kasutata nõutud mustreid? Kontrollerite osas torkab kohe silma, et service klasside sisse toomine kontrolleris on kuidagi lohakas. Oleks võinud ilmselt seda realiseerida kuidagi läbi konstruktori. Positiivsest küljest on kontrollerites kasutatud vaatemudeleid ja on vabanetud nendest &amp;quot;halbadest&amp;quot; viewbagidest. Lisaks on ka kotrolleritele peale pandud role annotatsioonid, mille tulemusena ei saa näiteks registreerimata kasutaja lihtsalt urli &amp;quot;/games&amp;quot; abil mängima hakata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võib siiski väita on mõlemad klientrakendused on hästi tehtud. Antud mängu ja disaini natukese edasi arendades on potentsiaalselt vaffa mäng valmis! :)&lt;br /&gt;
&lt;br /&gt;
==Meeskonna [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Valar Morghulis] retsensioon meeskonnale Vertigo==&lt;br /&gt;
coming soon&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89546</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89546"/>
		<updated>2015-05-30T16:45:08Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond BananaPhone==&lt;br /&gt;
[[BananaPhone|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
*Tiit Tallermaa&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad (Projekt TFinder)==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
Meie projekt TFinder: [https://www.dropbox.com/s/1677urhpxr9bf1z/TFinderSolutionFinal.zip?dl=0 Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab#XML_andmefaili_retsensioon_meeskonna_Taandarendajad_poolt Link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale Vertigo : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo Link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow#ALTER_eGO_veebiteenuse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow SimpleShow]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#ALTER_eGO_veebiteenuse_ja_klientrakenduse_retsensioon retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Taandarendajad]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsensioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Veebiteenuse_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
Klientrakenduste retsensioon meeskonnale &amp;quot;Taandarendajad&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Taandarendajad_VR2#Klientrakenduste_retsensioon_meeskonna_Tab_poolt siin!] (30.05.2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valminud projekt asub [http://enos.itcollege.ee/~rmandel/DankChat/ siin!] (24.05.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
Analüüs veebiteenusele asub &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow#Anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Lupardid VR2 asub [https://wiki.itcollege.ee/index.php/Talk:Lupardid_VR2 siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus ja klientrakendused asuvad siin: https://wiki.itcollege.ee/index.php/Meeskond:vertigo#Vertigo_projekt&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt: (Veebiteenus, klientrakendus ja MVC kõik ühes projektis) asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekt:_Versioon_2 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. veebiteenuse retsensioon meeskonnale &amp;quot;R0ds&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds#Retsensioon_meeskonna_Rods_veebiteenusele_meeskonnalt_Valar_Morghulis siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. veebiteenuse retsensioon ja 1. klientrakenduse retsensioon (tulekul)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale KRTT asub [https://wiki.itcollege.ee/index.php/Talk:KRTT siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
== Meeskond Iread ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Iread Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Talis Tammearu&lt;br /&gt;
* Silver Vanamets&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud Veebiteenuse analüüs [https://wiki.itcollege.ee/index.php/Backbone#Veebiteenuse_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
===Projekti analüüs===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad#Projekti_anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie API ja klientrakenduse kohta saate lugeda [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus_ja_klientrakendus siit!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
*XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid.&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse ja klientrakenduse kohta on esitatud meeskonna kodulehel: [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Veebiteenus], [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Klientrakendus].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Teenuse_retsensioon retsensioon] meeskonnale HMR.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti etapid:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin].&lt;br /&gt;
&lt;br /&gt;
*Esimene XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Teine XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenuse_anal.C3.BC.C3.BCs siin].&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse kohta asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenus siin].&lt;br /&gt;
&lt;br /&gt;
*Info klientrakenduse kohta asub [https://wiki.itcollege.ee/index.php/IT#Klientrakendus siin].&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89545</id>
		<title>Talk:Meeskond:R0ds</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89545"/>
		<updated>2015-05-30T16:40:15Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekti käivitamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&#039;&#039;Retsensioon meeskonnale R0ds meeskonnalt KRTT&#039;&#039;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skeemifail on täiesti veatu ja korrapärane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSLT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.  &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.&lt;br /&gt;
&lt;br /&gt;
=Retsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis=&lt;br /&gt;
&lt;br /&gt;
Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.&lt;br /&gt;
&lt;br /&gt;
==Koodi staatiline analüüs==&lt;br /&gt;
Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.&lt;br /&gt;
&lt;br /&gt;
===ContactLibrary===&lt;br /&gt;
Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.&lt;br /&gt;
&lt;br /&gt;
===DAL===&lt;br /&gt;
Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.&lt;br /&gt;
&lt;br /&gt;
===BLL===&lt;br /&gt;
Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.&lt;br /&gt;
&lt;br /&gt;
===TestApp===&lt;br /&gt;
Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul. &lt;br /&gt;
&lt;br /&gt;
===WebApiApp=== &lt;br /&gt;
Käsitlen hiljem.&lt;br /&gt;
&lt;br /&gt;
==Projekti käivitamine==&lt;br /&gt;
&lt;br /&gt;
Testprojekti käivitamisel tekkis mitmeid probleeme&lt;br /&gt;
&lt;br /&gt;
Näiteks veateade &lt;br /&gt;
https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx&lt;br /&gt;
&lt;br /&gt;
mille lahendas järgneva koodi&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
   &amp;lt;runtime&amp;gt;&lt;br /&gt;
      &amp;lt;loadFromRemoteSources enabled=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/runtime&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
lisamine konfiguratsioonifaili&lt;br /&gt;
&lt;br /&gt;
Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.&lt;br /&gt;
&lt;br /&gt;
===WebApiApp===&lt;br /&gt;
Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// protocol POST &lt;br /&gt;
http://localhost:50686/api/People&lt;br /&gt;
&lt;br /&gt;
// message header:&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:50686&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
// message body:&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;FirstName&amp;quot; : &amp;quot;Peeter&amp;quot;,&lt;br /&gt;
&amp;quot;LastName&amp;quot;: &amp;quot;Termomeeter&amp;quot;,&lt;br /&gt;
&amp;quot;RollID&amp;quot; : 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Peeter Termomeeter tekkis ning teda sai ka kustutada.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89544</id>
		<title>Talk:Meeskond:R0ds</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89544"/>
		<updated>2015-05-30T16:39:45Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekti käivitamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&#039;&#039;Retsensioon meeskonnale R0ds meeskonnalt KRTT&#039;&#039;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skeemifail on täiesti veatu ja korrapärane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSLT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.  &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.&lt;br /&gt;
&lt;br /&gt;
=Retsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis=&lt;br /&gt;
&lt;br /&gt;
Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.&lt;br /&gt;
&lt;br /&gt;
==Koodi staatiline analüüs==&lt;br /&gt;
Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.&lt;br /&gt;
&lt;br /&gt;
===ContactLibrary===&lt;br /&gt;
Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.&lt;br /&gt;
&lt;br /&gt;
===DAL===&lt;br /&gt;
Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.&lt;br /&gt;
&lt;br /&gt;
===BLL===&lt;br /&gt;
Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.&lt;br /&gt;
&lt;br /&gt;
===TestApp===&lt;br /&gt;
Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul. &lt;br /&gt;
&lt;br /&gt;
===WebApiApp=== &lt;br /&gt;
Käsitlen hiljem.&lt;br /&gt;
&lt;br /&gt;
==Projekti käivitamine==&lt;br /&gt;
&lt;br /&gt;
Testprojekti käivitamisel tekkis mitmeid probleeme&lt;br /&gt;
&lt;br /&gt;
Veateade &lt;br /&gt;
https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx&lt;br /&gt;
&lt;br /&gt;
mille lahendas järgneva koodi&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
   &amp;lt;runtime&amp;gt;&lt;br /&gt;
      &amp;lt;loadFromRemoteSources enabled=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/runtime&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
lisamine konfiguratsioonifaili&lt;br /&gt;
&lt;br /&gt;
Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.&lt;br /&gt;
&lt;br /&gt;
===WebApiApp===&lt;br /&gt;
Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// protocol POST &lt;br /&gt;
http://localhost:50686/api/People&lt;br /&gt;
&lt;br /&gt;
// message header:&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:50686&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
// message body:&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;FirstName&amp;quot; : &amp;quot;Peeter&amp;quot;,&lt;br /&gt;
&amp;quot;LastName&amp;quot;: &amp;quot;Termomeeter&amp;quot;,&lt;br /&gt;
&amp;quot;RollID&amp;quot; : 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Peeter Termomeeter tekkis ning teda sai ka kustutada.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89543</id>
		<title>Talk:Meeskond:R0ds</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89543"/>
		<updated>2015-05-30T16:38:28Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekti käivitamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&#039;&#039;Retsensioon meeskonnale R0ds meeskonnalt KRTT&#039;&#039;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skeemifail on täiesti veatu ja korrapärane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSLT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.  &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.&lt;br /&gt;
&lt;br /&gt;
=Retsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis=&lt;br /&gt;
&lt;br /&gt;
Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.&lt;br /&gt;
&lt;br /&gt;
==Koodi staatiline analüüs==&lt;br /&gt;
Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.&lt;br /&gt;
&lt;br /&gt;
===ContactLibrary===&lt;br /&gt;
Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.&lt;br /&gt;
&lt;br /&gt;
===DAL===&lt;br /&gt;
Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.&lt;br /&gt;
&lt;br /&gt;
===BLL===&lt;br /&gt;
Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.&lt;br /&gt;
&lt;br /&gt;
===TestApp===&lt;br /&gt;
Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul. &lt;br /&gt;
&lt;br /&gt;
===WebApiApp=== &lt;br /&gt;
Käsitlen hiljem.&lt;br /&gt;
&lt;br /&gt;
==Projekti käivitamine==&lt;br /&gt;
&lt;br /&gt;
Testprojekti käivitamisel tekkis mitmeid probleeme&lt;br /&gt;
&lt;br /&gt;
Veateade &lt;br /&gt;
https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx&lt;br /&gt;
&lt;br /&gt;
mille lahendas järgneva koodi&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
   &amp;lt;runtime&amp;gt;&lt;br /&gt;
      &amp;lt;loadFromRemoteSources enabled=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/runtime&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
lisamine konfiguratsioonifaili&lt;br /&gt;
&lt;br /&gt;
Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.&lt;br /&gt;
&lt;br /&gt;
WebApiApp &lt;br /&gt;
Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// protocol POST &lt;br /&gt;
http://localhost:50686/api/People&lt;br /&gt;
&lt;br /&gt;
// message header:&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:50686&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
// message body:&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;FirstName&amp;quot; : &amp;quot;Peeter&amp;quot;,&lt;br /&gt;
&amp;quot;LastName&amp;quot;: &amp;quot;Termomeeter&amp;quot;,&lt;br /&gt;
&amp;quot;RollID&amp;quot; : 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Peeter Termomeeter tekkis ning teda sai ka kustutada.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89541</id>
		<title>Talk:Meeskond:R0ds</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89541"/>
		<updated>2015-05-30T16:35:24Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&#039;&#039;Retsensioon meeskonnale R0ds meeskonnalt KRTT&#039;&#039;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skeemifail on täiesti veatu ja korrapärane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSLT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.  &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.&lt;br /&gt;
&lt;br /&gt;
=Retsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis=&lt;br /&gt;
&lt;br /&gt;
Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.&lt;br /&gt;
&lt;br /&gt;
==Koodi staatiline analüüs==&lt;br /&gt;
Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.&lt;br /&gt;
&lt;br /&gt;
===ContactLibrary===&lt;br /&gt;
Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.&lt;br /&gt;
&lt;br /&gt;
===DAL===&lt;br /&gt;
Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.&lt;br /&gt;
&lt;br /&gt;
===BLL===&lt;br /&gt;
Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.&lt;br /&gt;
&lt;br /&gt;
===TestApp===&lt;br /&gt;
Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul. &lt;br /&gt;
&lt;br /&gt;
===WebApiApp=== &lt;br /&gt;
Käsitlen hiljem.&lt;br /&gt;
&lt;br /&gt;
==Projekti käivitamine==&lt;br /&gt;
&lt;br /&gt;
Testprojekti käivitamisel tekkis mitmeid probleeme&lt;br /&gt;
&lt;br /&gt;
Veateade &lt;br /&gt;
https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx&lt;br /&gt;
&lt;br /&gt;
mille lahendas järgneva koodi&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
   &amp;lt;runtime&amp;gt;&lt;br /&gt;
      &amp;lt;loadFromRemoteSources enabled=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/runtime&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
lisamine konfiguratsioonifaili&lt;br /&gt;
&lt;br /&gt;
Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.&lt;br /&gt;
&lt;br /&gt;
WebApiApp &lt;br /&gt;
Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.&lt;br /&gt;
&lt;br /&gt;
// protocol POST &lt;br /&gt;
http://localhost:50686/api/People&lt;br /&gt;
&lt;br /&gt;
// message header:&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:50686&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
// message body:&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;FirstName&amp;quot; : &amp;quot;Peeter&amp;quot;,&lt;br /&gt;
&amp;quot;LastName&amp;quot;: &amp;quot;Termomeeter&amp;quot;,&lt;br /&gt;
&amp;quot;RollID&amp;quot; : 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Peeter Termomeeter tekkis ning teda sai ka kustutada.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89539</id>
		<title>Talk:Meeskond:R0ds</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond:R0ds&amp;diff=89539"/>
		<updated>2015-05-30T16:31:32Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;Retsensioon meeskonnale R0ds meeskonnalt KRTT&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skeemifail on täiesti veatu ja korrapärane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XSLT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.  &lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Eetsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.&lt;br /&gt;
&lt;br /&gt;
Koodi staatiline analüüs&lt;br /&gt;
Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.&lt;br /&gt;
&lt;br /&gt;
ContactLibrary&lt;br /&gt;
Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.&lt;br /&gt;
&lt;br /&gt;
DAL&lt;br /&gt;
Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.&lt;br /&gt;
&lt;br /&gt;
BLL&lt;br /&gt;
Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.&lt;br /&gt;
&lt;br /&gt;
TestApp&lt;br /&gt;
Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul. &lt;br /&gt;
&lt;br /&gt;
WebApiApp &lt;br /&gt;
Käsitlen hiljem.&lt;br /&gt;
&lt;br /&gt;
Projekti käivitamine&lt;br /&gt;
&lt;br /&gt;
Testprojekti käivitamisel tekkis mitmeid probleeme&lt;br /&gt;
&lt;br /&gt;
Veateade &lt;br /&gt;
https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx&lt;br /&gt;
mille lahendas järgneva koodi &lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
   &amp;lt;runtime&amp;gt;&lt;br /&gt;
      &amp;lt;loadFromRemoteSources enabled=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/runtime&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
lisamine konfiguratsioonifaili&lt;br /&gt;
&lt;br /&gt;
Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.&lt;br /&gt;
&lt;br /&gt;
WebApiApp &lt;br /&gt;
Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.&lt;br /&gt;
&lt;br /&gt;
// protocol POST &lt;br /&gt;
http://localhost:50686/api/People&lt;br /&gt;
&lt;br /&gt;
// message header:&lt;br /&gt;
User-Agent: Fiddler&lt;br /&gt;
Host: localhost:50686&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 58&lt;br /&gt;
&lt;br /&gt;
// message body:&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;FirstName&amp;quot; : &amp;quot;Peeter&amp;quot;,&lt;br /&gt;
&amp;quot;LastName&amp;quot;: &amp;quot;Termomeeter&amp;quot;,&lt;br /&gt;
&amp;quot;RollID&amp;quot; : 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Peeter Termomeeter tekkis ning teda sai ka kustutada.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõte&lt;br /&gt;
Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89371</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89371"/>
		<updated>2015-05-26T09:30:31Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 26.05.2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
Positiivne tulemus olemas ka Maidult. 70-80% pole siiski piisavalt hea, nii et töö jätkub...&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89370</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89370"/>
		<updated>2015-05-26T09:29:24Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. ja 26. mail 2015 (päev ja kaks peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89369</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89369"/>
		<updated>2015-05-26T09:28:36Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond BananaPhone==&lt;br /&gt;
[[BananaPhone|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
*Tiit Tallermaa&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valminud projekt asub [http://enos.itcollege.ee/~rmandel/DankChat/ siin!] (24.05.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
Analüüs veebiteenusele asub &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow#Anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Lupardid VR2 asub [https://wiki.itcollege.ee/index.php/Talk:Lupardid_VR2 siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus ja klientrakendused asuvad siin: https://wiki.itcollege.ee/index.php/Meeskond:vertigo#Vertigo_projekt&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt: (Veebiteenus, klientrakendus ja MVC kõik ühes projektis) asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekt:_Versioon_2 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale KRTT asub [https://wiki.itcollege.ee/index.php/Talk:KRTT siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
== Meeskond Iread ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Iread Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Talis Tammearu&lt;br /&gt;
* Silver Vanamets&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud Veebiteenuse analüüs [https://wiki.itcollege.ee/index.php/Backbone#Veebiteenuse_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
===Projekti analüüs===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad#Projekti_anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie API ja klientrakenduse kohta saate lugeda [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus_ja_klientrakendus siit!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
*XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid.&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse ja klientrakenduse kohta on esitatud meeskonna kodulehel: [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Veebiteenus], [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Klientrakendus].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Teenuse_retsensioon retsensioon] meeskonnale HMR.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti etapid:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin].&lt;br /&gt;
&lt;br /&gt;
*Esimene XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Teine XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenuse_anal.C3.BC.C3.BCs siin].&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse kohta asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenus siin].&lt;br /&gt;
&lt;br /&gt;
*Info klientrakenduse kohta asub [https://wiki.itcollege.ee/index.php/IT#Klientrakendus siin].&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89368</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89368"/>
		<updated>2015-05-26T09:27:42Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
===Projekt: Versioon 2===&lt;br /&gt;
&#039;&#039;&#039;NB! Natuke parem versioon [https://drive.google.com/file/d/0B92yL_yT6eL7RmRiWS1jR3JNa2s/view?usp=sharing projektist], kus toimib küsimusele vastamine ning WebApis on hakatud päringuid turvama&#039;&#039;&#039;. Lõplik versioon valmib 10. juuniks 2015 (või varem).&lt;br /&gt;
&lt;br /&gt;
TFSiga on küll mingid jamad, on võimalik et projekt sisaldab klasse mille ma olen mittevajalikkuse tõttu hiljuti ära kustutanud aga mis on millegipärast taastatud.&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89071</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89071"/>
		<updated>2015-05-25T08:06:22Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
==21.05.2015==&lt;br /&gt;
Web-api toimib.&lt;br /&gt;
==22.05.2015==&lt;br /&gt;
Loobusin Angulari kasutamisest (CSRF probleemid) ja otsustasin teha kliendi ASP.NETiga.&lt;br /&gt;
==23.05.2015==&lt;br /&gt;
Palju tööd KVKClient&#039;i kallal.&lt;br /&gt;
==24.05.2015==&lt;br /&gt;
KVKClient&#039;i viimistlemine&lt;br /&gt;
==25.05.2015==&lt;br /&gt;
Läbi häda sai projekti MVC-poole kaitstud.&lt;br /&gt;
&lt;br /&gt;
==26.05.2015==&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
NB! Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (st. uus versioon).&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89070</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89070"/>
		<updated>2015-05-25T07:50:19Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Testsisu saamiseks tuleb seada Startup projektiks ConsoleTestApp ning see korraks käima lasta.&lt;br /&gt;
&lt;br /&gt;
#Klient on [https://localhost:44306/ KVKClient]&lt;br /&gt;
&lt;br /&gt;
#Adminn on [https://localhost:44300/ KVKAdmin]&lt;br /&gt;
&lt;br /&gt;
#Web-api on [https://localhost:44305/ WebApi]&lt;br /&gt;
&lt;br /&gt;
Kui osutub vajalikuks muuta porte siis tuleb KVKClient’is URLid ära muuta ka failis &lt;br /&gt;
&lt;br /&gt;
KVKClient/Service/ServiceConstants&lt;br /&gt;
&lt;br /&gt;
NB! Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (st. uus versioon).&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89069</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=89069"/>
		<updated>2015-05-25T07:43:15Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond BananaPhone==&lt;br /&gt;
[[BananaPhone|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
*Tiit Tallermaa&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Kaido Henrik Elias&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KRTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Ralf Sitska&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Valminud projekt asub [http://enos.itcollege.ee/~rmandel/DankChat/ siin!] (24.05.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
Analüüs veebiteenusele asub &lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow#Anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Lupardid VR2 asub [https://wiki.itcollege.ee/index.php/Talk:Lupardid_VR2 siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus ja klientrakendused asuvad siin: https://wiki.itcollege.ee/index.php/Meeskond:vertigo#Vertigo_projekt&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt: (Veebiteenus, klientrakendus ja MVC kõik ühes projektis) asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekt:_Veebiteenus.2C_klientrakendus_ja_MVC_k.C3.B5ik_.C3.BChes_projektis siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon meeskonnale KRTT asub [https://wiki.itcollege.ee/index.php/Talk:KRTT siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
== Meeskond Iread ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Iread Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Talis Tammearu&lt;br /&gt;
* Silver Vanamets&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud Veebiteenuse analüüs [https://wiki.itcollege.ee/index.php/Backbone#Veebiteenuse_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
===Projekti analüüs===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad#Projekti_anal.C3.BC.C3.BCs Analüüs]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie API ja klientrakenduse kohta saate lugeda [https://wiki.itcollege.ee/index.php/HMR#Veebiteenus_ja_klientrakendus siit!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
*XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse ja klientrakenduse kohta on esitatud meeskonna kodulehel: [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Veebiteenus], [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Klientrakendus].&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Koduleht]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekti etapid:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin].&lt;br /&gt;
&lt;br /&gt;
*Esimene XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Teine XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin].&lt;br /&gt;
&lt;br /&gt;
*Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenuse_anal.C3.BC.C3.BCs siin].&lt;br /&gt;
&lt;br /&gt;
*Info veebiteenuse kohta asub [https://wiki.itcollege.ee/index.php/IT#Veebiteenus siin].&lt;br /&gt;
&lt;br /&gt;
*Info klientrakenduse kohta asub [https://wiki.itcollege.ee/index.php/IT#Klientrakendus siin].&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89068</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89068"/>
		<updated>2015-05-25T07:43:06Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (st. uus versioon).&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89067</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89067"/>
		<updated>2015-05-25T07:42:50Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#Web-api turvalisus&lt;br /&gt;
#Äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (uus versioon).&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89066</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89066"/>
		<updated>2015-05-25T07:41:05Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#web-api turvalisus&lt;br /&gt;
#äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (uus versioon).&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89065</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89065"/>
		<updated>2015-05-25T07:39:57Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 25. mai 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#web-api turvalisus&lt;br /&gt;
#äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (uus versioon).&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89064</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89064"/>
		<updated>2015-05-25T07:39:38Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015 (päev peale tähtaega)&lt;br /&gt;
&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#web-api turvalisus&lt;br /&gt;
#äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (uus versioon).&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89063</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=89063"/>
		<updated>2015-05-25T07:38:31Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Projekt: Veebiteenus, klientrakendus ja MVC kõik ühes projektis==&lt;br /&gt;
Hetkel on projektiga seis selline, et:&lt;br /&gt;
#Saab teha kasutajat üle web-api.&lt;br /&gt;
#Saab sisse logida (tokeni hankimine ja kasutamine toimib).&lt;br /&gt;
#Saab esitada küsimusi.&lt;br /&gt;
&lt;br /&gt;
Tegemist vajavad:&lt;br /&gt;
#web-api turvalisus&lt;br /&gt;
#äriloogika kiht&lt;br /&gt;
#Adminni liides&lt;br /&gt;
&lt;br /&gt;
Projekt ise on kättesaadav &lt;br /&gt;
[https://drive.google.com/file/d/0B92yL_yT6eL7dDVxem9YSXllbVE/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
Kui keegi tahab retsenseerida siis võiks oodata vähemalt teisipäeva hommikuni, mil lisandub muudatusi (uus versioon).&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=88644</id>
		<title>Category:Võrgurakendused II: hajussüsteemide ehitamine</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=88644"/>
		<updated>2015-05-18T09:15:38Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekti kaitsmisele registreerumine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Võrgurakendused II: hajussüsteemide ehitamine=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Õppeaine eesmärgiks on tutvustada õppijale XML märgendikeelel baseeruvaid hajuslahendusi ja nende loomise võimalusi ning arendada õppijates .Net raamistiku vahenditega tarkvara arendamisoskuseid&lt;br /&gt;
&lt;br /&gt;
==Lühitutvustus==&lt;br /&gt;
Õppeaines käsitletakse XML märgendikeelt ning veebiteenuseid.  Kursuse käigus disainitakse, koostatakse ja testitakse veebiteenustel ning XML märgendikeelel põhinevaid lahendusi.&lt;br /&gt;
&lt;br /&gt;
==Õpiväljundid==&lt;br /&gt;
* Õppija oskab kasutada XML märgendikeelt keerulisema strukuuriga andmete hoidmiseks ja esitamiseks struktureeritud kujul.&lt;br /&gt;
* Õppija oskab avalikult kättesaadavate juhendite abil koostada lihtsamaid klientrakendusi levinud veebiteenustele.&lt;br /&gt;
* Õppija oskab luua lihtsamaid veebiteenuseid kasutades selleks .Net raamistiku tehnoloogiaid ning vahendeid.&lt;br /&gt;
* Õppija teab veebiteenuste turvamiseks kasutatavaid tehnoloogiaid ja vahendeid ning oskab leid tavaolukorras rakendada.&lt;br /&gt;
* Õppija teab ning oskab kirjeldada hajusrakenduste kasutusvaldkondi ning nende arhitektuure.&lt;br /&gt;
* Õppija oskab töötada 3-5 liikmelises meeskonnas.&lt;br /&gt;
&lt;br /&gt;
==Õppejõud==&lt;br /&gt;
Mait Poska&lt;br /&gt;
* mait.poska&amp;lt;ät&amp;gt; itcollege.ee&lt;br /&gt;
* Skype: minamait&lt;br /&gt;
* +372 53 469 734&lt;br /&gt;
&lt;br /&gt;
==Hinne==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Hinde kujunemisel arvestatakse kahte osa:&lt;br /&gt;
alamosast:&lt;br /&gt;
**XML andmefail&lt;br /&gt;
**Veebirakendus&lt;br /&gt;
**Veebiteenus&lt;br /&gt;
*Eksam(45%), mis koosneb kahest osast:&lt;br /&gt;
**Teooria, mis annab sellest 20%&lt;br /&gt;
**Praktiline osa, mis annab sellest 25%&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;ins&amp;gt;Hinne&amp;lt;/ins&amp;gt; (&#039;&#039;&#039;100p / 100%&#039;&#039;&#039;) - Hinde kujunemisel arvestatakse kahte tööd:&lt;br /&gt;
** [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015]], mis moodustab hindest 55%. &#039;&#039;&#039;55p&#039;&#039;&#039; (koosneb kolmest osast) (vähemalt 51%)&lt;br /&gt;
*** XML (xsd, xslt) &#039;&#039;&#039;5p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid XLM-i kohta &#039;&#039;&#039;2p&#039;&#039;&#039;&lt;br /&gt;
*** Veebiteenus &#039;&#039;&#039;18p&#039;&#039;&#039;&lt;br /&gt;
**** Veebiteenuse analüüs &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid Veebiteenuse kohta &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
*** Klientrakendus veebiteenusele &#039;&#039;&#039;18p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid Klientrakenduse kohta &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
*** Esitlus &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;ins&amp;gt;Individuaalne teadmiste kontroll&amp;lt;/ins&amp;gt; &#039;&#039;&#039;45p&#039;&#039;&#039;&lt;br /&gt;
*** Teooria (Test) &#039;&#039;&#039;20p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
*** Praktiline (Programmeerimine) &#039;&#039;&#039;25p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Hinne kujuneb järgmiselt:&lt;br /&gt;
* Iga grupitöö vahekaitsmine annab kuni 10 punkti (kokku siis 30 punkti)&lt;br /&gt;
* Lõppkaitsmine annab 30 punkti (kõik kolm tööd koos, koos paranduste ja täiendustega)&lt;br /&gt;
* Iga grupp saab lisaks iga liikme kohta 20 punkti, mis tuleb grupi sees vastavalt panusele jagada (näiteks kolmeliikmeline grupp saab 60 punkti, neljaliikmeline 80 punkti jne).&lt;br /&gt;
* Valikvastustega test (kuni 20 punkti)&lt;br /&gt;
* Eksamieeldus on see, et tuleb anda tähtajaks neli hinnangut (üks hinnang XML failile, üks veebiteenusele, üks veebiteenustele tehtud rakendustele ning üks projektile kokkuvõtvalt).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--Aasta 2012(praegu) [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2012]]&lt;br /&gt;
&lt;br /&gt;
Aastal 2011 olnud teemad[[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2011]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Võrgurakendused II: 2011 kevadel valminud kodutööd]]&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&amp;lt;!--* Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 21. veebruar 2011.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
**Veebiteenuse analüüs peab olema valmis ja kirjeldatud wikilehel hiljemalt &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 28.mai 2013&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
Iga grupp peab tegema lisaks igale grupitööle vastavalt ka 2 retsensiooni. Retsensioonid võib teha vabalt valitud gruppide tööde kohta. Tingimuseks on see, et ühe töö kohta saab teha maksimaalselt kolm retsensiooni.&lt;br /&gt;
&lt;br /&gt;
Seega kokku tuleb esitada 6 retsensiooni ühel grupil.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Lisaks iga grupp, kelle töö kohta retsensioon tehakse saab iga töö kohta boonuseks ühe punkti. Seega võib koguneda igale grupile kokku 6 boonuspunkti kolme töö eest.--&amp;gt;&lt;br /&gt;
&amp;lt;ins&amp;gt;Lisaks tuleb silmas pidada retsensioonide minimaalseid pikkusi projektide kohta.&amp;lt;/ins&amp;gt; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#Retsensioonid Retsensioonide minimaalsed pikkused]&lt;br /&gt;
&lt;br /&gt;
==Meeskonnad==&lt;br /&gt;
Ühte meeskonda võib kuuluda 3 kuni 4 tudengit. Gruppi kuuluvate tudengite nimekiri kinnitatakse esimese projekti esitamisega.&lt;br /&gt;
&lt;br /&gt;
==Projekti kaitsmisele registreerumine==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esmaspäev - 25.mai&lt;br /&gt;
*12:00 -&lt;br /&gt;
*12:15 -&lt;br /&gt;
*12:30 -&lt;br /&gt;
*12:45 -&lt;br /&gt;
*13:00 - &lt;br /&gt;
*13-15 -&lt;br /&gt;
&lt;br /&gt;
Teisipäev - 26.mai&lt;br /&gt;
&lt;br /&gt;
*10:00 - Variable Moods II (recipe)&lt;br /&gt;
*10:15 - Meeskond Valar Morghulis&lt;br /&gt;
*10:30 -&lt;br /&gt;
*10:45 -&lt;br /&gt;
*11:00 -&lt;br /&gt;
*11:15 -&lt;br /&gt;
&lt;br /&gt;
Neljapäev - 28.mai&lt;br /&gt;
&lt;br /&gt;
*08:15 -&lt;br /&gt;
*08:30 -&lt;br /&gt;
*08:45 -&lt;br /&gt;
*09:00 -&lt;br /&gt;
*09:15 -&lt;br /&gt;
*09:30 -&lt;br /&gt;
&lt;br /&gt;
=Teemad=&lt;br /&gt;
=XML failivorming ja sellega seotud tehnoloogiad=&lt;br /&gt;
&lt;br /&gt;
==XML failivorming==&lt;br /&gt;
&amp;lt;!--===Loengusalvestused===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus http://enos.itcollege.ee/~htahis/VRII/WR2%20-%20Loeng%201/WR2%20-%20Loeng%201.html&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus http://echo360.e-uni.ee/ess/echo/presentation/9264dd7c-990a-4e3f-9045-1a7a5e04039b&#039;&#039;&#039;&lt;br /&gt;
** Teise loengu näited: http://enos.itcollege.ee/~htahis/VRII/Praktikum2%20(loeng2)/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teooria=== &lt;br /&gt;
* XML failid&lt;br /&gt;
**  Kippar, J. &amp;quot;XML rakendused&amp;quot;, TLU:2009 http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/trykk/xmlrak.pdf&lt;br /&gt;
** XMLi rakendused ainekursuse leht by Jaagup Kippar http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/juht.html&lt;br /&gt;
** Introduction to XML by w3schools.com http://www.w3schools.com/xml/xml_whatis.asp&lt;br /&gt;
* XSLT - XML failide transformeerimine ehk stiilifailid&lt;br /&gt;
** XSLT Tutorial by w3schools.com http://www.w3schools.com/xsl/default.asp&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Praktikum:_XML_failide_valideerimine_(XSD,_DTD)_ning_XML_stiilide_(XSLT)_loomine_,_VR2.3 Lugemiseks ja harjutamiseks]&lt;br /&gt;
&lt;br /&gt;
===Praktika===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: XML failide loomine vol 2, VR2.2]]&lt;br /&gt;
* [[Praktikum: XML failide lugemine ja muutmine .Net vahenditega, VR2.3]]&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Praktikum: XML failide loomine ja nende skeemifailid(XSD), VR2.1]]&lt;br /&gt;
*[[Praktikum: XML andmefailidest päringute tegemine VR2.2]]&lt;br /&gt;
* [[Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[Praktikum: XML failide loomine(VR2.1)]]&lt;br /&gt;
*[[Praktikum: XML andmefailidest päringute loomine(VR2.2)]]&lt;br /&gt;
*[[Praktikum: XML skeemifailid(VR2.3)]]&lt;br /&gt;
&lt;br /&gt;
=Veebiteenused=&lt;br /&gt;
&amp;lt;!-- ==Loengud== --&amp;gt;&lt;br /&gt;
Käesolevas blokis räägitakse veebiteenuste loomisest kasutades Microsofti tehnoloogiaid nagu Microsoft Windows Communication Foundation ja ASP.NET MVC Web API&lt;br /&gt;
&lt;br /&gt;
Antud kursuse raames käsitletakse kahte liiki veebiteenuseid:&lt;br /&gt;
*SOAP protokollil baseeruvad teenused&lt;br /&gt;
*RESTful veebitennused&lt;br /&gt;
&lt;br /&gt;
==Andmebaasi loomine==&lt;br /&gt;
Enne kui saame hakata looma veebiteenuseid, mis tagastavad erinevaid andmeid või võimdaldavad neid salvestada, on meil vaja andmebaasi, kus hoida informatsioonid. Käesoleva kursuse raames kasutatakse andmebaasi loomiseks &#039;&#039;&#039;Entity Frameworki(EF)&#039;&#039;&#039; ja &#039;&#039;&#039;Code First&#039;&#039;&#039; lähenemist.&lt;br /&gt;
&lt;br /&gt;
===Entity Framework===&lt;br /&gt;
&lt;br /&gt;
Enne Entity Frameworkiga tutvumist, tuleb lahti seletada mõiste ORM. ORM pakub raamistiku objektorienteeritud domeeni mudeli sidumiseks (mapping) traditsiooniliste relatsiooniandmebaasidega.&lt;br /&gt;
&lt;br /&gt;
Entity Framework on ORM, mis võimaldab .NET arendajatel tegeleda relatsiooniliste andmetega, kasutades samal ajal ära domeenimudelied. EFi kasutades ei ole vaja andmetele ligipääsuks andmebaasis kirjutada ise koodi, vaid ORM genereerib selle meie eest. &lt;br /&gt;
&lt;br /&gt;
EFi (või mõne muu ORMi) kasutamine võimaldab hoida kokku arendusaega, kuna arendajal ei ole vajalik kirjutada SQLi ega eraldi koodi, et andmebaasis olevatele andmetele ligipääseda. Samas tuleb olla ORMi kasutamisega ettevaatlik, kuna võrreldes traditsiooniliselt kirjutatud SQLiga on selle jõudlus ~30% nõrgem.&lt;br /&gt;
&lt;br /&gt;
Vt. Enity Frameworki raamistiku API: https://msdn.microsoft.com/en-us/library/dn223258(v=vs.113).aspx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi loomine kasutades Entity Frameworki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tänasel päeval on Entity Frameworki puhul kuuldud arvatavasti kõige rohkem Code First lähenemisest, kus kõige pealt luuakse domeenimudel(klassid) ning selle põhjal genereeritakse andmebaas. Samas ei tohi unustada, et tarkvara on võimalik arendada ka stiilis, kus andmebaas on juba olemas ning selle põhjal luuakse domeenimudel Sellist lähenemist kutsutakse Database First arendamiseks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Uus andmebaas&lt;br /&gt;
**&#039;&#039;Model First&#039;&#039; - Luuakse graafiliselt mudel, mille põhjal on võimalik genereerida andmebaas ja domeenimudel&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/vstudio/cc716703(v=vs.100).aspx&lt;br /&gt;
**&#039;&#039;Code First&#039;&#039; - Kirjeldatakse domeenimudel, mille põhjal luuakse andmebaas&lt;br /&gt;
&lt;br /&gt;
*Olemasolev andmebaas&lt;br /&gt;
**&#039;&#039;Database first&#039;&#039; - Mudel koos domeenimudeliga genereeritakse andmebaasi põhjal&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/vstudio/cc716703(v=vs.100).aspx &lt;br /&gt;
**&#039;&#039;Code First&#039;&#039; - Domeenimudel klassidega genereeritakse olemasolevat andmebaasti&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/jj200620.aspx&lt;br /&gt;
&lt;br /&gt;
===Code First===&lt;br /&gt;
Nagu eelpool mainitud, siis selle kursuse käigus vaatleme eelkõige &amp;quot;kood enne&amp;quot; lähenemist. &lt;br /&gt;
&lt;br /&gt;
Esimese sammuna peaksime ära kirjeldama oma andmemudeli. Code First lähenemise puhul ei pea arendaja teoorias andmebaasist midagi teadma, vaid peab ära defineerima lihtsalt andmestruktuurid ning andmebaas luuakse selle põhjal. Paratamtult tuleb siiski keerulisemate andmete mudelleerimise juures mõista ka relatsioonilise andmebaasi tööpõhimõtteid. &lt;br /&gt;
&lt;br /&gt;
Vt. lihtsa andmebaasi loomist siit: https://msdn.microsoft.com/en-us/data/jj193542&lt;br /&gt;
&lt;br /&gt;
Nagu ka videost on näha, siis üks põhiline probleem, millega kokku puutume on domeenimudeli muutumine. Meie objekt-orienteeritud maailmas ei ole andmemudeli(klassi) struktuuri muutmine üldjuhul keerukas(kui on vaja lisada mõni väli, või midagi ära kaotada). Kui aga mängus on ka andmebaas, siis peab arvestama, et nende muutuste tegemine on keerulisem, kuna raamistik peab hoolitsema selle eest, et andmebaasis ei tekiks andmekadusid. Muutused domeenimudelis toovad kaasa ka muutused andmebaasi struktuurides. Selle jaoks tuleb kasutusele võtta &#039;&#039;&#039;Code First Migrations&#039;&#039;&#039;, kus kirjeldatakse ära, kuidas muutused andmebaasi struktuuris peaks toimuma. Nagu eelpool toodud näites on näha, siis õnneks suudab migratsioone raamistik üldjoontes ise genereerida.&lt;br /&gt;
&lt;br /&gt;
Kui kasutada Code First lähenemist, tuleb valida ka strateegia andmebaasi loomiseks, mis on kirjeldatud siin: http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx&lt;br /&gt;
&lt;br /&gt;
Vt. Code First Migrations lubamine projetkis: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application&lt;br /&gt;
&lt;br /&gt;
==Lihtsamate päringute loomine kasutades LINQt==&lt;br /&gt;
===Teooria===&lt;br /&gt;
*[[Linq päringukeel]]&lt;br /&gt;
*101 LINQ Samples: http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b&lt;br /&gt;
*Getting Started with LINQ in C#: http://msdn.microsoft.com/en-us/library/bb397933.aspx&lt;br /&gt;
&lt;br /&gt;
===Praktika===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Praktikum:LINQ päringukeele meeldetuletus VR2.3]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste loomine==&lt;br /&gt;
*Creating a Web API that Supports CRUD Operations: http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations&lt;br /&gt;
&lt;br /&gt;
==Andmebaasiga ühendumine==&lt;br /&gt;
* Database Connectivity using WebService http://www.c-sharpcorner.com/UploadFile/raj1979/DatabaseWebService01142008011107AM/DatabaseWebService.aspx&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste turvamine==&lt;br /&gt;
* Securing ASP.Net Web Services with Forms Authentication http://dotnetslackers.com/articles/aspnet/Securing-ASP-Net-Web-Services-with-Forms-Authentication.aspx&lt;br /&gt;
*[[Praktikum: Windows Communication Foundation teenuse turvamine, VR2.9]]&lt;br /&gt;
&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
*[[Praktikum VR 2.4 OOP meeldetuletus]]&lt;br /&gt;
*[[Praktikum VR 2.5 Päringud Andmebaasist]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Veebiteenuste kasutamine=&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Flickr&#039;i veebiteenuse rakendus, VR2.10]]&lt;br /&gt;
&lt;br /&gt;
[[Praktikum: Flickr&#039;i veebiteenusele klientrakenduse loomine]]--&amp;gt;&lt;br /&gt;
[[Praktikum: REST veebiteenusele klientrakenduse loomine]]&lt;br /&gt;
&lt;br /&gt;
=Arhiiv=&lt;br /&gt;
==2012 Kevad==&lt;br /&gt;
===Loengud===&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus, kus räägiti XML andmefailist asub siin:  http://echo360.e-uni.ee/ess/echo/presentation/d590aaa6-2d08-4852-9db6-42041cc7e438 &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus, kus räägiti XML skeemidest ja transformatsioonidest asub siin: http://echo360.e-uni.ee/ess/echo/presentation/fa1431fb-3b80-42a3-a7de-f18fe6a1d3ae &#039;&#039;&#039;&lt;br /&gt;
**Teises loengus tehtud näited, asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng2/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kolmas loeng, kus räägiti LINQ&#039;st: http://echo360.e-uni.ee/ess/echo/presentation/bbb940ea-fb20-49b4-9d5b-7b2e41f1ac39 &#039;&#039;&#039;&lt;br /&gt;
**Kolmandas loengus tehtud näited asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng3/&lt;br /&gt;
* &#039;&#039;&#039; Neljas loeng: http://echo360.e-uni.ee/ess/echo/presentation/7b97f540-e6e1-4bbb-99c3-04e9833b690b &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Viies loeng. Lihtsa veebiteenuse loomise algus: http://echo360.e-uni.ee/ess/echo/presentation/7babae6b-fd76-4564-b60b-d30f82d3d2cf&lt;br /&gt;
* &#039;&#039;&#039; Kuues loeng. &amp;lt;i&amp;gt;Windows Communication Foundation&amp;lt;/i&amp;gt;: http://echo360.e-uni.ee/ess/echo/presentation/78ee4f6d-e7d5-47e0-92b9-824331027bbd&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/c5abc659-5d25-4e7c-bbdb-f054dfd99c3f  Loeng 12.03.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/8c5b7bba-7f5f-4a2c-b143-473ea810ac34 Loeng 19.03.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/c5abc659-5d25-4e7c-bbdb-f054dfd99c3f Loeng 02.04.2012 - WCF Turvalisus]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/6aba1a81-fab2-418d-bb70-969dbe97de9e Loeng 09.04.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/ecce8a28-6bed-4164-9443-3cd784197489 Loeng 16.04.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/4115cf45-538e-42d3-bf1f-f28504e3a18e Loeng 23.04.2012 - Bing teenuse kasutamine]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/1f36208f-fa14-41c2-bb7e-75f7a4ffd765 Loeng 07.05.2012(Asjalikum jutt algab 40min kandist]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/bdfcb5f2-698d-4429-a485-a40d51c74ded Loeng 14.05.2012 Gunnar]&lt;br /&gt;
===Praktikumid===&lt;br /&gt;
* [[Praktikum: XML failide loomine, VR2.1]]&lt;br /&gt;
* [[Linq_päringukeel|Praktikum: LINQ päringute tegemine XML-i peal, VR2.2]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.09%5d%20Praktikum%202%20/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.16%5d%20Praktikum%203/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failidega töötamine (kokkuvõttev praktikum), VR2.4]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.23%5d%20Praktikum%204/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus, VR2.6]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.08%5d%20Praktikum%206/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Veebiteenuse loomine Windows Communication Foundation abil, VR2.7]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.15%5d%20Praktikum%208/ Praktikumi näide]&lt;br /&gt;
* Praktikum: Object Orientated crash, VR2.8&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.22%5d%20Praktikum%209/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Windows Communication Foundation teenuse turvamine, VR2.9]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.04.05%5d%20Praktikum%2010/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Windows Communication Foundation teenuse turvamine jätk, VR2.10]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.04.13%5d%20Praktikum%2011/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus, VR2.6]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus 2 (mitme tabeliga), VR2.7]]&lt;br /&gt;
* [[Praktikum: Rollipõhine kasutajahaldus veebiteenuses, VR2.8]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Meeskonnad 2012===&lt;br /&gt;
*[[Hello Kitty]]&lt;br /&gt;
*[[TTiim]]&lt;br /&gt;
*[[Meeskond &amp;quot;Harold&amp;quot;|Harold]]&lt;br /&gt;
*[[Meeskond &amp;quot;WP&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[-.-]]&amp;quot;*&lt;br /&gt;
** Erki Miilberg (projektijuht)&lt;br /&gt;
** Kalev Vallsalu &lt;br /&gt;
** Oliver Naaris&lt;br /&gt;
** Margo Kuustik&lt;br /&gt;
&lt;br /&gt;
* Meeskond &amp;quot;[[PhoneBook]]&amp;quot;&lt;br /&gt;
**Lauri Jansen&lt;br /&gt;
**Tanel Jüris&lt;br /&gt;
**Madis Rääk&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[LLL]]&amp;quot;&lt;br /&gt;
** Joonas Püüa&lt;br /&gt;
** Janno Toomingas&lt;br /&gt;
** Janek Kople&lt;br /&gt;
** Roland Krindal&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[Peeter VR2]]&amp;quot;&lt;br /&gt;
** Lennart Lüsi&lt;br /&gt;
** Kairo Koik&lt;br /&gt;
** Marek Kikas&lt;br /&gt;
** Kaivar Kull&lt;br /&gt;
&lt;br /&gt;
*[[Meeskond &amp;quot;.NOT&amp;quot;]]&lt;br /&gt;
** Martin Kosk&lt;br /&gt;
** Kalmer Tart&lt;br /&gt;
** Martin Aarne&lt;br /&gt;
** Gert Glükmann&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=88641</id>
		<title>Category:Võrgurakendused II: hajussüsteemide ehitamine</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=88641"/>
		<updated>2015-05-18T09:13:46Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Projekti kaitsmisele registreerumine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Võrgurakendused II: hajussüsteemide ehitamine=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Õppeaine eesmärgiks on tutvustada õppijale XML märgendikeelel baseeruvaid hajuslahendusi ja nende loomise võimalusi ning arendada õppijates .Net raamistiku vahenditega tarkvara arendamisoskuseid&lt;br /&gt;
&lt;br /&gt;
==Lühitutvustus==&lt;br /&gt;
Õppeaines käsitletakse XML märgendikeelt ning veebiteenuseid.  Kursuse käigus disainitakse, koostatakse ja testitakse veebiteenustel ning XML märgendikeelel põhinevaid lahendusi.&lt;br /&gt;
&lt;br /&gt;
==Õpiväljundid==&lt;br /&gt;
* Õppija oskab kasutada XML märgendikeelt keerulisema strukuuriga andmete hoidmiseks ja esitamiseks struktureeritud kujul.&lt;br /&gt;
* Õppija oskab avalikult kättesaadavate juhendite abil koostada lihtsamaid klientrakendusi levinud veebiteenustele.&lt;br /&gt;
* Õppija oskab luua lihtsamaid veebiteenuseid kasutades selleks .Net raamistiku tehnoloogiaid ning vahendeid.&lt;br /&gt;
* Õppija teab veebiteenuste turvamiseks kasutatavaid tehnoloogiaid ja vahendeid ning oskab leid tavaolukorras rakendada.&lt;br /&gt;
* Õppija teab ning oskab kirjeldada hajusrakenduste kasutusvaldkondi ning nende arhitektuure.&lt;br /&gt;
* Õppija oskab töötada 3-5 liikmelises meeskonnas.&lt;br /&gt;
&lt;br /&gt;
==Õppejõud==&lt;br /&gt;
Mait Poska&lt;br /&gt;
* mait.poska&amp;lt;ät&amp;gt; itcollege.ee&lt;br /&gt;
* Skype: minamait&lt;br /&gt;
* +372 53 469 734&lt;br /&gt;
&lt;br /&gt;
==Hinne==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Hinde kujunemisel arvestatakse kahte osa:&lt;br /&gt;
alamosast:&lt;br /&gt;
**XML andmefail&lt;br /&gt;
**Veebirakendus&lt;br /&gt;
**Veebiteenus&lt;br /&gt;
*Eksam(45%), mis koosneb kahest osast:&lt;br /&gt;
**Teooria, mis annab sellest 20%&lt;br /&gt;
**Praktiline osa, mis annab sellest 25%&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;ins&amp;gt;Hinne&amp;lt;/ins&amp;gt; (&#039;&#039;&#039;100p / 100%&#039;&#039;&#039;) - Hinde kujunemisel arvestatakse kahte tööd:&lt;br /&gt;
** [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015]], mis moodustab hindest 55%. &#039;&#039;&#039;55p&#039;&#039;&#039; (koosneb kolmest osast) (vähemalt 51%)&lt;br /&gt;
*** XML (xsd, xslt) &#039;&#039;&#039;5p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid XLM-i kohta &#039;&#039;&#039;2p&#039;&#039;&#039;&lt;br /&gt;
*** Veebiteenus &#039;&#039;&#039;18p&#039;&#039;&#039;&lt;br /&gt;
**** Veebiteenuse analüüs &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid Veebiteenuse kohta &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
*** Klientrakendus veebiteenusele &#039;&#039;&#039;18p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid Klientrakenduse kohta &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
*** Esitlus &#039;&#039;&#039;3p&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;ins&amp;gt;Individuaalne teadmiste kontroll&amp;lt;/ins&amp;gt; &#039;&#039;&#039;45p&#039;&#039;&#039;&lt;br /&gt;
*** Teooria (Test) &#039;&#039;&#039;20p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
*** Praktiline (Programmeerimine) &#039;&#039;&#039;25p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Hinne kujuneb järgmiselt:&lt;br /&gt;
* Iga grupitöö vahekaitsmine annab kuni 10 punkti (kokku siis 30 punkti)&lt;br /&gt;
* Lõppkaitsmine annab 30 punkti (kõik kolm tööd koos, koos paranduste ja täiendustega)&lt;br /&gt;
* Iga grupp saab lisaks iga liikme kohta 20 punkti, mis tuleb grupi sees vastavalt panusele jagada (näiteks kolmeliikmeline grupp saab 60 punkti, neljaliikmeline 80 punkti jne).&lt;br /&gt;
* Valikvastustega test (kuni 20 punkti)&lt;br /&gt;
* Eksamieeldus on see, et tuleb anda tähtajaks neli hinnangut (üks hinnang XML failile, üks veebiteenusele, üks veebiteenustele tehtud rakendustele ning üks projektile kokkuvõtvalt).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--Aasta 2012(praegu) [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2012]]&lt;br /&gt;
&lt;br /&gt;
Aastal 2011 olnud teemad[[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2011]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Võrgurakendused II: 2011 kevadel valminud kodutööd]]&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&amp;lt;!--* Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 21. veebruar 2011.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
**Veebiteenuse analüüs peab olema valmis ja kirjeldatud wikilehel hiljemalt &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 28.mai 2013&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
Iga grupp peab tegema lisaks igale grupitööle vastavalt ka 2 retsensiooni. Retsensioonid võib teha vabalt valitud gruppide tööde kohta. Tingimuseks on see, et ühe töö kohta saab teha maksimaalselt kolm retsensiooni.&lt;br /&gt;
&lt;br /&gt;
Seega kokku tuleb esitada 6 retsensiooni ühel grupil.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Lisaks iga grupp, kelle töö kohta retsensioon tehakse saab iga töö kohta boonuseks ühe punkti. Seega võib koguneda igale grupile kokku 6 boonuspunkti kolme töö eest.--&amp;gt;&lt;br /&gt;
&amp;lt;ins&amp;gt;Lisaks tuleb silmas pidada retsensioonide minimaalseid pikkusi projektide kohta.&amp;lt;/ins&amp;gt; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#Retsensioonid Retsensioonide minimaalsed pikkused]&lt;br /&gt;
&lt;br /&gt;
==Meeskonnad==&lt;br /&gt;
Ühte meeskonda võib kuuluda 3 kuni 4 tudengit. Gruppi kuuluvate tudengite nimekiri kinnitatakse esimese projekti esitamisega.&lt;br /&gt;
&lt;br /&gt;
==Projekti kaitsmisele registreerumine==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esmaspäev - 25.mai&lt;br /&gt;
*12:00 -&lt;br /&gt;
*12:15 -&lt;br /&gt;
*12:30 -&lt;br /&gt;
*12:45 -&lt;br /&gt;
*13:00 - &lt;br /&gt;
*13-15 -&lt;br /&gt;
&lt;br /&gt;
Teisipäev - 26.mai&lt;br /&gt;
&lt;br /&gt;
*10:00 - Meeskond Valar Morghulis&lt;br /&gt;
*10:15 -&lt;br /&gt;
*10:30 -&lt;br /&gt;
*10:45 -&lt;br /&gt;
*11:00 -&lt;br /&gt;
*11:15 -&lt;br /&gt;
&lt;br /&gt;
Neljapäev - 28.mai&lt;br /&gt;
&lt;br /&gt;
*08:15 -&lt;br /&gt;
*08:30 -&lt;br /&gt;
*08:45 -&lt;br /&gt;
*09:00 -&lt;br /&gt;
*09:15 -&lt;br /&gt;
*09:30 -&lt;br /&gt;
&lt;br /&gt;
=Teemad=&lt;br /&gt;
=XML failivorming ja sellega seotud tehnoloogiad=&lt;br /&gt;
&lt;br /&gt;
==XML failivorming==&lt;br /&gt;
&amp;lt;!--===Loengusalvestused===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus http://enos.itcollege.ee/~htahis/VRII/WR2%20-%20Loeng%201/WR2%20-%20Loeng%201.html&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus http://echo360.e-uni.ee/ess/echo/presentation/9264dd7c-990a-4e3f-9045-1a7a5e04039b&#039;&#039;&#039;&lt;br /&gt;
** Teise loengu näited: http://enos.itcollege.ee/~htahis/VRII/Praktikum2%20(loeng2)/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teooria=== &lt;br /&gt;
* XML failid&lt;br /&gt;
**  Kippar, J. &amp;quot;XML rakendused&amp;quot;, TLU:2009 http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/trykk/xmlrak.pdf&lt;br /&gt;
** XMLi rakendused ainekursuse leht by Jaagup Kippar http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/juht.html&lt;br /&gt;
** Introduction to XML by w3schools.com http://www.w3schools.com/xml/xml_whatis.asp&lt;br /&gt;
* XSLT - XML failide transformeerimine ehk stiilifailid&lt;br /&gt;
** XSLT Tutorial by w3schools.com http://www.w3schools.com/xsl/default.asp&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Praktikum:_XML_failide_valideerimine_(XSD,_DTD)_ning_XML_stiilide_(XSLT)_loomine_,_VR2.3 Lugemiseks ja harjutamiseks]&lt;br /&gt;
&lt;br /&gt;
===Praktika===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: XML failide loomine vol 2, VR2.2]]&lt;br /&gt;
* [[Praktikum: XML failide lugemine ja muutmine .Net vahenditega, VR2.3]]&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Praktikum: XML failide loomine ja nende skeemifailid(XSD), VR2.1]]&lt;br /&gt;
*[[Praktikum: XML andmefailidest päringute tegemine VR2.2]]&lt;br /&gt;
* [[Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[Praktikum: XML failide loomine(VR2.1)]]&lt;br /&gt;
*[[Praktikum: XML andmefailidest päringute loomine(VR2.2)]]&lt;br /&gt;
*[[Praktikum: XML skeemifailid(VR2.3)]]&lt;br /&gt;
&lt;br /&gt;
=Veebiteenused=&lt;br /&gt;
&amp;lt;!-- ==Loengud== --&amp;gt;&lt;br /&gt;
Käesolevas blokis räägitakse veebiteenuste loomisest kasutades Microsofti tehnoloogiaid nagu Microsoft Windows Communication Foundation ja ASP.NET MVC Web API&lt;br /&gt;
&lt;br /&gt;
Antud kursuse raames käsitletakse kahte liiki veebiteenuseid:&lt;br /&gt;
*SOAP protokollil baseeruvad teenused&lt;br /&gt;
*RESTful veebitennused&lt;br /&gt;
&lt;br /&gt;
==Andmebaasi loomine==&lt;br /&gt;
Enne kui saame hakata looma veebiteenuseid, mis tagastavad erinevaid andmeid või võimdaldavad neid salvestada, on meil vaja andmebaasi, kus hoida informatsioonid. Käesoleva kursuse raames kasutatakse andmebaasi loomiseks &#039;&#039;&#039;Entity Frameworki(EF)&#039;&#039;&#039; ja &#039;&#039;&#039;Code First&#039;&#039;&#039; lähenemist.&lt;br /&gt;
&lt;br /&gt;
===Entity Framework===&lt;br /&gt;
&lt;br /&gt;
Enne Entity Frameworkiga tutvumist, tuleb lahti seletada mõiste ORM. ORM pakub raamistiku objektorienteeritud domeeni mudeli sidumiseks (mapping) traditsiooniliste relatsiooniandmebaasidega.&lt;br /&gt;
&lt;br /&gt;
Entity Framework on ORM, mis võimaldab .NET arendajatel tegeleda relatsiooniliste andmetega, kasutades samal ajal ära domeenimudelied. EFi kasutades ei ole vaja andmetele ligipääsuks andmebaasis kirjutada ise koodi, vaid ORM genereerib selle meie eest. &lt;br /&gt;
&lt;br /&gt;
EFi (või mõne muu ORMi) kasutamine võimaldab hoida kokku arendusaega, kuna arendajal ei ole vajalik kirjutada SQLi ega eraldi koodi, et andmebaasis olevatele andmetele ligipääseda. Samas tuleb olla ORMi kasutamisega ettevaatlik, kuna võrreldes traditsiooniliselt kirjutatud SQLiga on selle jõudlus ~30% nõrgem.&lt;br /&gt;
&lt;br /&gt;
Vt. Enity Frameworki raamistiku API: https://msdn.microsoft.com/en-us/library/dn223258(v=vs.113).aspx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi loomine kasutades Entity Frameworki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tänasel päeval on Entity Frameworki puhul kuuldud arvatavasti kõige rohkem Code First lähenemisest, kus kõige pealt luuakse domeenimudel(klassid) ning selle põhjal genereeritakse andmebaas. Samas ei tohi unustada, et tarkvara on võimalik arendada ka stiilis, kus andmebaas on juba olemas ning selle põhjal luuakse domeenimudel Sellist lähenemist kutsutakse Database First arendamiseks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Uus andmebaas&lt;br /&gt;
**&#039;&#039;Model First&#039;&#039; - Luuakse graafiliselt mudel, mille põhjal on võimalik genereerida andmebaas ja domeenimudel&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/vstudio/cc716703(v=vs.100).aspx&lt;br /&gt;
**&#039;&#039;Code First&#039;&#039; - Kirjeldatakse domeenimudel, mille põhjal luuakse andmebaas&lt;br /&gt;
&lt;br /&gt;
*Olemasolev andmebaas&lt;br /&gt;
**&#039;&#039;Database first&#039;&#039; - Mudel koos domeenimudeliga genereeritakse andmebaasi põhjal&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/vstudio/cc716703(v=vs.100).aspx &lt;br /&gt;
**&#039;&#039;Code First&#039;&#039; - Domeenimudel klassidega genereeritakse olemasolevat andmebaasti&lt;br /&gt;
***Näide: https://msdn.microsoft.com/en-us/library/jj200620.aspx&lt;br /&gt;
&lt;br /&gt;
===Code First===&lt;br /&gt;
Nagu eelpool mainitud, siis selle kursuse käigus vaatleme eelkõige &amp;quot;kood enne&amp;quot; lähenemist. &lt;br /&gt;
&lt;br /&gt;
Esimese sammuna peaksime ära kirjeldama oma andmemudeli. Code First lähenemise puhul ei pea arendaja teoorias andmebaasist midagi teadma, vaid peab ära defineerima lihtsalt andmestruktuurid ning andmebaas luuakse selle põhjal. Paratamtult tuleb siiski keerulisemate andmete mudelleerimise juures mõista ka relatsioonilise andmebaasi tööpõhimõtteid. &lt;br /&gt;
&lt;br /&gt;
Vt. lihtsa andmebaasi loomist siit: https://msdn.microsoft.com/en-us/data/jj193542&lt;br /&gt;
&lt;br /&gt;
Nagu ka videost on näha, siis üks põhiline probleem, millega kokku puutume on domeenimudeli muutumine. Meie objekt-orienteeritud maailmas ei ole andmemudeli(klassi) struktuuri muutmine üldjuhul keerukas(kui on vaja lisada mõni väli, või midagi ära kaotada). Kui aga mängus on ka andmebaas, siis peab arvestama, et nende muutuste tegemine on keerulisem, kuna raamistik peab hoolitsema selle eest, et andmebaasis ei tekiks andmekadusid. Muutused domeenimudelis toovad kaasa ka muutused andmebaasi struktuurides. Selle jaoks tuleb kasutusele võtta &#039;&#039;&#039;Code First Migrations&#039;&#039;&#039;, kus kirjeldatakse ära, kuidas muutused andmebaasi struktuuris peaks toimuma. Nagu eelpool toodud näites on näha, siis õnneks suudab migratsioone raamistik üldjoontes ise genereerida.&lt;br /&gt;
&lt;br /&gt;
Kui kasutada Code First lähenemist, tuleb valida ka strateegia andmebaasi loomiseks, mis on kirjeldatud siin: http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx&lt;br /&gt;
&lt;br /&gt;
Vt. Code First Migrations lubamine projetkis: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application&lt;br /&gt;
&lt;br /&gt;
==Lihtsamate päringute loomine kasutades LINQt==&lt;br /&gt;
===Teooria===&lt;br /&gt;
*[[Linq päringukeel]]&lt;br /&gt;
*101 LINQ Samples: http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b&lt;br /&gt;
*Getting Started with LINQ in C#: http://msdn.microsoft.com/en-us/library/bb397933.aspx&lt;br /&gt;
&lt;br /&gt;
===Praktika===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Praktikum:LINQ päringukeele meeldetuletus VR2.3]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste loomine==&lt;br /&gt;
*Creating a Web API that Supports CRUD Operations: http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations&lt;br /&gt;
&lt;br /&gt;
==Andmebaasiga ühendumine==&lt;br /&gt;
* Database Connectivity using WebService http://www.c-sharpcorner.com/UploadFile/raj1979/DatabaseWebService01142008011107AM/DatabaseWebService.aspx&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste turvamine==&lt;br /&gt;
* Securing ASP.Net Web Services with Forms Authentication http://dotnetslackers.com/articles/aspnet/Securing-ASP-Net-Web-Services-with-Forms-Authentication.aspx&lt;br /&gt;
*[[Praktikum: Windows Communication Foundation teenuse turvamine, VR2.9]]&lt;br /&gt;
&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
*[[Praktikum VR 2.4 OOP meeldetuletus]]&lt;br /&gt;
*[[Praktikum VR 2.5 Päringud Andmebaasist]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Veebiteenuste kasutamine=&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Flickr&#039;i veebiteenuse rakendus, VR2.10]]&lt;br /&gt;
&lt;br /&gt;
[[Praktikum: Flickr&#039;i veebiteenusele klientrakenduse loomine]]--&amp;gt;&lt;br /&gt;
[[Praktikum: REST veebiteenusele klientrakenduse loomine]]&lt;br /&gt;
&lt;br /&gt;
=Arhiiv=&lt;br /&gt;
==2012 Kevad==&lt;br /&gt;
===Loengud===&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus, kus räägiti XML andmefailist asub siin:  http://echo360.e-uni.ee/ess/echo/presentation/d590aaa6-2d08-4852-9db6-42041cc7e438 &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus, kus räägiti XML skeemidest ja transformatsioonidest asub siin: http://echo360.e-uni.ee/ess/echo/presentation/fa1431fb-3b80-42a3-a7de-f18fe6a1d3ae &#039;&#039;&#039;&lt;br /&gt;
**Teises loengus tehtud näited, asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng2/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kolmas loeng, kus räägiti LINQ&#039;st: http://echo360.e-uni.ee/ess/echo/presentation/bbb940ea-fb20-49b4-9d5b-7b2e41f1ac39 &#039;&#039;&#039;&lt;br /&gt;
**Kolmandas loengus tehtud näited asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng3/&lt;br /&gt;
* &#039;&#039;&#039; Neljas loeng: http://echo360.e-uni.ee/ess/echo/presentation/7b97f540-e6e1-4bbb-99c3-04e9833b690b &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Viies loeng. Lihtsa veebiteenuse loomise algus: http://echo360.e-uni.ee/ess/echo/presentation/7babae6b-fd76-4564-b60b-d30f82d3d2cf&lt;br /&gt;
* &#039;&#039;&#039; Kuues loeng. &amp;lt;i&amp;gt;Windows Communication Foundation&amp;lt;/i&amp;gt;: http://echo360.e-uni.ee/ess/echo/presentation/78ee4f6d-e7d5-47e0-92b9-824331027bbd&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/c5abc659-5d25-4e7c-bbdb-f054dfd99c3f  Loeng 12.03.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/8c5b7bba-7f5f-4a2c-b143-473ea810ac34 Loeng 19.03.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/c5abc659-5d25-4e7c-bbdb-f054dfd99c3f Loeng 02.04.2012 - WCF Turvalisus]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/6aba1a81-fab2-418d-bb70-969dbe97de9e Loeng 09.04.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/ecce8a28-6bed-4164-9443-3cd784197489 Loeng 16.04.2012]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/4115cf45-538e-42d3-bf1f-f28504e3a18e Loeng 23.04.2012 - Bing teenuse kasutamine]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/1f36208f-fa14-41c2-bb7e-75f7a4ffd765 Loeng 07.05.2012(Asjalikum jutt algab 40min kandist]&lt;br /&gt;
* &#039;&#039;&#039; [http://echo360.e-uni.ee/ess/echo/presentation/bdfcb5f2-698d-4429-a485-a40d51c74ded Loeng 14.05.2012 Gunnar]&lt;br /&gt;
===Praktikumid===&lt;br /&gt;
* [[Praktikum: XML failide loomine, VR2.1]]&lt;br /&gt;
* [[Linq_päringukeel|Praktikum: LINQ päringute tegemine XML-i peal, VR2.2]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.09%5d%20Praktikum%202%20/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.16%5d%20Praktikum%203/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failidega töötamine (kokkuvõttev praktikum), VR2.4]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.23%5d%20Praktikum%204/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus, VR2.6]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.08%5d%20Praktikum%206/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Veebiteenuse loomine Windows Communication Foundation abil, VR2.7]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.15%5d%20Praktikum%208/ Praktikumi näide]&lt;br /&gt;
* Praktikum: Object Orientated crash, VR2.8&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.03.22%5d%20Praktikum%209/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Windows Communication Foundation teenuse turvamine, VR2.9]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.04.05%5d%20Praktikum%2010/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Windows Communication Foundation teenuse turvamine jätk, VR2.10]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.04.13%5d%20Praktikum%2011/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus, VR2.6]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus 2 (mitme tabeliga), VR2.7]]&lt;br /&gt;
* [[Praktikum: Rollipõhine kasutajahaldus veebiteenuses, VR2.8]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Meeskonnad 2012===&lt;br /&gt;
*[[Hello Kitty]]&lt;br /&gt;
*[[TTiim]]&lt;br /&gt;
*[[Meeskond &amp;quot;Harold&amp;quot;|Harold]]&lt;br /&gt;
*[[Meeskond &amp;quot;WP&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[-.-]]&amp;quot;*&lt;br /&gt;
** Erki Miilberg (projektijuht)&lt;br /&gt;
** Kalev Vallsalu &lt;br /&gt;
** Oliver Naaris&lt;br /&gt;
** Margo Kuustik&lt;br /&gt;
&lt;br /&gt;
* Meeskond &amp;quot;[[PhoneBook]]&amp;quot;&lt;br /&gt;
**Lauri Jansen&lt;br /&gt;
**Tanel Jüris&lt;br /&gt;
**Madis Rääk&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[LLL]]&amp;quot;&lt;br /&gt;
** Joonas Püüa&lt;br /&gt;
** Janno Toomingas&lt;br /&gt;
** Janek Kople&lt;br /&gt;
** Roland Krindal&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[Peeter VR2]]&amp;quot;&lt;br /&gt;
** Lennart Lüsi&lt;br /&gt;
** Kairo Koik&lt;br /&gt;
** Marek Kikas&lt;br /&gt;
** Kaivar Kull&lt;br /&gt;
&lt;br /&gt;
*[[Meeskond &amp;quot;.NOT&amp;quot;]]&lt;br /&gt;
** Martin Kosk&lt;br /&gt;
** Kalmer Tart&lt;br /&gt;
** Martin Aarne&lt;br /&gt;
** Gert Glükmann&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88398</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88398"/>
		<updated>2015-05-10T18:53:29Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
==09.05.2015==&lt;br /&gt;
Identity projekti kasutuselevõtt projektis, sh. ASP.NETi adminnipooles&lt;br /&gt;
==10.05.2015==&lt;br /&gt;
Panin ASP.NETi adminnipoolele template&#039;i [https://wrapbootstrap.com/theme/black-pearl-responsive-admin-template-WB040H333 Black Pearl-1] külge, [http://www.quora.com/How-do-I-integrate-Metronic-admin-template-with-ASP-NET-MVC-in-Visual-Studio juhend] (hästi kulutatud 4 USD, seni on mul veel keskmise tõsidusega CSS-probleemid).&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88125</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88125"/>
		<updated>2015-04-12T22:43:20Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. BLL kihi loomine. Püüdsin kuidagi migratsioonidest lahti saada, päriselt ei õnnestunud, asi vajab uurimist. Kuid kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated, on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88124</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=88124"/>
		<updated>2015-04-12T22:39:58Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Üldine logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
==12.04.2015==&lt;br /&gt;
Ninjecti taastamine WebApiApp-is. Kuna nüüd on (mitteformaalselt paberil kritseldatud) valminud ekraanivaated on teada ka millisel kujul tuleb jsoni kaudu infot tagastada. Seega tegin mobiiliveebi jaoks vajalikke DTO-sid ja kirjutasin reposse meetodeid mis nende jaoks andmebaasist infot hangivad.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=87973</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015&amp;diff=87973"/>
		<updated>2015-04-04T18:26:40Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* Meeskond Valar Morghulis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2015=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;07. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;14. märts 2015&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;4.aprill 2015&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2015#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;24. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;30. mai 2015&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--** Klientrakendused tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 6 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee (+372 53 469 734) või&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2015 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2015=&lt;br /&gt;
==Meeskond Demo==&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liige 1&lt;br /&gt;
*Liige 2&lt;br /&gt;
&lt;br /&gt;
==Meeskond Kollektsionäärid==&lt;br /&gt;
[[Kollektsionäärid|Meeskonna koduleht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Tõnismäe&lt;br /&gt;
*Andreas Plado&lt;br /&gt;
*Rando Laisaar&lt;br /&gt;
&lt;br /&gt;
==Meeskond ROKK==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ROKK Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Ott&lt;br /&gt;
*Kristian Kalm&lt;br /&gt;
&lt;br /&gt;
==Lupardid VR2==&lt;br /&gt;
[[Lupardid VR2|Meeskonna leht]]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Timo Triisa&lt;br /&gt;
*Madis Männik&lt;br /&gt;
*Johannes Vatsfeldt&lt;br /&gt;
*Tanel Pääro&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* [[Talk:HMR#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[HMR]] (14.03)&lt;br /&gt;
* [[Talk:Liisa ja Poisid#Retsensioon meeskonnalt Lupardid|XML&#039;i retsensioon]] meeskonnale [[Liisa ja Poisid]] (14.03)&lt;br /&gt;
&lt;br /&gt;
==R0ds==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:R0ds Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rain Mäsak&lt;br /&gt;
*Oliver Armväärt&lt;br /&gt;
*Den-Daniel Dobrus - &#039;&#039;Lead&#039;&#039;&lt;br /&gt;
*Sten Saliste&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R0ds poolt kirjutatud retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 VariableMoods2]&lt;br /&gt;
&lt;br /&gt;
== /* Anonüümsed koodikommentaatorid */ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Koodikommentaatorid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Madis Uudam&lt;br /&gt;
*Kristjan Kebja&lt;br /&gt;
*Olle Mikk&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioonid retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO MS-TO]&amp;lt;br&amp;gt;&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Koodikommentaatorid#Retsensioon_meeskonnale_HMR retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/HMR HMR]&lt;br /&gt;
&lt;br /&gt;
== Meeskond Flauto ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto Flauto koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
&lt;br /&gt;
* Lelet Hollo&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Anonüümsed koodikommentaatorid&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Flauto#Retsensioon_meeskonnale_.22Anon.C3.BC.C3.BCmsed_koodikommentaatorid.22 Kaunis kodutöö]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Taandarendajad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Taandarendajad_VR2 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priit Üksküla&lt;br /&gt;
*Kaido Henrik Elias&lt;br /&gt;
*Meelis Talvis&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale Tab : [https://wiki.itcollege.ee/index.php/Talk:Tab Link]&lt;br /&gt;
&lt;br /&gt;
XML andmefaili retsensioon meeskonnale VariableMoods2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 Link]&lt;br /&gt;
&lt;br /&gt;
==Meeskond KRTT==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/KRTT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kert Siiner&lt;br /&gt;
*Ralf Sitska&lt;br /&gt;
*Timmo Tõnts&lt;br /&gt;
*Triin Õige&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna KRTT retsensioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:R0ds R0ds]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale  [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin Martin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Hubris==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Hubris Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Sander Maasikamäe&lt;br /&gt;
*Allan Paalo&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Tehtud retsensioonid:===&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ROKK ROKK]&lt;br /&gt;
* XMLi [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Flauto Flauto]&lt;br /&gt;
&lt;br /&gt;
==Meeskond VariableMoods==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:VariableMoods2 Ajaveeb]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Berit Veidemann&lt;br /&gt;
*Mihkel Künnapas&lt;br /&gt;
*Krister Kamla&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tehtud retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
11. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:KRTT KRTT] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
19. märts 2015 - Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Hubris Hubris] (XML andmefail)&lt;br /&gt;
&lt;br /&gt;
==[https://wiki.itcollege.ee/index.php/ALTER_eGO ALTER eGO]==&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Egon Lund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Artur ja sõbrad]&lt;br /&gt;
&lt;br /&gt;
XML ülesande [https://wiki.itcollege.ee/index.php/Talk:TrainSmart retsensioon] meeskonnale [https://wiki.itcollege.ee/index.php/TrainSmart TrainSmart]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Tab==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Tab Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Rene Mändel&lt;br /&gt;
*Mikk Pürg&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;Qwerty&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin!]  (11.03.2015)&lt;br /&gt;
&lt;br /&gt;
XML ülesande retsentsioon meeskonnale &amp;quot;ROKK&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond:ROKK siin!]  (14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==[InsertNameHere]==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:InsertNameHere Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Villu Viirsalu&lt;br /&gt;
&lt;br /&gt;
== Simpleshow==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:SimpleShow Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mait Roosvalt&lt;br /&gt;
*Jekaterina Jakimets&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Martin&amp;quot;:&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Martin asub siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Qwerty&amp;quot;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty asub siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Martin==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Martin Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Martin Karu&lt;br /&gt;
*Martin Mägi&lt;br /&gt;
*Martin Betlem&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale &amp;quot;Simpleshow&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:SimpleShow siin] (14.03.2015 kell 23.41)&lt;br /&gt;
&lt;br /&gt;
==Dot muzei==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Dot_muzei Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Aap Kaur Suvi&lt;br /&gt;
*Indrek Jõgi&lt;br /&gt;
*Kristjan Veskimäe&lt;br /&gt;
*Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse analüüs asub [https://wiki.itcollege.ee/index.php/Dot_muzei#Veebiteenuse_anal.C3.BC.C3.BCs siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Artur ja sõbrad==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:ArturJaSobrad Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Anni Klammer&lt;br /&gt;
*Artur Tomba&lt;br /&gt;
*Oliver Vahenõmm&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale NoMethodError asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:NoMethodError siin]&lt;br /&gt;
&lt;br /&gt;
XMLi retsensioon meeskonnale Qwerty asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Qwerty siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error405==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error405 Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Priidik Soon&lt;br /&gt;
*Mihkel Kivisild&lt;br /&gt;
*Andre Kaur&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/KRTT KRTT] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:KRTT siin].&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503] asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Vertigo==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:vertigo Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tanel Peet&lt;br /&gt;
*Meri-Kris Jaama&lt;br /&gt;
*Teele Liblik&lt;br /&gt;
*Kätlin Hein&lt;br /&gt;
*Liisi Kitsapea&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale VariableMoods1 [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VariableMoods2 asub siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon meeskonnale KRTT [https://wiki.itcollege.ee/index.php/Talk:KRTT#XML asub siin]&lt;br /&gt;
&lt;br /&gt;
==Meeskond NoMethodError==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:NoMethodError Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liige:&lt;br /&gt;
*Murdho Savila&lt;br /&gt;
&lt;br /&gt;
====Retsensioonid====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Dot_muzei#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt__NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Dot muzei&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:ArturJaSobrad#.C3.9Clesande_.22XML_fail.22_retsensioon_meeskonnalt_NoMethodError Ülesande &amp;quot;XML fail&amp;quot; retsensioon meeskonnale &#039;&#039;&#039;Artur ja sõbrad&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
==Meeskond Toidutracker==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Toidutracker#Meeskond Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Julia Kraam&lt;br /&gt;
*Alari Talvar&lt;br /&gt;
&lt;br /&gt;
==Meeskond Valar Morghulis==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Urmas Hoogma&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#XML_t.C3.B6.C3.B6 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Vertigo&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error 503&amp;quot; asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analüüs asub [https://wiki.itcollege.ee/index.php/Meeskond:Valar_Morghulis#Projekti_anal.C3.BC.C3.BCs siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Error 503==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:Error_503 Error 503 koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna Liikmed:&lt;br /&gt;
*Argo Ind&lt;br /&gt;
*Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Talk:Kruus Retsensioon meeskonnale Kruus] (kirjutatud 14.03.2015)&lt;br /&gt;
&lt;br /&gt;
==Meeskond Qwerty==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond_Qwerty Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Andrei Tverskoi&lt;br /&gt;
*Daniil Kulagin&lt;br /&gt;
*Kristjan Kivisild&lt;br /&gt;
*Ilja Andrejev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;TrainSmart&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;XML ülesande retsentsioon meeskonnale &amp;quot;Error405&amp;quot; asub [https://wiki.itcollege.ee/index.php/Meeskond_Qwerty siin!]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Meeskond Liisa ja Poisid==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Liisa_ja_Poisid Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Liisa Suurkaev&lt;br /&gt;
*Tõnis Suurkaev&lt;br /&gt;
*Maanus Indov&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonnale Hubris asub [https://wiki.itcollege.ee/index.php/Talk:Hubris siin]&lt;br /&gt;
&lt;br /&gt;
== Meeskond TrainSmart ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/TrainSmart Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Janno Mäemets&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad - KAUGÕPE 2015=&lt;br /&gt;
&lt;br /&gt;
== BACKBONE ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Backbone Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Mikk Visnap&lt;br /&gt;
*Silver Lumi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/Backbone#XML_andmefail siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande retsentsioon meeskonnale &amp;quot;SAVI&amp;quot; asub [https://wiki.itcollege.ee/index.php/Backbone#XML-i_t.C3.B6.C3.B6_retsensioon_meeskonnale_.22SAVI.22 siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Savi ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Savi Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Tõnu Sein&lt;br /&gt;
*Arvi Kangas&lt;br /&gt;
*Andres Sööt&lt;br /&gt;
*Marek Öövel&lt;br /&gt;
*Marju Niinemaa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonda retsentseeris meeskond HMR. Retsensioon asub [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siin].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Esimene_XML-i_retsensioon_meeskonnale_.2F.2A_Anon.C3.BC.C3.BCmsed_koodikommentaatorid_.2A.2F retsensioon] meeskonnale /* Anonüümsed koodikommentaatorid */&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Savi#Teine_XML-i_retsensioon_meeskonnale_Ehk_l.C3.B5petab_see_aasta retsensioon] meeskonnale Ehk lõpetab see aasta&lt;br /&gt;
&lt;br /&gt;
== Kruus ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Kruus Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Vivian Uibo&lt;br /&gt;
*Eva Loolaid-Raudpuu&lt;br /&gt;
*Rait Saar&lt;br /&gt;
*Martin Vahtramäe&lt;br /&gt;
&lt;br /&gt;
== Ehk lõpetab see aasta ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Lopetajad Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Braid Torn&lt;br /&gt;
*Heiki Linnamägi&lt;br /&gt;
*Helge Saks&lt;br /&gt;
*Tarmo Sillajõe&lt;br /&gt;
&lt;br /&gt;
===Meeskonna poolt kirjutatud retsensioonid===&lt;br /&gt;
&lt;br /&gt;
*[[ XML-i töö retsensioon meeskonnale Backbone]]&lt;br /&gt;
&lt;br /&gt;
== Nipitiri ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Nipitiri  Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Kristjan Pihus&lt;br /&gt;
*Hanno Sirkel&lt;br /&gt;
*Rait Ots&lt;br /&gt;
*Ago Kütt&lt;br /&gt;
*Merje Kungla&lt;br /&gt;
&lt;br /&gt;
== HMR ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/HMR Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Harles Luts&lt;br /&gt;
* Mattiko Kabanen&lt;br /&gt;
* Ranek Runthal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie koostatud XML ülesande lahendus on [https://wiki.itcollege.ee/index.php/HMR#XML_formaadis_admeedastus siin!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensiooni XML lahenduse kohta võid kirjutada [https://wiki.itcollege.ee/index.php/HMR#Retsensioon siia!]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeskonna retsensiooni meeskonna Savi XML lahenduse kohta saab lugeda [https://wiki.itcollege.ee/index.php/Savi#Retsensioon_meeskonna_HMR_poolt siit.]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeskond XYZ ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/XYZ Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
&lt;br /&gt;
* Sulev Pert&lt;br /&gt;
&lt;br /&gt;
==MS-TO==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Meeskond:MS-TO Koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Margus Roo&lt;br /&gt;
*Silja Saar&lt;br /&gt;
*Tõnis Luik&lt;br /&gt;
*Ott Kingisepp&lt;br /&gt;
&lt;br /&gt;
XMLi [https://wiki.itcollege.ee/index.php/Meeskond:MS-TO#Retsensioonid retsensioon] meeskonnale Anonüümsed koodikommentaatorid&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/IT Meeskonna koduleht]&lt;br /&gt;
&lt;br /&gt;
Meeskonna liikmed:&lt;br /&gt;
*Triin Soosalu&lt;br /&gt;
*Imre Padonik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML ülesande lahendus asub [https://wiki.itcollege.ee/index.php/IT#XML_andmefailid siin!]&lt;br /&gt;
&lt;br /&gt;
1. XML ülesande retsentsioon meeskonnale &amp;quot;Ehk lõptetab see aasta&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Esimene_XML-i_retsensioon siin!]&lt;br /&gt;
&lt;br /&gt;
2. XML ülesande retsentsioon meeskonnale &amp;quot;Backbone&amp;quot; asub [https://wiki.itcollege.ee/index.php/IT#Teine_XML-i_retsensioon siin!]&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87972</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87972"/>
		<updated>2015-04-04T18:25:36Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 3.stiilifail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87971</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87971"/>
		<updated>2015-04-04T18:25:05Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 3.stiilifail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;/pre&amp;gt;&lt;br /&gt;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87970</id>
		<title>Meeskond:Valar Morghulis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond:Valar_Morghulis&amp;diff=87970"/>
		<updated>2015-04-04T18:24:47Z</updated>

		<summary type="html">&lt;p&gt;Uhoogma: /* 2.stiilifail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Liikmed=&lt;br /&gt;
Urmas Hoogma&lt;br /&gt;
==Põhjendus==&lt;br /&gt;
Põhjenduse tõi Andres Käver oma 23.02.2015 loengus. Kuna ma deklareerisin nii Võrgurakendused II kui ASP.NET-i siis on ainuke mõistlik viis need ained ühendada ja ASP.NET-is on meeskonna suurus x+Anders Käver (kus x on meeskonnaliikmete arv mis on maksimaalselt 2). &lt;br /&gt;
Kui eelmine semester mulle üldse midagi õpetas siis seda et midagi nii mahukat kui 9 EAP väärtuses aineid ei saa jätta juhuse hooleks. Peab olema võimalik aega planeerida (st. kui vaja siis tegeleda vaid nendega) muidu läheb nagu eelmisel semestril mil ma projekti kallal sisulist tööd alustasin alles 28.detsembril 2014.&lt;br /&gt;
&lt;br /&gt;
=Üldine logi=&lt;br /&gt;
==22.02.2015==&lt;br /&gt;
XML osa realiseerimine.&lt;br /&gt;
==07.03.2015==&lt;br /&gt;
Viki loomine.&lt;br /&gt;
==14.03.2015==&lt;br /&gt;
Varem loodud mudeli realiseerimine Code First projektiks KVK(&amp;quot;Küsida võib kõike&amp;quot;). 3 tundi jamamist scaffoldinguga (VisualStudio2013 Update 4-ga scaffolding lihtsalt ei tööta ja kõik).&lt;br /&gt;
==15.03.2015==&lt;br /&gt;
Interface&#039;id ja repositooriumid (käsitsi mitte scaffoldinguga), Dependency Injection (Ninject), WebApi loomine (ASP.NETis saab scaffoldingut kasutada), KVK täiustamine (annotatsioonid) EDMX mudel analüüsiks.&lt;br /&gt;
==21.03.2015==&lt;br /&gt;
Loodud primitiivne andmebaasi algväärtustamise meetod. Dependency Injection (Ninject) kasutusel ka WebApi-s.&lt;br /&gt;
==02.04.2015==&lt;br /&gt;
Alustasin mobiili kasutajaliidese loomisega&lt;br /&gt;
==03.04.2015==&lt;br /&gt;
Analüüsi kirjutamine. UoW (Unit of work) juurutamine projektis.&lt;br /&gt;
&lt;br /&gt;
=XML töö=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 07. märts 2015&lt;br /&gt;
&lt;br /&gt;
Failid saab kätte [https://drive.google.com/file/d/0B92yL_yT6eL7ZWhiLVB6MkwtYkk/view?usp=sharing  siit]&lt;br /&gt;
&lt;br /&gt;
==XML fail==&lt;br /&gt;
Tegu on &amp;quot;Star Treki&amp;quot; raamatuseeriatesse kuuluvate teoste nimekirjaga. Atribuut &amp;quot;bookseries&amp;quot; tähistab seda millise sarja (kas TV või raamatusari) juurde raamat kuulub (&lt;br /&gt;
&lt;br /&gt;
DS9 - Star Trek: Deep Space Nine&lt;br /&gt;
&lt;br /&gt;
TNG - Star Trek: The Next Generation&lt;br /&gt;
&lt;br /&gt;
Titan - Star Trek: Titan)&lt;br /&gt;
&lt;br /&gt;
Hinnad USA dollarites, kuna pärinevad Amazoni USA lehelt. Mõned elemendid on osalt meelega tühjaks jäetud, et skeemifailides peaks erijuhtumitega arvestama.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;books&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;1&amp;quot; seriesname=&amp;quot;The Fall (2013)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;1&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Revelation and Dust]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[R.]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[George III]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[After the destruction of the original space station by a rogue faction of the Typhon Pact, Miles O’Brien and Nog have led the Starfleet Corps of Engineers in designing and constructing a larger, more advanced starbase in the Bajoran system. Now, as familiar faces such as Benjamin Sisko, Kasidy Yates, Ezri Dax, Odo, and Quark arrive at the new station, Captain Ro Laren will host various heads of state at an impressive dedication ceremony. The dignitaries include not only the leaders of allies—such as Klingon Chancellor Martok, Ferengi Grand Nagus Rom, the Cardassian castellan, and the Bajoran first minister—but also those of rival powers, such as the Romulan praetor and the Gorn imperator. But as Ro’s crew prepares to open DS9 to the entire Bajor Sector and beyond, disaster looms. A faction has already set in action a shocking plan that, if successful, will shake the Alpha and Beta Quadrants to the core. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;2&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Crimson Shadow]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Una]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[McCormack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Cardassia Prime is home to a prideful people who, for centuries, forged alliances with those they believed would strengthen them and their place in the Alpha Quadrant, and expanded their empire at great cost to other worlds. For generations, dissenting voices were silenced by either fear or an early grave. When their wartime ally, the Dominion, suddenly turned on them, seeking to transform Cardassia into a tomb for every last member of their race, their old adversary—the United Federation of Planets— put an end to the carnage, and even now works to help rebuild Cardassia Prime. ]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;3&amp;quot; bookseries=&amp;quot;DS9&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[A Ceremony of Losses]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;2.07&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-09-29&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;h2&amp;gt;THE NEEDS OF THE MANY&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Despite heroic efforts by Thirishar ch’Thane, the Andorian species is headed for extinction. Its slow march toward oblivion has reached a tipping point, one from which there will be no hope of return.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE FEW&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;With countless lives at stake, the leaders of Andor, the Federation, and the Typhon Pact all scheme to twist the crisis to their political gain—at any price.&amp;lt;/p&amp;gt;&amp;lt;h2&amp;gt;THE NEEDS OF THE ONE&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Unwilling to be a mere bystander to tragedy, Doctor Julian Bashir risks everything to find a cure for the Andorians. But his courage will come at a terrible cost: his career, his freedom . . . and maybe his life.&amp;lt;/p&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;4&amp;quot; bookseries=&amp;quot;Titan&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[The Poisoned Chalice]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[James]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Swallow]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[One simple act, and the troubles of the United Federation of Planets have grown darker overnight. The mystery behind the heinous terrorist attack that has rocked the Federation to its core grows ever deeper, and William Riker finds himself beset by rumors and half-truths as the U.S.S. Titan is ordered back to Earth on emergency orders from the admiralty. Soon, Riker finds himself drawn into a game of political intrigue, bearing witness to members of Starfleet being detained—including people he considered friends—pending an investigation at the highest levels. And while Riker tries to navigate the corridors of power, Titan’s tactical officer, Tuvok, is given a series of clandestine orders that lead him into a gray world of secrets, lies, and deniable operations. Who can be trusted when the law falls silent and justice becomes a quest for revenge? For the crew of the U.S.S. Titan, the search for answers will become a battle for every ideal the Federation stands for. . . .]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;5&amp;quot; bookseries=&amp;quot;TNG&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Peaceable Kingdoms]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[Dayton]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Ward]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;0.98&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2013-12-31&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Following the resolution of the fertility crisis that nearly caused their extinction, the Andorian people now stand ready to rejoin the United Federation of Planets. The return of one of its founding member worlds is viewed by many as the first hopeful step beyond the uncertainty and tragedy that have overshadowed recent events in the Alpha Quadrant. But as the Federation looks to the future and the special election to name President Bacco’s permanent successor, time is running out to apprehend those responsible for the respected leader’s brutal assassination. Even as elements of the Typhon Pact are implicated for the murder, Admiral William Riker holds key knowledge of the true assassins— a revelation that could threaten the fragile Federation-Cardassian alliance.]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
  &amp;lt;series id=&amp;quot;2&amp;quot; seriesname=&amp;quot;Other&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;book id=&amp;quot;6&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Disavowed]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
          &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
          &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
        &amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&amp;lt;![CDATA[Amoral, shrouded in secrecy, and answerable to no one, Section 31 is the mysterious covert operations division of Starfleet, a rogue shadow group committed to safeguarding the Federation at any cost. Doctor Julian Bashir sacrificed his career for a chance to infiltrate Section 31 and destroy it from within. Now it’s asking him to help it stop the Breen from stealing a dangerous new technology from the Mirror Universe—one that could give the Breen control over the galaxy. It’s a mission Bashir can’t refuse—but is it really the shot he’s been waiting for? Or is it a trap from which even his genetically enhanced intellect can’t escape?]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
    &amp;lt;book id=&amp;quot;7&amp;quot; bookseries=&amp;quot;Section 31&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;![CDATA[Star Trek: Section 31: Control]]&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;author id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;givenname&amp;gt;&amp;lt;![CDATA[David]]&amp;gt;&amp;lt;/givenname&amp;gt;&lt;br /&gt;
        &amp;lt;middlename&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/middlename&amp;gt;&lt;br /&gt;
        &amp;lt;surname&amp;gt;&amp;lt;![CDATA[Mack]]&amp;gt;&amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;/series&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML skeemifail==&lt;br /&gt;
Automaatselt genereeritud. Atribuudi tüübis asendasin maksimaalse väärtuse järgi tekkinud &lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedByte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type=&amp;quot;xs:unsignedInt&amp;quot; -iga.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;books&amp;quot;&amp;gt;&lt;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;series&amp;quot;&amp;gt;&lt;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;book&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;givenname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;middlename&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;surname&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;unit&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;released&amp;quot; type=&amp;quot;xs:date&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;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;bookseries&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs: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;seriesname&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;
==XML stiilifailid==&lt;br /&gt;
&lt;br /&gt;
===1.stiilifail===&lt;br /&gt;
Esimene transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Book data&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          .description {&lt;br /&gt;
          max-width: 600px;&lt;br /&gt;
          }&lt;br /&gt;
          .totop {&lt;br /&gt;
          vertical-align: text-top;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
          tr.firstrow td {&lt;br /&gt;
          color: #000000;&lt;br /&gt;
          background-color: #EAF2D3;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Published&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr class=&amp;quot;firstrow&amp;quot;&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:value-of select=&amp;quot;title&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:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;released&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;To be determined...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;concat(price,&#039; &#039;,price/@unit)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Not set&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td class=&amp;quot;totop&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;concat(&#039;by &#039;, author/givenname, &#039; &#039; ,author/middlename,&#039; &#039;,author/surname)&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;description&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of disable-output-escaping=&amp;quot;yes&amp;quot; select=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;Coming soon...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/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;
[http://enos.itcollege.ee/~uhoogma/I371/bookshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===2.stiilifail===&lt;br /&gt;
Teine transformatsioon (HTML-iks). Tekitatakse kena tabel (värvilahendus pärineb W3Schoolsilt) mida saab vaadata faili järel. Tabelis on vaid unikaalsed raamatusarjade nimed neile eelnevate järjekorranumbritega.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; collapse=&amp;quot;true&amp;quot; first-line=&amp;quot;2&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;
&lt;br /&gt;
  &amp;lt;xsl:key name=&amp;quot;DistinctSeries&amp;quot; match=&amp;quot;book&amp;quot; use=&amp;quot;@bookseries&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&#039;yes&#039;&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/xsl:text&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;Distinct series&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
          // Style borrowed from: http://www.w3schools.com/css/tryit.asp?filename=trycss_table_fancy&lt;br /&gt;
          table {&lt;br /&gt;
          font-family: &amp;quot;Trebuchet MS&amp;quot;, Arial, Helvetica, sans-serif;&lt;br /&gt;
          border-collapse: collapse;&lt;br /&gt;
          }&lt;br /&gt;
          th {&lt;br /&gt;
          text-align: left;&lt;br /&gt;
          background-color: #A7C942;&lt;br /&gt;
          }&lt;br /&gt;
          tr td {&lt;br /&gt;
          font-size: 1em;&lt;br /&gt;
          border: 1px solid #98bf21;&lt;br /&gt;
          padding: 3px 7px 2px 7px;&lt;br /&gt;
          }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
          &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Id&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;th&amp;gt;Series name&amp;lt;/th&amp;gt;&lt;br /&gt;
          &amp;lt;/tr&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Borrowed from: http://stackoverflow.com/questions/5331532/unique-elements-with-xsl-generate-key --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;books/series/book[generate-id() = generate-id(key(&#039;DistinctSeries&#039;, @bookseries)[1])]&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;position()&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;@bookseries&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;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://enos.itcollege.ee/~uhoogma/I371/serieshtml.htm HTML tabel]&lt;br /&gt;
&lt;br /&gt;
===3.stiilifail===&lt;br /&gt;
Kolmas transformatsioon (XML-iks). Tekitatakse XML fail mis sisaldab vaid hetkel vajalikku infot.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;books&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;books/series&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;price &amp;gt; 2.07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;book id=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;title&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/title&amp;gt;&lt;br /&gt;
              &amp;lt;price unit=&amp;quot;{price/@unit}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/price&amp;gt;&lt;br /&gt;
              &amp;lt;released&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;released&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/released&amp;gt;&lt;br /&gt;
            &amp;lt;/book&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;/books&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;/pre&amp;gt;&lt;br /&gt;
Eksporditav XML fail:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;books&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Revelation and Dust&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-08-27&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Crimson Shadow&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;3.24&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-09-24&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Poisoned Chalice&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2013-11-26&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book id=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Star Trek: Section 31: Disavowed&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;price unit=&amp;quot;USD&amp;quot;&amp;gt;7.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;released&amp;gt;2014-10-28&amp;lt;/released&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XML failide retsensioonid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:vertigo retsensioon meeskonnale Vertigo] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 08. märts 2015&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Error_503 retsensioon meeskonnale Error 503] &#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 14. märts 2015&lt;br /&gt;
&lt;br /&gt;
=Projekti analüüs=&lt;br /&gt;
&#039;&#039;&#039;Tähtaeg:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esitatud:&#039;&#039;&#039; 04. aprill 2015&lt;br /&gt;
&lt;br /&gt;
Rakenduse ideeks on luua ask.com-i sarnane keskkond kus kasutajatele saaks (anonüümselt) küsimusi esitada. See koosneb järgmistest osadest:&lt;br /&gt;
&lt;br /&gt;
# Veebiteenus&lt;br /&gt;
# Kliendirakendus -  mobiiliveeb (mõeldud kasutamiseks ekraanidel laiuse alates 480 pikslit)&lt;br /&gt;
# Administraatoripaneel – mõeldud kasutamiseks tavaarvutis (ekraani laius alates 960 pikslit)&lt;br /&gt;
2. ja 3. osa teostatakse ASP.NET-i veebisaidina mis saavad andmebaasilt infot läbi veebi-teenuse JSON päringute kaudu.&lt;br /&gt;
&lt;br /&gt;
Keskkonna nimeks saab KVK (lühend fraasist „Küsida võib kõike“), selle ärilisel eesmär-gil kasutamiseks võiks seal müüa reklaami.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KVK  üldine kasutamine oleks järgmine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõik saavad sisse logimata otsida kasutajaid ja vaadata küsimusi mida nood on vastanud. Küsimuse esitamiseks peab sisse logima. Isik kellele küsimus esitati ei näe küsimuse esitaja andmeid. Kui esitatud küsimus ei meeldi, saab selle vastamata kustutada. Administraatori-le kaebamise võimalust ei ole. Kui esitatud küsimus kustutatakse, blokeeritakse küsija võimalus edasisi küsimusi esitada 1 tunniks. Teise järjestikuse kustutatud küsimuse korral samale kasutajale 24-ks tunniks. Kõik sisse logitud kasutajad saavad kliendirakendust (ja seega ka veebiteenust) kasutada ainult piiratud mahus (1000 JSON päringut 2 jooksva tunni jooksul). Sama kehtib ka anonüümsete kasutajate kohta (neid eristatakse IP-aadressi põhjal). Vajab kaalumist võimalus lasta anonüümsetel kasutajatel teha rohkem päringuid kui sisse logitud kasutajatel (kuna NAT-i (Network Address Translation) tõttu võib ühelt IP-aadressilt teenust kasutada mitu inimest). Administraatorite juurdepääs veebiteenusele pole piiratud.&lt;br /&gt;
&lt;br /&gt;
Sisse logimine käib kasutajanime ja salasõna kombinatsiooniga. Registreerimiseks tuleb kasutada emaili, registreerijale saadetakse kinnituslink http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx. Email peab pärinema domeenilt @itcollege.ee sel-leks et vähendada kasutajate arvu (eesmärgiks on seada süsteem üles hostingusse (nt. Azu-re’i http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-mobile-app/) ning tasuta pakkumiste puhul on andmebaasi maht piiratud, het-kel on andmebaasis 900 testküsimust ning andmebaasi maht on juba üle 4 MB). Emaili on seega vaja registreerimiseks, kasutajanime selleks, et seda saidil näidata.&lt;br /&gt;
&lt;br /&gt;
Sellest tulenevalt on vaja luua järgmised vaated koos kaasneva funktsionaalsusega:&lt;br /&gt;
&lt;br /&gt;
==Kliendirakenduse vaated==&lt;br /&gt;
Teostamisel kasutan põhiliselt Bootstrap-i ja Angulari.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Administraatoripaneel==&lt;br /&gt;
Teostamisel kasutan ASP.NET-i poolt pakutavaid võimalusi ja püüan töömahu vähendamiseks erikujundusi vältida.&lt;br /&gt;
&lt;br /&gt;
Kuna wiki ei võimalda mugavalt suure tasemete arvuga nimekirja loomist on vaadete nimistu (ja kogu analüüs) koos funktsionaalsusega saadaval  [https://drive.google.com/file/d/0B92yL_yT6eL7VlJISWpmT19JdzA/view?usp=sharing siit]&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Päringute nimekiri selgub töö käigus&lt;br /&gt;
==Muud tööd==&lt;br /&gt;
===Nice to have===&lt;br /&gt;
# Saidi ülesseadmine hostingupakkujasse (nt. Azure)&lt;br /&gt;
# Hostingus oleva kliendirakenduse testimine erinevate mobiilibrauseritega (testi-miskeskkondade valik on lai http://www.practicalecommerce.com/articles/3883-19-Tools-to-Test-your-Site-for-Mobile-Devices)&lt;br /&gt;
==Pildid==&lt;br /&gt;
&#039;&#039;&#039;Esialgne andmemudel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:EntityDesignerDiagram-UH.jpg]]&lt;br /&gt;
&lt;br /&gt;
Märkus - kasutan code first lähenemist, ülalpool toodud mudel on tekitatud skriptiga andmete kontekstist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näidisvaated&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:KVK.png]]&lt;br /&gt;
&lt;br /&gt;
Märkus - Chrome&#039;i brauseris, viewporti suurus 360x640 pikslit.&lt;br /&gt;
&lt;br /&gt;
==Mis on veel lahtine==&lt;br /&gt;
Kasutajate juurdepääsu haldamine ja veebiteenuse kaitsmine&lt;br /&gt;
&lt;br /&gt;
=Projekt=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Veebiteenuste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
(tähtaeg 24. mai 2015)&lt;br /&gt;
==Klientrakenduste retsensioonid==&lt;br /&gt;
(600 sõna - tähtaeg 30. mai 2015)&lt;/div&gt;</summary>
		<author><name>Uhoogma</name></author>
	</entry>
</feed>