<?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=Roparn</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=Roparn"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Roparn"/>
	<updated>2026-05-05T21:27:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63862</id>
		<title>Talk:AFFA II</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63862"/>
		<updated>2013-06-04T20:01:01Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Retsensioon teenusele ja klientrakendusele (Meeskond &amp;quot;asdasdasd&amp;quot; poolt) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Käes oleva tiimi XML fail oli loodud õppeaines Programmeerimine C# keeles läbiviidud projekti AFFA (Automated Financial and Fundamental Analysis) jaoks. XML failis olid kirjeldatud kõik neli vajaliku dimensiooni, ka vajalik arv atribuute oli kirjeldatud, XML fail oli samuti loogilise ülesehitusega mida oli kerge jälgida,samuti värvid kasutus aitas orienteerumises kõvasti kaasa. Kuna tegemist oli üsnagi koguka failiga, (võibolla liiga suurega tööülesandemõttes). Samuti andis xml fail kaasa suurel hulgal erinevat infot, mida on edasipidi võimalik lihtsalt kasutada rakenduses. Xml on igati sobilik põhjaliku info edastamiseks, oma laialase admeatribuutide kirjeldusega. &lt;br /&gt;
Skeemi faiid tunduvada olevat korrektsed antud xmli puhul, samuti nii auto-genereeritud ja käsitsi genereeritud failid on mõlemad looogilise ülesehituseganing kerge vaevaga jälgitavad, samuti on mõlema skeemi faili puhul kirjeldatud põhimõtteliselt identne, mis on loomulikult väga hea .&lt;br /&gt;
XSLT saab ka ilusti oma tööga hakkama, kuvab kõik vajaliku, ning samuti kenasti struktuureeritud. Kuid see probleem on, et stiili faile on ainult üks kuigi peaks olema vähemalt 2. Antud XSLT ülesandeks oli kujutada Htmlis, Kuid Xml-fail xml formaadi muutumiseks stiili faili ei esitatud .&lt;br /&gt;
&lt;br /&gt;
== Retsensioon teenusele ja klientrakendusele ([[Meeskond &amp;quot;asdasdasd&amp;quot;]] poolt) ==&lt;br /&gt;
&lt;br /&gt;
Mis torkab hästi silma esimese asjana antud projekti juures on see, et rakenduse jaoks on loodud dokumentatsioon, kus on lisaks installeerimis- ja kasutusjuhend. See on väga meeldiv, kuna erinevaid lähenemisviise ülesande teostamiseks on erinevaid ning mõni võib olla mitte iseenesestmõistetav. Tänu juhendile on hea mõista, kuidas programm toimib ning kasutatavad teenused on välja toodud.&lt;br /&gt;
&lt;br /&gt;
=== Klientrakendus ===&lt;br /&gt;
&lt;br /&gt;
Klientrakendus jätab endale koheselt mulje, et on nähtud palju vaeva - nupud on loogiliselt asetatud, rakenduses on kõvasti ruumi kokku hoitud kasutades sakke erinevate andmete kuvamiseks. Kõik pakutavad nupud ja funktsioonid toimisid laitmatult. Funktsionaalne ja mugav on inforiba programmi all, mis kuvab kasutajale infot programmi tööseisu kohta (andmete töötlemine, tõmbamine, laadimine jne). Muljetavaldav on see, et nii palju erinevaid andmeid suudab programm kuvada graafikute ja tabelite näol. See teeks antud rakenduse kasutamise finantsanalüütikule meeldivaks. Tulevikuandmete prognoosimine ja aktsiate müümise/ostmise soovitus on väga lahedad. Genereeritavad andmed ilmuvad ekraanile kiiresti ning probleemideta. Piisavate andmete puudumisel soovitusi programm ei jaga. &lt;br /&gt;
&lt;br /&gt;
Negatiivse poole pealt jääb pealiskaudselt testides silma selline pisiasi, et kui tahta .xml faili avada läbi rakenduse ning kui failisirvimisaken sulgeda, siis alumine inforiba näitab ikka &amp;quot;Loading XML data&amp;quot;, kuigi reaalset laadimist ei toimu. Sama lugu on &#039;&#039;&#039;YCharts.com&#039;&#039;&#039;-i sisselogimise katkestamisel. Samuti võiks olla .xml faili sisestamisel võimalik vajutada ka näiteks &#039;&#039;cancel&#039;&#039; nuppu, kuna suvaliste .xml failide sisestamisel jääbki programm laadima XML-i. Lisaks sellele on programmil huvitav anomaalia: tehes päringu näiteks &amp;quot;MSFT&amp;quot; pihta läbi &#039;&#039;Google Finance&#039;&#039;-i, ei kuvata &#039;&#039;Forecast&#039;&#039; aknas mitte midagi, tehes siis päringu &amp;quot;AAPL&amp;quot; pihta ei kuvata samuti midagi - tabelil on veergudel kuupäevad, kuid andmeid nende all pole. Sulgedes programmi ning tehes seejärel kohe päringu &amp;quot;AAPL&amp;quot; pihta kuvatakse aga kõik andmed tabelis korralikult. Samuti toimib prognoosi kuvamine ka sel juhul, kui pärast programmi taaskäivitamist teha päring &amp;quot;MSFT&amp;quot; pihta. Need aga on niisama väikesed nokkimised ja lihtsalt informatsiooniks arendajatele.&lt;br /&gt;
&lt;br /&gt;
=== Teenus ===&lt;br /&gt;
&lt;br /&gt;
Kahjuks ei õnnestunud teenust katsetada läbi WPF rakenduse, kuna üritades sisse logida kuvati error hüpikaknas:&amp;quot;&#039;&#039;The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state&#039;&#039;&amp;quot;. Lahendust ma sellele veale mõistliku aja jooksul ei leidnud, mistõttu testisimist läbi WCF-i ei saanud paraku teostada. Sellegipoolest oli võimalik uurida teenuse poole jaoks kirjutatud koodi. Üldpildi saab hästi kätte ka dokumentatsioonist, kus on hästi kirjeldatud mida teenuse meetodid teevad. Muljet avaldas see, kuidas oli tavakasutaja meetodite kasutuse kontroll lisatud ning kasutajate sessiooni kontrollimine &#039;&#039;&#039;Guid&#039;&#039;&#039;-iga. Päringumeetodites on samuti kasutatud &#039;&#039;&#039;Guid&#039;&#039;&#039;-i, et oleks võimalik kasutusstatistikat luua ning identifitseerida, kas kasutajal on õigus mingit meetodid kasutada (ning vastavalt piirangut rakendada). Päringud teenusest andmebaasi pihta ning teenuse koodiosa üldiselt tundub olevat väga hästi teostatud. Teenuse poole peal tehtakse see, mis vaja ning ei midagi enamat. Andmete töötlus toimub WCF poolel, nagu peab. Seega võib öelda, et teenuse osa on väga hästi läbi mõeldud.&lt;br /&gt;
&lt;br /&gt;
Teostamata on kasutajate rollide kuvamise teenus, kuid see pole ka otseselt nõutud. Kokkuvõtteks võib öelda, et teostatud on kõik projektile õppejõu poolt esitatud nõudmised ning enamgi veel, mis lubab teha mööndusi pisivigade osas. Rakendusel on ka suur majanduslik potensiaal - seda tüüpi rakendusi hindavaid inimesi ehk turgu on küllaga. Seega hindan antud projekti &amp;quot;5&amp;quot; vääriliseks ning kindlasti parimaks projektist 2013. aasta päevaõppe &amp;quot;Võrgurakendused 2&amp;quot; aine raames.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63840</id>
		<title>Talk:AFFA II</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63840"/>
		<updated>2013-06-04T17:52:38Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Klientrakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Käes oleva tiimi XML fail oli loodud õppeaines Programmeerimine C# keeles läbiviidud projekti AFFA (Automated Financial and Fundamental Analysis) jaoks. XML failis olid kirjeldatud kõik neli vajaliku dimensiooni, ka vajalik arv atribuute oli kirjeldatud, XML fail oli samuti loogilise ülesehitusega mida oli kerge jälgida,samuti värvid kasutus aitas orienteerumises kõvasti kaasa. Kuna tegemist oli üsnagi koguka failiga, (võibolla liiga suurega tööülesandemõttes). Samuti andis xml fail kaasa suurel hulgal erinevat infot, mida on edasipidi võimalik lihtsalt kasutada rakenduses. Xml on igati sobilik põhjaliku info edastamiseks, oma laialase admeatribuutide kirjeldusega. &lt;br /&gt;
Skeemi faiid tunduvada olevat korrektsed antud xmli puhul, samuti nii auto-genereeritud ja käsitsi genereeritud failid on mõlemad looogilise ülesehituseganing kerge vaevaga jälgitavad, samuti on mõlema skeemi faili puhul kirjeldatud põhimõtteliselt identne, mis on loomulikult väga hea .&lt;br /&gt;
XSLT saab ka ilusti oma tööga hakkama, kuvab kõik vajaliku, ning samuti kenasti struktuureeritud. Kuid see probleem on, et stiili faile on ainult üks kuigi peaks olema vähemalt 2. Antud XSLT ülesandeks oli kujutada Htmlis, Kuid Xml-fail xml formaadi muutumiseks stiili faili ei esitatud .&lt;br /&gt;
&lt;br /&gt;
== Retsensioon teenusele ja klientrakendusele ([[Meeskond &amp;quot;asdasdasd&amp;quot;]] poolt) ==&lt;br /&gt;
&lt;br /&gt;
Mis torkab hästi silma esimese asjana antud projekti juures on see, et rakenduse jaoks on loodud dokumentatsioon, kus on lisaks installeerimis- ja kasutusjuhend. See on väga meeldiv, kuna erinevaid lähenemisviise ülesande teostamiseks on erinevaid ning mõni võib olla mitte iseenesestmõistetav. Tänu juhendile on hea mõista, kuidas programm toimib ning kasutatavad teenused on välja toodud.&lt;br /&gt;
&lt;br /&gt;
=== Klientrakendus ===&lt;br /&gt;
&lt;br /&gt;
Klientrakendus jätab endale koheselt mulje, et on nähtud palju vaeva - nupud on loogiliselt asetatud, rakenduses on kõvasti ruumi kokku hoitud kasutades sakke erinevate andmete kuvamiseks. Kõik pakutavad nupud ja funktsioonid toimisid laitmatult. Funktsionaalne ja mugav on inforiba programmi all, mis kuvab kasutajale infot programmi tööseisu kohta (andmete töötlemine, tõmbamine, laadimine jne). Muljetavaldav on see, et nii palju erinevaid andmeid suudab programm kuvada graafikute ja tabelite näol. See teeks antud rakenduse kasutamise finantsanalüütikule meeldivaks. Tulevikuandmete prognoosimine ja aktsiate müümise/ostmise soovitus on väga lahedad. Genereeritavad andmed ilmuvad ekraanile kiiresti ning probleemideta. Piisavate andmete puudumisel soovitusi programm ei jaga. &lt;br /&gt;
&lt;br /&gt;
Negatiivse poole pealt jääb pealiskaudselt testides silma selline pisiasi, et kui tahta .xml faili avada läbi rakenduse ning kui failisirvimisaken sulgeda, siis alumine inforiba näitab ikka &amp;quot;Loading XML data&amp;quot;, kuigi reaalset laadimist ei toimu. Sama lugu on &#039;&#039;&#039;YCharts.com&#039;&#039;&#039;-i sisselogimise katkestamisel. Samuti võiks olla .xml faili sisestamisel võimalik vajutada ka näiteks &#039;&#039;cancel&#039;&#039; nuppu, kuna suvaliste .xml failide sisestamisel jääbki programm laadima XML-i. Lisaks sellele on programmil huvitav anomaalia: tehes päringu näiteks &amp;quot;MSFT&amp;quot; pihta läbi &#039;&#039;Google Finance&#039;&#039;-i, ei kuvata &#039;&#039;Forecast&#039;&#039; aknas mitte midagi, tehes siis päringu &amp;quot;AAPL&amp;quot; pihta ei kuvata samuti midagi - tabelil on veergudel kuupäevad, kuid andmeid nende all pole. Sulgedes programmi ning tehes seejärel kohe päringu &amp;quot;AAPL&amp;quot; pihta kuvatakse aga kõik andmed tabelis korralikult. Samuti toimib prognoosi kuvamine ka sel juhul, kui pärast programmi taaskäivitamist teha päring &amp;quot;MSFT&amp;quot; pihta. Need aga on niisama väikesed nokkimised ja lihtsalt informatsiooniks arendajatele.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63839</id>
		<title>Talk:AFFA II</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63839"/>
		<updated>2013-06-04T17:22:33Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Retsensioon teenusele ja klientrakendusele (Meeskond &amp;quot;asdasdasd&amp;quot; poolt) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Käes oleva tiimi XML fail oli loodud õppeaines Programmeerimine C# keeles läbiviidud projekti AFFA (Automated Financial and Fundamental Analysis) jaoks. XML failis olid kirjeldatud kõik neli vajaliku dimensiooni, ka vajalik arv atribuute oli kirjeldatud, XML fail oli samuti loogilise ülesehitusega mida oli kerge jälgida,samuti värvid kasutus aitas orienteerumises kõvasti kaasa. Kuna tegemist oli üsnagi koguka failiga, (võibolla liiga suurega tööülesandemõttes). Samuti andis xml fail kaasa suurel hulgal erinevat infot, mida on edasipidi võimalik lihtsalt kasutada rakenduses. Xml on igati sobilik põhjaliku info edastamiseks, oma laialase admeatribuutide kirjeldusega. &lt;br /&gt;
Skeemi faiid tunduvada olevat korrektsed antud xmli puhul, samuti nii auto-genereeritud ja käsitsi genereeritud failid on mõlemad looogilise ülesehituseganing kerge vaevaga jälgitavad, samuti on mõlema skeemi faili puhul kirjeldatud põhimõtteliselt identne, mis on loomulikult väga hea .&lt;br /&gt;
XSLT saab ka ilusti oma tööga hakkama, kuvab kõik vajaliku, ning samuti kenasti struktuureeritud. Kuid see probleem on, et stiili faile on ainult üks kuigi peaks olema vähemalt 2. Antud XSLT ülesandeks oli kujutada Htmlis, Kuid Xml-fail xml formaadi muutumiseks stiili faili ei esitatud .&lt;br /&gt;
&lt;br /&gt;
== Retsensioon teenusele ja klientrakendusele ([[Meeskond &amp;quot;asdasdasd&amp;quot;]] poolt) ==&lt;br /&gt;
&lt;br /&gt;
Mis torkab hästi silma esimese asjana antud projekti juures on see, et rakenduse jaoks on loodud dokumentatsioon, kus on lisaks installeerimis- ja kasutusjuhend. See on väga meeldiv, kuna erinevaid lähenemisviise ülesande teostamiseks on erinevaid ning mõni võib olla mitte iseenesestmõistetav. Tänu juhendile on hea mõista, kuidas programm toimib ning kasutatavad teenused on välja toodud.&lt;br /&gt;
&lt;br /&gt;
=== Klientrakendus ===&lt;br /&gt;
&lt;br /&gt;
Klientrakendus jätab endale koheselt mulje, et on nähtud palju vaeva - nupud on loogiliselt asetatud, rakenduses on kõvasti ruumi kokku hoitud kasutades sakke erinevate andmete kuvamiseks. Kõik pakutavad nupud ja funktsioonid toimisid laitmatult. Funktsionaalne ja mugav on inforiba programmi all, mis kuvab kasutajale infot programmi tööseisu kohta (andmete töötlemine, tõmbamine, laadimine jne). Muljetavaldav on see, et nii palju erinevaid andmeid suudab programm kuvada graafikute ja tabelite näol. See teeks antud rakenduse kasutamise finantsanalüütikule meeldivaks. Tulevikuandmete prognoosimine ja aktsiate müümise/ostmise soovitus on väga lahedad. Genereeritavad andmed ilmuvad ekraanile kiiresti ning probleemideta. Piisavate andmete puudumisel soovitusi programm ei jaga. &lt;br /&gt;
&lt;br /&gt;
Negatiivse poole pealt jääb pealiskaudselt testides silma selline pisiasi, et kui tahta .xml faili avada läbi rakenduse ning kui failisirvimisaken sulgeda, siis alumine inforiba näitab ikka &amp;quot;Loading XML data&amp;quot;, kuigi reaalset laadimist ei toimu. Samuti võiks olla .xml faili sisestamisel võimalik vajutada ka näiteks &#039;&#039;cancel&#039;&#039; nuppu. Lisaks sellele on programmil huvitav anomaalia: tehes päringu näiteks &amp;quot;MSFT&amp;quot; pihta läbi &#039;&#039;Google Finance&#039;&#039;-i, ei kuvata &#039;&#039;Forecast&#039;&#039; aknas mitte midagi, tehes siis päringu &amp;quot;AAPL&amp;quot; pihta ei kuvata samuti midagi - tabelil on veergudel kuupäevad, kuid andmeid nende all pole. Sulgedes programmi ning tehes seejärel kohe päringu &amp;quot;AAPL&amp;quot; pihta kuvatakse aga kõik andmed tabelis korralikult. Samuti toimib prognoosi kuvamine ka sel juhul, kui pärast programmi taaskäivitamist teha päring &amp;quot;MSFT&amp;quot; pihta. Need aga on niisama väikesed nokkimised ja lihtsalt informatsiooniks arendajatele.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63834</id>
		<title>Talk:AFFA II</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:AFFA_II&amp;diff=63834"/>
		<updated>2013-06-04T15:34:15Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Käes oleva tiimi XML fail oli loodud õppeaines Programmeerimine C# keeles läbiviidud projekti AFFA (Automated Financial and Fundamental Analysis) jaoks. XML failis olid kirjeldatud kõik neli vajaliku dimensiooni, ka vajalik arv atribuute oli kirjeldatud, XML fail oli samuti loogilise ülesehitusega mida oli kerge jälgida,samuti värvid kasutus aitas orienteerumises kõvasti kaasa. Kuna tegemist oli üsnagi koguka failiga, (võibolla liiga suurega tööülesandemõttes). Samuti andis xml fail kaasa suurel hulgal erinevat infot, mida on edasipidi võimalik lihtsalt kasutada rakenduses. Xml on igati sobilik põhjaliku info edastamiseks, oma laialase admeatribuutide kirjeldusega. &lt;br /&gt;
Skeemi faiid tunduvada olevat korrektsed antud xmli puhul, samuti nii auto-genereeritud ja käsitsi genereeritud failid on mõlemad looogilise ülesehituseganing kerge vaevaga jälgitavad, samuti on mõlema skeemi faili puhul kirjeldatud põhimõtteliselt identne, mis on loomulikult väga hea .&lt;br /&gt;
XSLT saab ka ilusti oma tööga hakkama, kuvab kõik vajaliku, ning samuti kenasti struktuureeritud. Kuid see probleem on, et stiili faile on ainult üks kuigi peaks olema vähemalt 2. Antud XSLT ülesandeks oli kujutada Htmlis, Kuid Xml-fail xml formaadi muutumiseks stiili faili ei esitatud .&lt;br /&gt;
&lt;br /&gt;
== Retsensioon teenusele ja klientrakendusele ([[Meeskond &amp;quot;asdasdasd&amp;quot;]] poolt) ==&lt;br /&gt;
&lt;br /&gt;
Mis torkab hästi silma esimese asjana antud projekti juures on see, et rakenduse jaoks on loodud dokumentatsioon, kus on lisaks installeerimis- ja kasutusjuhend. See on väga meeldiv, kuna erinevaid lähenemisviise ülesande teostamiseks on erinevaid ning mõni võib olla mitte iseenesestmõistetav. Tänu juhendile on hea mõista, kuidas programm toimib ning kasutatavad teenused on välja toodud.&lt;br /&gt;
&lt;br /&gt;
=== Klientrakendus ===&lt;br /&gt;
&lt;br /&gt;
Klientrakendus jätab endale koheselt mulje, et on nähtud palju vaeva - nupud on loogiliselt asetatud, rakenduses on kõvasti ruumi kokku hoitud kasutades sakke erinevate andmete kuvamiseks. Kõik pakutavad nupud ja funktsioonid toimisid laitmatult. Funktsionaalne ja mugav on inforiba programmi all, mis kuvab kasutajale infot programmi tööseisu kohta (andmete töötlemine, tõmbamine, laadimine jne). Muljetavaldav on see, et nii palju erinevaid andmeid suudab programm kuvada graafikute ja tabelite näol. See teeks antud rakenduse kasutamise finantsanalüütikule meeldivaks. Tulevikuandmete prognoosimine ja aktsiate müümise/ostmise soovitus on väga lahedad. Genereeritavad andmed ilmuvad ekraanile kiiresti ning probleemideta. Piisavate andmete puudumisel soovitusi programm ei jaga. Negatiivse poole pealt jääb pealiskaudselt testides silma selline pisiasi, et kui tahta .xml faili avada läbi rakenduse ning kui failisirvimisaken sulgeda, siis alumine inforiba näitab ikka &amp;quot;Loading XML data&amp;quot;, kuigi reaalset laadimist ei toimu. Samuti võiks olla .xml faili sisestamisel võimalik vajutada ka näiteks &#039;&#039;cancel&#039;&#039; nuppu. Lisaks sellele on programmil huvitav anomaalia: tehes päringu näiteks &amp;quot;MSFT&amp;quot; pihta läbi &#039;&#039;Google Finance&#039;&#039;-i, ei kuvata &#039;&#039;Forecast&#039;&#039; aknas mitte midagi, tehes siis päringu &amp;quot;AAPL&amp;quot; pihta ei kuvata samuti midagi - tabelil on veergudel kuupäevad, kuid andmeid nende all pole. Sulgedes programmi ning tehes seejärel kohe päringu &amp;quot;AAPL&amp;quot; pihta kuvatakse aga kõik andmed tabelis korralikult. Need aga on niisama väikesed nokkimised ja lihtsalt informatsiooniks arendajatele.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63466</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63466"/>
		<updated>2013-05-27T07:21:00Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* 22.03.2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.&lt;br /&gt;
&lt;br /&gt;
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.&lt;br /&gt;
&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
&lt;br /&gt;
===21.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 22.03.2013 ===&lt;br /&gt;
* XML parsemisega tegelemine klientrakenduse poolel&lt;br /&gt;
* kolmas XSL&lt;br /&gt;
* XSL-ide parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;br /&gt;
&lt;br /&gt;
=== 12.04.2013 ===&lt;br /&gt;
* Esialgse WCF teenuse lisamine ning testimine&lt;br /&gt;
&lt;br /&gt;
=== 26.04.2103 ===&lt;br /&gt;
* Andmebaasimudelite lisamine&lt;br /&gt;
* Teenuse testimine&lt;br /&gt;
* Kõikide &#039;&#039;repository&#039;&#039;-de ja nende &#039;&#039;interface&#039;&#039;-de lisamine&lt;br /&gt;
&lt;br /&gt;
=== 29.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite annotatsioonide lisamine&lt;br /&gt;
&lt;br /&gt;
=== 02.05.2013 ===&lt;br /&gt;
* &#039;&#039;Data access Layer&#039;&#039;-i lisamine ja muutmine&lt;br /&gt;
&lt;br /&gt;
=== 07.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite muutmine&lt;br /&gt;
&lt;br /&gt;
=== 08.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandus&lt;br /&gt;
&lt;br /&gt;
=== 11.05.2013 ===&lt;br /&gt;
* MVC ja Ninject-iga tegelemine&lt;br /&gt;
* Registreerimise akna loomine&lt;br /&gt;
* Registreerimise funktsiooni arendamine&lt;br /&gt;
* Login akna ja funktsionaalsuse loomine&lt;br /&gt;
&lt;br /&gt;
=== 13.05.2013 ===&lt;br /&gt;
* Relva kategooriate järgi navigeerimine kasutaja põhivaates&lt;br /&gt;
* WPF poolne turvalisus&lt;br /&gt;
&lt;br /&gt;
=== 17.05.2013 ===&lt;br /&gt;
* &#039;&#039;Unit of Work&#039;&#039; klass&lt;br /&gt;
&lt;br /&gt;
=== 18.05.2013 ===&lt;br /&gt;
* Uus kujundus&lt;br /&gt;
* Relva lisamise akna loomine&lt;br /&gt;
* Parandatud AddUser ja AddGun toimimist, &#039;&#039;unit of work&#039;&#039; kasutusele võetud&lt;br /&gt;
* Asünkroonne logimine ja registreerimine&lt;br /&gt;
&lt;br /&gt;
=== 20.05.2013 ===&lt;br /&gt;
* Relva lisamise funktsiooni parandamine, peaaegu töötab&lt;br /&gt;
* Spagettkoodi eemaldamine&lt;br /&gt;
&lt;br /&gt;
=== 22.05.2013 ===&lt;br /&gt;
* Lisasime Admin paneeli nupud&lt;br /&gt;
* Parandasime disaini&lt;br /&gt;
* UserList akna lisamine&lt;br /&gt;
&lt;br /&gt;
=== 23.05.2013 ===&lt;br /&gt;
* XAMLiga tegelemine - parandasime klientrakenduse välimust&lt;br /&gt;
&lt;br /&gt;
=== 25.05.2013===&lt;br /&gt;
* Lisasime statistika kuvamise&lt;br /&gt;
* Parandasime koodi välimust&lt;br /&gt;
* Suurendasime koodi efektiivsust, spagettkoodi vähendamine&lt;br /&gt;
&lt;br /&gt;
=== 26.05.2013===&lt;br /&gt;
* Andsime enda klientrakendusele viimast lihvi&lt;br /&gt;
* Parandasime toimivaks relvade lisamise loogika&lt;br /&gt;
* Parandasime statistika kuvamist&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63363</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63363"/>
		<updated>2013-05-26T19:20:45Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.&lt;br /&gt;
&lt;br /&gt;
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.&lt;br /&gt;
&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
&lt;br /&gt;
===21.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 22.03.2013 ===&lt;br /&gt;
* XML parsemisega tegelemine klientrakenduse poolel&lt;br /&gt;
* kolmas XLS&lt;br /&gt;
* XLS parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;br /&gt;
&lt;br /&gt;
=== 12.04.2013 ===&lt;br /&gt;
* Esialgse WCF teenuse lisamine ning testimine&lt;br /&gt;
&lt;br /&gt;
=== 26.04.2103 ===&lt;br /&gt;
* Andmebaasimudelite lisamine&lt;br /&gt;
* Teenuse testimine&lt;br /&gt;
* Kõikide &#039;&#039;repository&#039;&#039;-de ja nende &#039;&#039;interface&#039;&#039;-de lisamine&lt;br /&gt;
&lt;br /&gt;
=== 29.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite annotatsioonide lisamine&lt;br /&gt;
&lt;br /&gt;
=== 02.05.2013 ===&lt;br /&gt;
* &#039;&#039;Data access Layer&#039;&#039;-i lisamine ja muutmine&lt;br /&gt;
&lt;br /&gt;
=== 07.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite muutmine&lt;br /&gt;
&lt;br /&gt;
=== 08.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandus&lt;br /&gt;
&lt;br /&gt;
=== 11.05.2013 ===&lt;br /&gt;
* MVC ja Ninject-iga tegelemine&lt;br /&gt;
* Registreerimise akna loomine&lt;br /&gt;
* Registreerimise funktsiooni arendamine&lt;br /&gt;
* Login akna ja funktsionaalsuse loomine&lt;br /&gt;
&lt;br /&gt;
=== 13.05.2013 ===&lt;br /&gt;
* Relva kategooriate järgi navigeerimine kasutaja põhivaates&lt;br /&gt;
* WPF poolne turvalisus&lt;br /&gt;
&lt;br /&gt;
=== 17.05.2013 ===&lt;br /&gt;
* &#039;&#039;Unit of Work&#039;&#039; klass&lt;br /&gt;
&lt;br /&gt;
=== 18.05.2013 ===&lt;br /&gt;
* Uus kujundus&lt;br /&gt;
* Relva lisamise akna loomine&lt;br /&gt;
* Parandatud AddUser ja AddGun toimimist, &#039;&#039;unit of work&#039;&#039; kasutusele võetud&lt;br /&gt;
* Asünkroonne logimine ja registreerimine&lt;br /&gt;
&lt;br /&gt;
=== 20.05.2013 ===&lt;br /&gt;
* Relva lisamise funktsiooni parandamine, peaaegu töötab&lt;br /&gt;
* Spagettkoodi eemaldamine&lt;br /&gt;
&lt;br /&gt;
=== 22.05.2013 ===&lt;br /&gt;
* Lisasime Admin paneeli nupud&lt;br /&gt;
* Parandasime disaini&lt;br /&gt;
* UserList akna lisamine&lt;br /&gt;
&lt;br /&gt;
=== 23.05.2013 ===&lt;br /&gt;
* XAMLiga tegelemine - parandasime klientrakenduse välimust&lt;br /&gt;
&lt;br /&gt;
=== 25.05.2013===&lt;br /&gt;
* Lisasime statistika kuvamise&lt;br /&gt;
* Parandasime koodi välimust&lt;br /&gt;
* Suurendasime koodi efektiivsust, spagettkoodi vähendamine&lt;br /&gt;
&lt;br /&gt;
=== 26.05.2013===&lt;br /&gt;
* Andsime enda klientrakendusele viimast lihvi&lt;br /&gt;
* Parandasime toimivaks relvade lisamise loogika&lt;br /&gt;
* Parandasime statistika kuvamist&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63362</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63362"/>
		<updated>2013-05-26T19:20:22Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.&lt;br /&gt;
&lt;br /&gt;
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.&lt;br /&gt;
&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
&lt;br /&gt;
===21.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 22.03.2013 ===&lt;br /&gt;
* XML parsemisega tegelemine klientrakenduse poolel&lt;br /&gt;
* kolmas XLS&lt;br /&gt;
* XLS parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;br /&gt;
&lt;br /&gt;
=== 12.04.2013 ===&lt;br /&gt;
* Esialgse WCF teenuse lisamine ning testimine&lt;br /&gt;
&lt;br /&gt;
=== 26.04.2103 ===&lt;br /&gt;
* Andmebaasimudelite lisamine&lt;br /&gt;
* Teenuse testimine&lt;br /&gt;
* Kõikide &#039;&#039;repository&#039;&#039;-de ja nende &#039;&#039;interface&#039;&#039;-de lisamine&lt;br /&gt;
&lt;br /&gt;
=== 29.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite annotatsioonide lisamine&lt;br /&gt;
&lt;br /&gt;
=== 02.05.2013 ===&lt;br /&gt;
* &#039;&#039;Data access Layer&#039;&#039;-i lisamine ja muutmine&lt;br /&gt;
&lt;br /&gt;
=== 07.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite muutmine&lt;br /&gt;
&lt;br /&gt;
=== 08.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandus&lt;br /&gt;
&lt;br /&gt;
=== 11.05.2013 ===&lt;br /&gt;
* MVC ja Ninject-iga tegelemine&lt;br /&gt;
* Registreerimise akna loomine&lt;br /&gt;
* Registreerimise funktsiooni arendamine&lt;br /&gt;
* Login akna ja funktsionaalsuse loomine&lt;br /&gt;
&lt;br /&gt;
=== 13.05.2013 ===&lt;br /&gt;
* Relva kategooriate järgi navigeerimine kasutaja põhivaates&lt;br /&gt;
* WPF poolne turvalisus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 17.05.2013 ===&lt;br /&gt;
* &#039;&#039;Unit of Work&#039;&#039; klass&lt;br /&gt;
&lt;br /&gt;
=== 18.05.2013 ===&lt;br /&gt;
* Uus kujundus&lt;br /&gt;
* Relva lisamise akna loomine&lt;br /&gt;
* Parandatud AddUser ja AddGun toimimist, &#039;&#039;unit of work&#039;&#039; kasutusele võetud&lt;br /&gt;
* Asünkroonne logimine ja registreerimine&lt;br /&gt;
&lt;br /&gt;
=== 20.05.2013 ===&lt;br /&gt;
* Relva lisamise funktsiooni parandamine, peaaegu töötab&lt;br /&gt;
* Spagettkoodi eemaldamine&lt;br /&gt;
&lt;br /&gt;
=== 22.05.2013 ===&lt;br /&gt;
* Lisasime Admin paneeli nupud&lt;br /&gt;
* Parandasime disaini&lt;br /&gt;
* UserList akna lisamine&lt;br /&gt;
&lt;br /&gt;
=== 23.05.2013 ===&lt;br /&gt;
* XAMLiga tegelemine - parandasime klientrakenduse välimust&lt;br /&gt;
&lt;br /&gt;
=== 25.05.2013===&lt;br /&gt;
* Lisasime statistika kuvamise&lt;br /&gt;
* Parandasime koodi välimust&lt;br /&gt;
* Suurendasime koodi efektiivsust, spagettkoodi vähendamine&lt;br /&gt;
&lt;br /&gt;
=== 26.05.2013===&lt;br /&gt;
* Andsime enda klientrakendusele viimast lihvi&lt;br /&gt;
* Parandasime toimivaks relvade lisamise loogika&lt;br /&gt;
* Parandasime statistika kuvamist&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63359</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63359"/>
		<updated>2013-05-26T19:18:49Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.&lt;br /&gt;
&lt;br /&gt;
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.&lt;br /&gt;
&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
&lt;br /&gt;
===21.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 22.03.2013 ===&lt;br /&gt;
* XML parsemisega tegelemine klientrakenduse poolel&lt;br /&gt;
* kolmas XLS&lt;br /&gt;
* XLS parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;br /&gt;
&lt;br /&gt;
=== 12.04.2013 ===&lt;br /&gt;
* Esialgse WCF teenuse lisamine ning testimine&lt;br /&gt;
&lt;br /&gt;
=== 26.04.2103 ===&lt;br /&gt;
* Andmebaasimudelite lisamine&lt;br /&gt;
* Teenuse testimine&lt;br /&gt;
* Kõikide &#039;&#039;repository&#039;&#039;-de ja nende &#039;&#039;interface&#039;&#039;-de lisamine&lt;br /&gt;
&lt;br /&gt;
=== 29.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandamine&lt;br /&gt;
&lt;br /&gt;
=== 30.04.2013 ===&lt;br /&gt;
* Andmebaasimudelite annotatsioonide lisamine&lt;br /&gt;
&lt;br /&gt;
=== 02.05.2013 ===&lt;br /&gt;
* &#039;&#039;Data access Layer&#039;&#039;-i lisamine ja muutmine&lt;br /&gt;
&lt;br /&gt;
=== 07.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite muutmine&lt;br /&gt;
&lt;br /&gt;
=== 08.05.2013 ===&lt;br /&gt;
* Andmebaasimudelite parandus&lt;br /&gt;
&lt;br /&gt;
=== 11.05.2013 ===&lt;br /&gt;
* MVC ja Ninject-iga tegelemine&lt;br /&gt;
* Registreerimise akna loomine&lt;br /&gt;
* Registreerimise funktsiooni arendamine&lt;br /&gt;
* Login akna ja funktsionaalsuse loomine&lt;br /&gt;
&lt;br /&gt;
=== 13.05.2013 ===&lt;br /&gt;
* Relva kategooriate järgi navigeerimine kasutaja põhivaates&lt;br /&gt;
* WPF poolne turvalisus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 17.05.2013 ===&lt;br /&gt;
* &#039;&#039;Unit of Work&#039;&#039; klass&lt;br /&gt;
&lt;br /&gt;
=== 18.05.2013 ==&lt;br /&gt;
* Uus kujundus&lt;br /&gt;
* Relva lisamise akna loomine&lt;br /&gt;
* Parandatud AddUser ja AddGun toimimist, &#039;&#039;unit of work&#039;&#039; kasutusele võetud&lt;br /&gt;
* Asünkroonne logimine ja registreerimine&lt;br /&gt;
&lt;br /&gt;
=== 20.05.2013 ===&lt;br /&gt;
* Relva lisamise funktsiooni parandamine, peaaegu töötab&lt;br /&gt;
* Spagettkoodi eemaldamine&lt;br /&gt;
&lt;br /&gt;
=== 22.05.2013 ===&lt;br /&gt;
* Lisasime Admin paneeli nupud&lt;br /&gt;
* Parandasime disaini&lt;br /&gt;
* UserList akna lisamine&lt;br /&gt;
&lt;br /&gt;
=== 23.05.2013 ===&lt;br /&gt;
* XAMLiga tegelemine - parandasime klientrakenduse välimust&lt;br /&gt;
&lt;br /&gt;
=== 25.05.2013===&lt;br /&gt;
* Lisasime statistika kuvamise&lt;br /&gt;
* Parandasime koodi välimust&lt;br /&gt;
* Suurendasime koodi efektiivsust, spagettkoodi vähendamine&lt;br /&gt;
&lt;br /&gt;
=== 26.05.2013===&lt;br /&gt;
* Andsime enda klientrakendusele viimast lihvi&lt;br /&gt;
* Parandasime toimivaks relvade lisamise loogika&lt;br /&gt;
* Parandasime statistika kuvamist&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63356</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63356"/>
		<updated>2013-05-26T18:39:01Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Klientrakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.&lt;br /&gt;
&lt;br /&gt;
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.&lt;br /&gt;
&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63354</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=63354"/>
		<updated>2013-05-26T18:29:39Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Teenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;User GetCurrentUser()&#039;&#039;&#039; - tagastab teenuse välja kutsunud kasutaja &#039;&#039;User&#039;&#039; objektina&lt;br /&gt;
* &#039;&#039;&#039;bool RegisterUser(User user)&#039;&#039;&#039; - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise &#039;&#039;true/false&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;bool LoginUser(string username, string password)&#039;&#039;&#039; - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse&lt;br /&gt;
* &#039;&#039;&#039;string GetUserRole(string username)&#039;&#039;&#039; - tagastab kasutaja rolli &#039;&#039;string&#039;&#039;-ina. Kasutaja võib olla kas &#039;&#039;admin&#039;&#039; või &#039;&#039;user&#039;&#039; tüüpi&lt;br /&gt;
* &#039;&#039;&#039;bool AddGun(Gun gun)&#039;&#039;&#039; - lisab &#039;&#039;Gun&#039;&#039; andmetüübi andmebaasiolemisse &#039;&#039;Gun&#039;&#039;. Tagastab lisamise õnnestumise&lt;br /&gt;
* &#039;&#039;&#039;string GetMd5Hash(string password)&#039;&#039;&#039; - muudab etteantud parooli räsiks, tagastab &#039;&#039;string&#039;&#039;-i&lt;br /&gt;
* &#039;&#039;&#039;bool VerifyMd5Hash(string input, string hash)&#039;&#039;&#039; - kontrollib räsi&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllCategories()&#039;&#039;&#039; - tagastab kõik kategooriad tabelist &#039;&#039;Gun&#039;&#039; &#039;&#039;ObservableCollection&#039;&#039;-ina.&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; GetAllGategoryWeapons(string category)&#039;&#039;&#039; - tagastab &#039;&#039;ObservableCollection&#039;&#039;-ina kõik relvad, mis kuuluvad etteantud kategooriasse&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;string&amp;gt; PopulateSpecs(string selectedGun)&#039;&#039;&#039; - tagastab kõik etteantud relva spetsifikatsioonid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;AddOn&amp;gt; GetAllAddOns()&#039;&#039;&#039; - tagastab kõik relvalisad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Caliber&amp;gt; GetAllCalibers()&#039;&#039;&#039; - tagastab kõik kaliibrid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Cartridge&amp;gt; GetAllCartridges()&#039;&#039;&#039; - tagastab kõik padrunid &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Gun&amp;gt; GetAllGuns()&#039;&#039;&#039; - tagastab kõik relvad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunBarrel&amp;gt; GetAllGunBarrels()&#039;&#039;&#039; - tagastab kõik relvatorud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunSize&amp;gt; GetAllGunSizes()&#039;&#039;&#039; - tagastab kõik relvasuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;GunWeight&amp;gt; GetAllGunWeights()&#039;&#039;&#039; - tagastab kõik relvakaalud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ItemSize&amp;gt; GetAllItemSizes()&#039;&#039;&#039; - tagastab kõik ühikusuurused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Magazine&amp;gt; GetAllMagazines()&#039;&#039;&#039; - tagastab kõik salved &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Manufacturer&amp;gt; GetAllManufacturers()&#039;&#039;&#039; - tagastab kõik relvatootjad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;MeasurementUnit&amp;gt; GetAllMeasurementUnits()&#039;&#039;&#039; - tagastab kõik mõõteühikud &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;OtherWeapon&amp;gt; GetAllOtherWeapons()&#039;&#039;&#039; - tagastab kõik muud tüüpi relvad (mitte Gun) &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;Rof&amp;gt; GetAllRofs()&#039;&#039;&#039; - tagastab kõik lasketihedused &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;User&amp;gt; GetAllUsers()&#039;&#039;&#039; - tagastab kõik kasutajad &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;ObservableCollection&amp;lt;ViewStatistic&amp;gt; GetAllViewStatistics()&#039;&#039;&#039; - tagastab kogu statistika &#039;&#039;ObservableCollection&#039;&#039;-ina&lt;br /&gt;
* &#039;&#039;&#039;bool AddStat(Gun gun, User user)&#039;&#039;&#039; - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab &#039;&#039;true/false&#039;&#039; vastavalt õnnestumisele&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=62628</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=62628"/>
		<updated>2013-04-12T15:38:33Z</updated>

		<summary type="html">&lt;p&gt;Roparn: väike veaparandus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=62042</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=62042"/>
		<updated>2013-03-30T20:26:39Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3]&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
* Kirjutasime worktaske&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 30.03.2013===&lt;br /&gt;
* Kirutasime retsensiooni meeskonna [[REMS]] XML, XSLT ja XSD kohta.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:CSharpArt&amp;diff=62041</id>
		<title>Talk:CSharpArt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:CSharpArt&amp;diff=62041"/>
		<updated>2013-03-30T20:25:04Z</updated>

		<summary type="html">&lt;p&gt;Roparn: Created page with &amp;#039;=Meeskond &amp;quot;asdasdasd&amp;quot; retsensioon= XML fail on lihtne ja hästi mõistetav. Atribuudid ja elemendid on rakendatud õigesti - ei ole kasutatud atribuute seal, kus neid võiks …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=[[Meeskond &amp;quot;asdasdasd&amp;quot;]] retsensioon=&lt;br /&gt;
XML fail on lihtne ja hästi mõistetav. Atribuudid ja elemendid on rakendatud õigesti - ei ole kasutatud atribuute seal, kus neid võiks olla raske &#039;&#039;parse&#039;&#039;-da või atribuudi sees kuvatav informatsioon pole sellist tüüpi, mis võiks olla muutuva sisuga. Meeskond on korrektselt implementeerinud XML põhinõuded ja -tavad ning need vastavalt oma rakendusele sobitanud. Ka ülesande nõuded on täidetud - seega pälvib XML fail meiepoolse kiituse.&lt;br /&gt;
&lt;br /&gt;
XSLT esimene transformatsioonifail väljastab telefoniraamatu kõik isikud tabelina ning teine organisatsioonid, samuti tabelina. Millegi üle nuriseda ei ole, on kasutatud korrektselt &#039;&#039;if&#039;&#039; ja &#039;&#039;for-each&#039;&#039; lauseid. Kahjuks aga puudub .xslt fail, mis andmeid muudaks. Samuti oleks võinud olla reaalne html fail tulemusest kuskil hostitud, kuid see on ehk liigne nokkimine ning ei ole nõutud ka ülesandepüstituses.&lt;br /&gt;
 &lt;br /&gt;
Kasutasime XML-i valideerimiseks kaasasolevat XSD faili. Testimist teostasime Visual Studio 2012-s. Paraku tuleb tõdeda, et XML failis on mitmed vead, kuna XSD-s on üks element&lt;br /&gt;
kirjavigadega (ilmselt peaks &#039;&#039;appartement&#039;&#039; hoopis &#039;&#039;apartment&#039;&#039; olema). See aga on pisiasi ning üldpilt paistab hea olevat ning skeemifail on üldiselt hästi koostatud. &lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes tuleb tõdeda, et lahendus on hea ning minimalistlik, mis teeb ka hiljem reaalse kasutuse lihtsamaks ning efektiivsemaks. Kindlasti on antud XML-ist ka andmete &#039;&#039;parse&#039;&#039;-mine&lt;br /&gt;
ning kirjutamine murevaba, seda tänu loodud struktuuri loogilisusele.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61551</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61551"/>
		<updated>2013-03-22T19:40:04Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Kirjeldus: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-1.xslt Transformatsioonifail 1]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-2.xslt Transformatsioonifail 2]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-3.xslt Transformatsioonifail 3]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
* Lisasime kommentaarid&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61541</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61541"/>
		<updated>2013-03-22T19:34:39Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Kirjeldus: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: &amp;lt; püstolid&amp;gt; , &amp;lt;automaadid&amp;gt;, &amp;lt;pumppüssid&amp;gt; jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element &amp;lt;püstol&amp;gt;, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
.............&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.ded Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-1.xslt Transformatsioonifail 1]&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-2.xslt Transformatsioonifail 2]&lt;br /&gt;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XLS-3.xslt Transformatsioonifail 3]&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61536</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61536"/>
		<updated>2013-03-22T19:33:28Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Kirjeldus: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad: &amp;lt;püstolid&amp;gt; , &amp;lt;automaadid&amp;gt;, &amp;lt;pumppüssid&amp;gt; jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element &amp;lt;püstol&amp;gt;, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
.............&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.ded Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/automaatne.xsd Automaatgenereeritud skeemifail]&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!--http://stackoverflow.com/questions/825831/check-if-a-string-is-null-or-empty-in-xslt--&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;&lt;br /&gt;
          RELVAKATALOOG 2013 VR2&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Relvakataloog 2013&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ol&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;relvad/käsitulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              Selles nimekirjas on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:sort select=&amp;quot;name()&amp;quot; order=&amp;quot;ascending&amp;quot;/&amp;gt; &amp;lt;!--see siin sorteerib relvagrupid tähestikulisse järjekorda--&amp;gt;&lt;br /&gt;
              &amp;lt;h3&amp;gt;&lt;br /&gt;
                Järgnevad relvad on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;/h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
                  &amp;lt;h3&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;mudel&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/h3&amp;gt;&lt;br /&gt;
                &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@laskmisrežiimid&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Laskmisrežiimid: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@laskmisrežiimid&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@päästikutüüp&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Päästikutüüp: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@päästikutüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@rauatüüp&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Rauatüüp: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@rauatüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;tootjad/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Tootjad: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;tootjad/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;päritolu-maad/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Päritolu-maad: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;päritolu-maad/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;kaliibrid/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Kaliibrid: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;kaliibrid/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;pikkused/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Pikkused: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;täispikkus or rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;b&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:for-each select=&amp;quot;tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:if test=&amp;quot;.&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&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:if&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;not(tüüp)&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:text&amp;gt;standardkonfiguratsioonis&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;):&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/b&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)--&amp;gt;&lt;br /&gt;
                            &amp;lt;ul&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;name() != &#039;tüüp&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;li&amp;gt;&lt;br /&gt;
                                  &amp;lt;b&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                                  &amp;lt;/b&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;/ul&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;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;kaalud/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Kaalud: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;tühikaal or täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;Kaalutüüp - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;b&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/b&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)--&amp;gt;&lt;br /&gt;
                            &amp;lt;ul&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;.&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;li&amp;gt;&lt;br /&gt;
                                  &amp;lt;b&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                                  &amp;lt;/b&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;/ul&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;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;salved/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Salved: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;salved/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Salv, kuhu mahub &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;mahutavus/väärtus&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;mahutavus/ühik&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;mahutavus/tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;mahutavus/tüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;) &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(mahutavus)&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt;teadmata arv&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;kaliibritüüp&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; kaliibriga &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;kaliibritüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(kaliibritüüp)&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; relva standardkaliibriga.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ol&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;ol&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;relvad/külmrelvad&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              Selles nimekirjas on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;h3&amp;gt;&lt;br /&gt;
                &amp;lt;u&amp;gt;&lt;br /&gt;
                  Järgnevad relvad on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/u&amp;gt;&lt;br /&gt;
              &amp;lt;/h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;font size=&amp;quot;4.5&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;b&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/b&amp;gt;&lt;br /&gt;
                    &amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;tootja&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;b&amp;gt;Tootja: &amp;lt;/b&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;tootja&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ol&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;käsitulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;&lt;br /&gt;
      &amp;lt;u&amp;gt;Pauguvardad ja teised lahedad ridvad nimekirjast:&amp;lt;/u&amp;gt;&lt;br /&gt;
    &amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;h4&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
          &amp;lt;/span&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;mudel&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/h4&amp;gt;&lt;br /&gt;
    &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;külmrelvad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;&lt;br /&gt;
      &amp;lt;u&amp;gt;Muud niidukvibud nimekirjast:&amp;lt;/u&amp;gt;&lt;br /&gt;
    &amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;h4&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
          &amp;lt;/span&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/h4&amp;gt;&lt;br /&gt;
    &amp;lt;br /&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;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!--relvad USA-st ja Saksamaalt--&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;USA-s toodetakse käsitulirelvadest:&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*/käsitulirelvad/*/*/päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;päritolu-maa = &#039;USA&#039;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;../mudel&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;, &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;9mm kaliibriga käsitulirelvad:&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*/käsitulirelvad/*/*/kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;kaliiber/väärtus = &#039;9&#039; or kaliiber/väärtus = &#039;9x19&#039; and (contains(kaliiber/ühik, &#039;mm&#039;) or contains(kaliiber/tüüp, &#039;mm&#039;))&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;../mudel&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;, &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61532</id>
		<title>Meeskond &quot;asdasdasd&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22asdasdasd%22&amp;diff=61532"/>
		<updated>2013-03-22T19:28:27Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LIIKMED==&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
==Kodutöö XML osa==&lt;br /&gt;
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
Meie .xml faili juurelemendiks on &amp;lt;relvad&amp;gt;, mis jagunevad omakorda kaheks: &amp;lt;käsitulirelvad&amp;gt; ja &amp;lt;külmrelvad&amp;gt;. Seda selleks, et oleks selgem eristada. &amp;lt;käsitulirelvad&amp;gt; jagunevad omakorda &amp;lt;püstolid&amp;gt;, &amp;lt;automaadid&amp;gt;, &amp;lt;pumppüssid&amp;gt; jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element &amp;lt;püstol&amp;gt;, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu &amp;lt;löögirelvad&amp;gt;, &amp;lt;torkerelvad&amp;gt; jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail]&lt;br /&gt;
&lt;br /&gt;
===XML DTD===&lt;br /&gt;
====Kirjeldus:====&lt;br /&gt;
.............&lt;br /&gt;
====Link:====&lt;br /&gt;
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.ded Käsitsi kirjutatud DTD]&lt;br /&gt;
&lt;br /&gt;
===XML Skeemifail (DTD põhjal)===&lt;br /&gt;
dtd põhjal link siia&lt;br /&gt;
&lt;br /&gt;
===XML Automaatgenereeritud skeemifail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;relvad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;käsitulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;püstolid&amp;quot;&amp;gt;&lt;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;püstol&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;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;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;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;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;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;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;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;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;kaliibritüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;kaliibritüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;revolvrid&amp;quot;&amp;gt;&lt;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;revolver&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;vintrauatüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence minOccurs=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;vintrauatüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;automaadid&amp;quot;&amp;gt;&lt;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;automaat&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;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;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;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;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;lasketihedused&amp;quot;&amp;gt;&lt;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;lasketihedus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;laskekaugused&amp;quot;&amp;gt;&lt;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;laskekaugus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;püstolkuulipildujad&amp;quot;&amp;gt;&lt;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;püstolkuulipilduja&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;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;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;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;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;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;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;pumppüssid&amp;quot;&amp;gt;&lt;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;pumppüss&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;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;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;kuulipildujad&amp;quot;&amp;gt;&lt;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;kuulipilduja&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;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;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                                  &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;lasketihedused&amp;quot;&amp;gt;&lt;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;lasketihedus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;laskekaugused&amp;quot;&amp;gt;&lt;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;laskekaugus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:element name=&amp;quot;täpsuspüssid&amp;quot;&amp;gt;&lt;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;täpsuspüss&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;mudel&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;päritolu-maa&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;tootjad&amp;quot;&amp;gt;&lt;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;tootja&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;kaliiber&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;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;täispikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tühikaal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;salved&amp;quot;&amp;gt;&lt;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;salv&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:element name=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;väärtus&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;ühik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                            &amp;lt;xs:element name=&amp;quot;tüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;laskmisrežiimid&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;päästikutüüp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;rauatüüp&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:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;külmrelvad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;löögirelvad&amp;quot;&amp;gt;&lt;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;löögirelv&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;tootja&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:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;torkerelvad&amp;quot;&amp;gt;&lt;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;torkerelv&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;torke-lõikerelvad&amp;quot;&amp;gt;&lt;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;torke-lõikerelv&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;torke-raierelvad&amp;quot;&amp;gt;&lt;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;torke-raierelv&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;Id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML Transformatsiooni failid:===&lt;br /&gt;
&lt;br /&gt;
====Esimene====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!--http://stackoverflow.com/questions/825831/check-if-a-string-is-null-or-empty-in-xslt--&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;&lt;br /&gt;
          RELVAKATALOOG 2013 VR2&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Relvakataloog 2013&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;ol&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;relvad/käsitulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              Selles nimekirjas on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:sort select=&amp;quot;name()&amp;quot; order=&amp;quot;ascending&amp;quot;/&amp;gt; &amp;lt;!--see siin sorteerib relvagrupid tähestikulisse järjekorda--&amp;gt;&lt;br /&gt;
              &amp;lt;h3&amp;gt;&lt;br /&gt;
                Järgnevad relvad on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;/h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
                  &amp;lt;h3&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;mudel&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/h3&amp;gt;&lt;br /&gt;
                &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@laskmisrežiimid&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Laskmisrežiimid: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@laskmisrežiimid&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@päästikutüüp&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Päästikutüüp: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@päästikutüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;@rauatüüp&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Rauatüüp: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@rauatüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;tootjad/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Tootjad: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;tootjad/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;päritolu-maad/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Päritolu-maad: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;päritolu-maad/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;kaliibrid/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Kaliibrid: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;kaliibrid/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;pikkused/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Pikkused: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;pikkused&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;täispikkus or rauapikkus&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;b&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:for-each select=&amp;quot;tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:if test=&amp;quot;.&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&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:if&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;not(tüüp)&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:text&amp;gt;standardkonfiguratsioonis&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:text&amp;gt;):&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;/b&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)--&amp;gt;&lt;br /&gt;
                            &amp;lt;ul&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;name() != &#039;tüüp&#039;&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;li&amp;gt;&lt;br /&gt;
                                  &amp;lt;b&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                                  &amp;lt;/b&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;/ul&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;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;kaalud/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Kaalud: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;kaalud&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;tühikaal or täiskaal&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;Kaalutüüp - &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;b&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/b&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)--&amp;gt;&lt;br /&gt;
                            &amp;lt;ul&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:if test=&amp;quot;.&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;li&amp;gt;&lt;br /&gt;
                                  &amp;lt;b&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                                  &amp;lt;/b&amp;gt;&lt;br /&gt;
                                  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/li&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;/ul&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;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;salved/*&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;b&amp;gt;Salved: &amp;lt;/b&amp;gt;&lt;br /&gt;
                  &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;ul&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;salved/*&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;li&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;Salv, kuhu mahub &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;mahutavus&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;mahutavus/väärtus&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;mahutavus/ühik&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;mahutavus/tüüp&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;mahutavus/tüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;) &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(mahutavus)&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt;teadmata arv&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;kaliibritüüp&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; kaliibriga &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:value-of select=&amp;quot;kaliibritüüp&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(kaliibritüüp)&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:text&amp;gt; relva standardkaliibriga.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/li&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/ul&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ol&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;ol&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;relvad/külmrelvad&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              Selles nimekirjas on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;:&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;h3&amp;gt;&lt;br /&gt;
                &amp;lt;u&amp;gt;&lt;br /&gt;
                  Järgnevad relvad on &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/u&amp;gt;&lt;br /&gt;
              &amp;lt;/h3&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;li&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;font size=&amp;quot;4.5&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;b&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/b&amp;gt;&lt;br /&gt;
                    &amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;tootja&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;b&amp;gt;Tootja: &amp;lt;/b&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;tootja&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/ol&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Teine====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;käsitulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;&lt;br /&gt;
      &amp;lt;u&amp;gt;Pauguvardad ja teised lahedad ridvad nimekirjast:&amp;lt;/u&amp;gt;&lt;br /&gt;
    &amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;h4&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
          &amp;lt;/span&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;mudel&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/h4&amp;gt;&lt;br /&gt;
    &amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;külmrelvad&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;&lt;br /&gt;
      &amp;lt;u&amp;gt;Muud niidukvibud nimekirjast:&amp;lt;/u&amp;gt;&lt;br /&gt;
    &amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;h4&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;name()&amp;quot;&amp;gt;&amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;
          &amp;lt;/span&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/h4&amp;gt;&lt;br /&gt;
    &amp;lt;br /&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;
&lt;br /&gt;
====Kolmas====&lt;br /&gt;
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.&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;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!--relvad USA-st ja Saksamaalt--&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;USA-s toodetakse käsitulirelvadest:&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*/käsitulirelvad/*/*/päritolu-maad&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;päritolu-maa = &#039;USA&#039;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;../mudel&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;, &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;9mm kaliibriga käsitulirelvad:&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;*/käsitulirelvad/*/*/kaliibrid&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;kaliiber/väärtus = &#039;9&#039; or kaliiber/väärtus = &#039;9x19&#039; and (contains(kaliiber/ühik, &#039;mm&#039;) or contains(kaliiber/tüüp, &#039;mm&#039;))&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;../mudel&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;, &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;.&amp;lt;/xsl:text&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teenus==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Valminud teenuse meetodid:&lt;br /&gt;
* &#039;&#039;&#039;...&#039;&#039;&#039; - ...&lt;br /&gt;
&lt;br /&gt;
Valminud töö saab kätte lingilt: ...&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Valminud klientrakenduse saab allalaadida lingilt: ...&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on ...&lt;br /&gt;
&lt;br /&gt;
==Logi==&lt;br /&gt;
===22.03.2013===&lt;br /&gt;
* Lõime WIKI lehe&lt;br /&gt;
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)&lt;br /&gt;
&lt;br /&gt;
=== 23.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 24.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 25.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 26.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 27.03.2013===&lt;br /&gt;
* ...&lt;br /&gt;
=== 28.03.2013===&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=61525</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=61525"/>
		<updated>2013-03-22T18:55:58Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Meeskonnad */&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;
Aine hinde kujunemine:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Eeldused&amp;lt;/span&amp;gt; (mille eest ei saa punkte)&lt;br /&gt;
** Kohal tuleb käia vähemalt &#039;&#039;&#039;50% praktikumidest&#039;&#039;&#039;&lt;br /&gt;
*** Kes seda nõuet ei täida peavad viimases praktikumis sooritama komplekstesti, mis sisaldab endas praktilisi ülesandeid.&lt;br /&gt;
**&amp;lt;ins&amp;gt;Grupitöö kõik osad on realiseeritud minimaalse tulemusega 51%&amp;lt;/ins&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Hinde kujunemisel arvestatakse kahte tööd:&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; 2012]], mis moodustab hindest 55%. &#039;&#039;&#039;55p&#039;&#039;&#039; (koosneb kolmest osast)&lt;br /&gt;
*** XML (xsd, xslt) &#039;&#039;&#039;10p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi XLM-i kohta &#039;&#039;&#039;2p+3p&#039;&#039;&#039;&lt;br /&gt;
*** Veebiteenus &#039;&#039;&#039;15p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi Veebiteenuse kohta &#039;&#039;&#039;2p+3p&#039;&#039;&#039;&lt;br /&gt;
*** Klientrakendused veebiteenusele &#039;&#039;&#039;15p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi Klientrakenduse kohta &#039;&#039;&#039;2p+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_2013#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;23. märts 2013&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;30. märts 2013&#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_2013#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;4. mai 2013&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;11. mai 2013&#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_2013#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;18. mai 2013&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;25. mai 2013&#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;
Kui grupp on teinud vaid ühe retsensiooni, siis selle eest saab 2 punkti. Kui sellele lisandub ka teine retsensioon, siis teise retsensiooni eest saab 3 punkti. Kokku 5 punkti.&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;
Siia ilmuvad kuupäevad ja kellaajad, millal on võimalik oma projekti kaitsta.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; Kõige tublimad teevad ka slaidiesitluse, kus selgub:&lt;br /&gt;
*Iga meeskonnaliikme panus ja liikmed&lt;br /&gt;
*Projekti üleüldine eesmärk&lt;br /&gt;
*Tööde kava&lt;br /&gt;
*Teostatud funktsionaalus&lt;br /&gt;
*Teostamata osad&lt;br /&gt;
*Enda arvamus projektist ning hindesoov&lt;br /&gt;
*Raskemad osad projekti juures&lt;br /&gt;
*Mida uut juurde õpiti&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;
===Loengusalvestused===&lt;br /&gt;
&amp;lt;!--&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;
===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;
===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;
* [[Praktikum: XML failide loomine, 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]]&lt;br /&gt;
&lt;br /&gt;
=Veebiteenused=&lt;br /&gt;
==Loengud==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste loomine==&lt;br /&gt;
* ASP.NET Web Services http://msdn.microsoft.com/en-us/library/t745kdsh.aspx&lt;br /&gt;
* Creating and Consuming .NET Web Services in 5 Easy Steps http://articles.sitepoint.com/article/net-web-services-5-steps&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;
&lt;br /&gt;
==Praktika==&lt;br /&gt;
*[[Praktikum VR 2.4 OOP meeldetuletus]]&lt;br /&gt;
*[[Praktikum VR 2.5 Päringud Andmebaasist]]&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;
--&amp;gt;&lt;br /&gt;
[[Praktikum: Flickr&#039;i veebiteenusele klientrakenduse loomine]]&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>Roparn</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_2013&amp;diff=61524</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2013</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_2013&amp;diff=61524"/>
		<updated>2013-03-22T18:53:49Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Meeskonnad 2013 */&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; 2013=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML veebiteenus ja vastava 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;&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 23. märts 2013.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema 30. märts 2013&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;&lt;br /&gt;
** Veebiteenus peab olema valmis&amp;lt;!--, esitatud--&amp;gt; ja ja wikilehel kirjeldatud hiljemalt 4. mai 2013.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema 11. mai 2013&lt;br /&gt;
** &amp;lt;ins&amp;gt;&#039;&#039;&#039;Iga tähtajast üleläinud päev kaotab esitamata tööde hindest 10%&#039;&#039;&#039;&amp;lt;/ins&amp;gt;&lt;br /&gt;
&amp;lt;!--** Veebiteenus tuleb esitleda!--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039;&lt;br /&gt;
** Klientrakendused peavad olema valmis&amp;lt;!--, esitatud--&amp;gt; ja ja wikilehel kirjeldatud hiljemalt 18. mai 2013.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema 25. mai 2013&lt;br /&gt;
** &amp;lt;ins&amp;gt;&#039;&#039;&#039;Iga tähtajast üleläinud päev kaotab esitamata tööde hindest 10%&#039;&#039;&#039;&amp;lt;/ins&amp;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ähemalr 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;
&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;
===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;
&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;
 kaarel.raspel [ät] gmail.com (+372 522 2468)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2013 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 ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua kontroll, et nimi lisatakse baasi alles siis, kui seda nime on pakkunud vähemalt kaks erinevat kasutajat&lt;br /&gt;
* luua roll-back&#039;i võimalus juhuks, kui mõni kasutaja on tegelenud spämmimisega&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;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel oma kontaktibaase omavahel jagada&lt;br /&gt;
* luua võimalus pakkuda kontaktibaasis leiduvate nimede järgi sobivaid nimesid&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;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel erinevaid vooge grupeerida&lt;br /&gt;
* luua võimalus voogudes leiduvate uudiste puhverdamiseks (voogude lugemine võtab enamasti üsna palju aega)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2013=&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[KKMK]]&amp;quot;&lt;br /&gt;
** Kaido Tarma&lt;br /&gt;
** Katre Paabo&lt;br /&gt;
** Mark-Hendrik Mäeste&lt;br /&gt;
** Kaisa Taelma&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[CSharpArt]]&amp;quot;&lt;br /&gt;
** Kristo Roosileht (D22)&lt;br /&gt;
** Mihkel Kadarik (D22)&lt;br /&gt;
** Henri Kroosmann (D61)&lt;br /&gt;
** Ats Rand (D22)&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[REMS]]&amp;quot;&lt;br /&gt;
** Mart Lehtmets&lt;br /&gt;
** Renet Pirso&lt;br /&gt;
** Egon Lund&lt;br /&gt;
** Sander Perens&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[X-Ladu]]&amp;quot;&lt;br /&gt;
** Marek Kirillov&lt;br /&gt;
** Tiit Tallermaa&lt;br /&gt;
** Rando Laisaar&lt;br /&gt;
** Siim Treilmann&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[KK_without_K]]&amp;quot;&lt;br /&gt;
** Kaur Pääro&lt;br /&gt;
** Kaspar Urban&lt;br /&gt;
&lt;br /&gt;
*Meeskond &amp;quot;[[Meeskond &amp;quot;asdasdasd&amp;quot;]]&amp;quot;&lt;br /&gt;
** Karl Kadalipp&lt;br /&gt;
** Robert Pärn&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=61052</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=61052"/>
		<updated>2013-01-15T10:35:32Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on &#039;&#039;sde&#039;&#039; lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel &#039;&#039;sde&#039;&#039;-d. Selleks me peame balanseerima jaotuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem balance /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ketta kustutamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device delete /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Balanseerimine toimib automaatselt pärast kustutamist.&lt;br /&gt;
&lt;br /&gt;
Feilinud ketta eemaldus:&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kõigepealt tuleb see &#039;&#039;unmount&#039;&#039;-ida seejärel &#039;&#039;mount&#039;&#039;-ida &#039;&#039;degraded&#039;&#039; modes:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o degraded /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RAID taseme muutmine==&lt;br /&gt;
RAID levelit saab muuta ka online&#039;s järgnevalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;dconvert&#039;&#039; ja &#039;&#039;mconvert&#039;&#039; on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;Snapshot&#039;&#039;-ide tegemine==&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; failisüsteemis on võimalik teha &#039;&#039;snapshot&#039;&#039;-e alavolüümidest, juurvolüümidest ning isegi üksikutest failidest. Kuid tasub ära mainida, et &#039;&#039;snapshot&#039;&#039; ei ole rekursiivne ehk ei tehta automaatselt &#039;&#039;snapshot&#039;&#039;-e ka alamvolüümidest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs subvolume create /kodu/kaust/subvol &amp;lt;/pre&amp;gt;&lt;br /&gt;
Nüüd on meil loodud alamvolüüm.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs subvolume snapshot /kodu/kaust/subvol /kodu/kaust/snapshot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nii on loodud snapshot alamvolüümist, kus on näha kõik seal asetsenud failid.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
https://btrfs.wiki.kernel.org/index.php/Main_Page&lt;br /&gt;
http://www.howtoforge.com/a-beginners-guide-to-btrfs&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=61051</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=61051"/>
		<updated>2013-01-15T10:33:19Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on &#039;&#039;sde&#039;&#039; lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel &#039;&#039;sde&#039;&#039;-d. Selleks me peame balanseerima jaotuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem balance /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ketta kustutamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device delete /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Balanseerimine toimib automaatselt pärast kustutamist.&lt;br /&gt;
&lt;br /&gt;
Feilinud ketta eemaldus:&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kõigepealt tuleb see &#039;&#039;unmount&#039;&#039;-ida seejärel &#039;&#039;mount&#039;&#039;-ida &#039;&#039;degraded&#039;&#039; modes:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o degraded /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RAID taseme muutmine==&lt;br /&gt;
RAID levelit saab muuta ka online&#039;s järgnevalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;dconvert&#039;&#039; ja &#039;&#039;mconvert&#039;&#039; on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;Snapshot&#039;&#039;-ide tegemine==&lt;br /&gt;
&#039;&#039;&#039;Btrfs&#039;&#039;&#039; failisüsteemis on võimalik teha &#039;&#039;snapshot&#039;&#039;-e alavolüümidest, juurvolüümidest ning isegi üksikutest failidest. Kuid tasub ära mainida, et &#039;&#039;snapshot&#039;&#039; ei ole rekursiivne ehk ei tehta automaatselt &#039;&#039;snapshot&#039;&#039;-e ka alamvolüümidest.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs subvolume create /kodu/kaust/subvol &amp;lt;/pre&amp;gt;&lt;br /&gt;
Nüüd on meil loodud alamvolüüm.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs subvolume snapshot /kodu/kaust/subvol /kodu/kaust/snapshot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nii on loodud snapshot alamvolüümist, kus on näha kõik seal asetsenud failid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
https://btrfs.wiki.kernel.org/index.php/Main_Page&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60724</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60724"/>
		<updated>2013-01-11T18:49:26Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on &#039;&#039;sde&#039;&#039; lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel &#039;&#039;sde&#039;&#039;-d. Selleks me peame balanseerima jaotuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem balance /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ketta kustutamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device delete /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Balanseerimine toimib automaatselt pärast kustutamist.&lt;br /&gt;
&lt;br /&gt;
Feilinud ketta eemaldus:&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kõigepealt tuleb see &#039;&#039;unmount&#039;&#039;-ida seejärel &#039;&#039;mount&#039;&#039;-ida &#039;&#039;degraded&#039;&#039; modes:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o degraded /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RAID taseme muutmine==&lt;br /&gt;
RAID levelit saab muuta ka online&#039;s järgnevalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;dconvert&#039;&#039; ja &#039;&#039;mconvert&#039;&#039; on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
https://btrfs.wiki.kernel.org/index.php/Main_Page&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60723</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60723"/>
		<updated>2013-01-11T18:49:05Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on &#039;&#039;sde&#039;&#039; lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel &#039;&#039;sde&#039;&#039;-d. Selleks me peame balanseerima jaotuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem balance /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ketta kustutamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device delete /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Balanseerimine toimib automaatselt pärast kustutamist.&lt;br /&gt;
&lt;br /&gt;
Feilinud ketta eemaldus:&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kõigepealt tuleb see &#039;&#039;unmount&#039;&#039;-ida seejärel &#039;&#039;mount&#039;&#039;-ida &#039;&#039;degraded&#039;&#039; modes:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o degraded /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RAID taseme muutmine==&lt;br /&gt;
RAID levelit saab muuta ka online&#039;s järgnevalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;dconvert&#039;&#039; ja &#039;&#039;mconvert&#039;&#039; on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
https://btrfs.wiki.kernel.org/index.php/Main_Page&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60722</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60722"/>
		<updated>2013-01-11T18:45:33Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on &#039;&#039;sde&#039;&#039; lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel &#039;&#039;sde&#039;&#039;-d. Selleks me peame balanseerima jaotuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem balance /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ketta kustutamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device delete /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Balanseerimine toimib automaatselt pärast kustutamist.&lt;br /&gt;
&lt;br /&gt;
Feilinud ketta eemaldus:&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kõigepealt tuleb see &#039;&#039;unmount&#039;&#039;-ida seejärel &#039;&#039;mount&#039;&#039;-ida &#039;&#039;degraded&#039;&#039; modes:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o degraded /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RAID taseme muutmine==&lt;br /&gt;
RAID levelit saab muuta ka online&#039;s järgnevalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;dconvert&#039;&#039; ja &#039;&#039;mconvert&#039;&#039; on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60721</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60721"/>
		<updated>2013-01-11T18:29:38Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine &#039;&#039;btrfs&#039;&#039; failisüsteemi==&lt;br /&gt;
Meil on uus ketas, mille soovime formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning &#039;&#039;mount&#039;&#039;-ida /kodu/kaust kataloogi:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs device add /dev/sde /kodu/kaust&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60720</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60720"/>
		<updated>2013-01-11T18:23:04Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemi suuruse muutmine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi suurust on võimalik muuta, ilma seda &#039;&#039;unmount&#039;&#039;-imata.&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize -2g /kodu/kaust &amp;lt;/pre&amp;gt;&lt;br /&gt;
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid (&amp;quot;m&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Partitsiooni suurendamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize +1g /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maksimaalse kettaruumi omistamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem resize max /kodu/kaust&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60719</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60719"/>
		<updated>2013-01-11T18:06:28Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surnud failisüsteemi taastamine==&lt;br /&gt;
Kui &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem on surnud, siis on võimalik teda üritada taastada, &#039;&#039;mount&#039;&#039;-ides ta &#039;&#039;recovery&#039;&#039; modes.&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o recovery /dev/sdX /kodu/kaust &amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60718</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60718"/>
		<updated>2013-01-11T18:02:45Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis on võimalik kasutada &#039;&#039;zlib&#039;&#039; ja &#039;&#039;lzo&#039;&#039; kompressiooni, et hoida kokku kettaruumi. &#039;&#039;zlib&#039;&#039; võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid &#039;&#039;lzo&#039;&#039; on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemis ei kompresseerita.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lzo&#039;&#039;-ga kompresseerimine:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=lzo /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;zlib&#039;&#039;-iga:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o compress=zlib /dev/sdX /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi muuta fstab&#039;i:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /kodu/kaust               btrfs   defaults,compress=lzo 0       1&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60716</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60716"/>
		<updated>2013-01-11T17:16:07Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /kodu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompressiooni kasutamine==&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60715</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60715"/>
		<updated>2013-01-11T17:12:17Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et kontrollida, kas &#039;&#039;mount&#039;&#039;-itud sai õigesti:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detailsem vaade &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemide skoobis:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem df /mnt&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60714</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60714"/>
		<updated>2013-01-11T17:10:08Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks, et ka alglaadimisel oleks failisüsteem &#039;&#039;mount&#039;&#039;-itud, tuleb muuta &#039;&#039;fstab&#039;&#039; faili:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ning lisada järgnev rida:&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/sdX /sinu/kaust               btrfs   defaults 0       1&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60713</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60713"/>
		<updated>2013-01-11T17:06:49Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Failisüsteemi &#039;&#039;Mount&#039;&#039;-imine==&lt;br /&gt;
Selleks, et &#039;&#039;mount&#039;&#039;-ida failisüsteem, kasutame järgmist käsku:&lt;br /&gt;
&amp;lt;pre&amp;gt;mount /dev/sdX /sinu/kaust&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60712</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60712"/>
		<updated>2013-01-11T17:01:29Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.&lt;br /&gt;
&lt;br /&gt;
Et saada oma ketta kohta detailset informatsiooni:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show /dev/sdX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama käsk kõige ketaste info saamiseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;btrfs filesystem show&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60711</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60711"/>
		<updated>2013-01-11T16:57:35Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on kasutada ka RAID10&#039;t, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt &#039;&#039;-m raid10&#039;&#039; ja/või &#039;&#039;-d raid10&#039;&#039;.&lt;br /&gt;
Veel üks hea asi &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi juures on see, et&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60710</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60710"/>
		<updated>2013-01-11T16:51:31Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka andmeid panna RAID1&#039;te, koos metaandmetega&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Metaandmed RAID0 ja andmed RAID1:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60709</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60709"/>
		<updated>2013-01-11T16:41:28Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta formateerimine sellest väga ei lõika kasu, niiet üleliigsete metaandmete salvestamise võiks ära hoida. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näide mitme ketta peal:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m raid0 /dev/sdb /dev/sdc /dev/sdd&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60704</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60704"/>
		<updated>2013-01-11T13:06:32Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039; ning &#039;&#039;&#039;sdc&#039;&#039;&#039;, mille te just külge ühendasite, siis saab need väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb /dev/sdc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta formateerimine sellest väga ei lõika kasu, niiet üleliigsete metaandmete salvestamise võiks ära hoida. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60703</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60703"/>
		<updated>2013-01-11T13:02:28Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039;, mille te just külge ühendasite, siis saab selle väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -single /dev/sdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale kettale &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteem. Vaikeseades kasutatakse RAID0&#039;i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta formateerimine, nagu üleval näites, sellest väga ei lõika kasu, niiet üleliigsete metaandmete salvestamise võiks ära hoida. Kuid metaandmete kaudu oskab &#039;&#039;&#039;btrfs&#039;&#039;&#039; taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs -m single /dev/sdb&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60527</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60527"/>
		<updated>2013-01-08T14:00:41Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;br /&gt;
Üks väga häid omadusi &#039;&#039;&#039;btrfs&#039;&#039;&#039; juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas &#039;&#039;&#039;sdb&#039;&#039;&#039;, mille te just külge ühendasite, siis saab selle väga lihtsalt formattida &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.btrfs /dev/sdb&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60520</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60520"/>
		<updated>2013-01-08T13:53:41Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;&#039;btrfs&#039;&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;br /&gt;
==Eeltegemised==&lt;br /&gt;
&#039;&#039;&#039;btrfs&#039;&#039;&#039; on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda &#039;&#039;bug&#039;&#039;-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tasuks veenduda, et kasutaja on &#039;&#039;root&#039;&#039; kasutajaga sisse loginud:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
Enne installeerimist tasub uuendada &#039;&#039;repository&#039;&#039;-t.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui varamu uuendatud, tuleb installeerida pakk nimega &#039;&#039;btrfs-tools&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install btrfs-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==btrfs failisüsteemide loomine==&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60519</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60519"/>
		<updated>2013-01-08T13:28:29Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;btrfs&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;btrfs&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Kasutusjuhend=&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60485</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60485"/>
		<updated>2013-01-08T11:34:20Z</updated>

		<summary type="html">&lt;p&gt;Roparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Robert Pärn&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
See artikkel tutvustab &#039;&#039;btrfs&#039;&#039; failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas &#039;&#039;btrfs&#039;&#039; failisüsteemi luua, &#039;&#039;mount&#039;&#039;-ida, &#039;&#039;resize&#039;&#039;-da, RAID &#039;&#039;level&#039;&#039;-eid muuta, &#039;&#039;snapshot&#039;&#039;-e teha ning alamvolüüme luua.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60469</id>
		<title>Btrfs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Btrfs&amp;diff=60469"/>
		<updated>2013-01-08T08:36:11Z</updated>

		<summary type="html">&lt;p&gt;Roparn: Created page with &amp;#039;Sellega tegeleb Robert Pärn&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sellega tegeleb Robert Pärn&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Void&amp;diff=57011</id>
		<title>Void</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Void&amp;diff=57011"/>
		<updated>2012-11-13T14:09:44Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Programmeerimine CSharp keeles]]&lt;br /&gt;
= Meeskond Void =&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Ats Rand&lt;br /&gt;
* Reelika Lõhmus&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
== Tutvustavad pildid-videod mängust ==&lt;br /&gt;
Hetkel puuduvad.&lt;br /&gt;
&lt;br /&gt;
== TO DO ==&lt;br /&gt;
=== Kood ===&lt;br /&gt;
* Leveli tekitamine korrekselt&lt;br /&gt;
* Viewporti liikumine sihikuga kaasa&lt;br /&gt;
* Tegelase liigutamine ja tegelase funktsioonid&lt;br /&gt;
* HUD (spritefonti ja kõige muu todedaga)&lt;br /&gt;
* Relva laskmisfunktsioon, kuulide overlap/läbiminemise kontrollimine&lt;br /&gt;
* Relva laadimisfunktsioon, hülsside random väljalendamine&lt;br /&gt;
&lt;br /&gt;
=== Füüsika ===&lt;br /&gt;
* Gravitatsioon&lt;br /&gt;
* Objektide füüsika (kallutamine, tõstmine-kukkumine-veeremine)&lt;br /&gt;
* Objektide raskus ja nendega arvestamine või esialgu eventidega selle teostamine (laste mänguväljaku kiigu näide)&lt;br /&gt;
* Objektide katkiminemine ja mahalangemine (tükkidel)&lt;br /&gt;
&lt;br /&gt;
=== Graafika ===&lt;br /&gt;
* Relvad:&lt;br /&gt;
** Melee: rusikad, nuga, kasteet, pesapallikurikas&lt;br /&gt;
** Püstolid: TT, Makarov, 1911, M9, vintage revolver võimsa kaliibriga&lt;br /&gt;
** SMG-d: AKSU, MP5A3, UZI, MAC10, TEC9&lt;br /&gt;
** Automaadid/kuulipildujad: RPD?&lt;br /&gt;
** Pumppüssid: M870&lt;br /&gt;
* HUD: elude kuvaja, laskemoona kuvaja eraldajaga, laskemoona eri tüüpide pildid koos tekstiga, valida välja sobiv spritefont&lt;br /&gt;
* Leveli objektid ja taustad (parallax!)&lt;br /&gt;
* Välja mõelda mängu värviskeem (pakun välja, et teeks kõik asjad hallides toonides va veri, muzzle flash, kuulivest, burger jmt tähtsamad detailid)&lt;br /&gt;
&lt;br /&gt;
=== Heli ===&lt;br /&gt;
* Helid relvade ja tegelase jaoks&lt;br /&gt;
* Taustahelid&lt;br /&gt;
* Helide valjusus paika sättida (baseline vajalik)&lt;br /&gt;
* Helid parajaks lõigata (et alguses-lõpus poleks üleliigset tühja osa)&lt;br /&gt;
* Helide faililaiendid ja bitrated/tüübid&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
==== Millal, mida ja kes tegi? ====&lt;br /&gt;
*&#039;&#039;&#039;Pärast ülesande väljakuulutamist &#039;&#039;&#039;&lt;br /&gt;
**Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
**Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;28.10.2012&#039;&#039;&#039;&lt;br /&gt;
** Meeskonna nime väljamõtlemine&lt;br /&gt;
** Wiki lehe loomine&lt;br /&gt;
** Mängu idee/vormi/teostuse põhjalikum kaalutlus&lt;br /&gt;
** Algeline tööjaotuse jagamine&lt;br /&gt;
** Co-Op programmivalikuga tutvumine ja sobivaima valimine&lt;br /&gt;
** Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
** Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;04.11.2012&#039;&#039;&#039;&lt;br /&gt;
** Koostasime tiimiga analüüsi kasutades abivahenditena Google Docsi ja Skype&#039;i. &#039;&#039;&#039;Algülesande kirjeldus:&#039;&#039;&#039; Analüüs (6p). Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka: Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja. Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have) Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)&lt;br /&gt;
** Karl vormistas meeskonna Void wiki lehe pisut ümber ehk mergesin varasema kraami analüüsi osadega, et ei oleks topelt samu asju.&lt;br /&gt;
*&#039;&#039;&#039;05.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi esimene grupitöö vormis harjutamine.&lt;br /&gt;
**Seadsime üles ja saime tööle kõigi XNA arendusvahendid ja repository, testisime koodis piltide lisamist-liigutamist.&lt;br /&gt;
**Karl alustas mängu graafikaga (AKSU).&lt;br /&gt;
*&#039;&#039;&#039;06.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi (va Reelika, kes tegeles samal ajal Roboklubi asjadega) teine grupitöö vormis harjutamine.&lt;br /&gt;
**Väikesed graafikatestid, tutorialid.&lt;br /&gt;
*&#039;&#039;&#039;07.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Karl koodis valmis väikese pallimängu (õppimise eesmärgil), kus pall kaotab jooksvalt kiirust (kuni jääb seisma) ning põrkab seintest diagonaalis ära. Pall on kontrollitav nuppudega. Karl jätkas mängu graafikat pisut.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Paar näidet:&amp;quot; widths=&amp;quot;300px&amp;quot; heigths=&amp;quot;50px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
File:TT_demoLR.png|Püstol TT (Salvega)&lt;br /&gt;
File:AKSU_demoLR.png|Automaat AKS74U (Salveta, parempoolne külg)&lt;br /&gt;
File:AKSU_demoRL.png|Automaat AKS74U (Salveta, vasakpoolne külg)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Robert koodis collision&#039;i ja gravitatsiooni, koos tegelase liikumisega. Töötab lahenduse kallal, mis võimaldaks tervet suurt level&#039;it scrollida.&lt;br /&gt;
*&#039;&#039;&#039;11.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Valmis analüüsi retsensioon. Asub siin: [[Talk:Meeskond_Default_Name]]&lt;br /&gt;
&lt;br /&gt;
==== 25.11.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüüp(10p). Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
==== 02.12.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüübi retsensioon (5p)&lt;br /&gt;
&lt;br /&gt;
==== 9.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoode (20p). Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
==== 16.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoote retsensioon (5p).&lt;br /&gt;
&lt;br /&gt;
==== Pärast lõpptoote valmimist ====&lt;br /&gt;
Esitlus/Kaitsmine. Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
Meie projekti kaitsmise aeg: ..........&lt;br /&gt;
&lt;br /&gt;
= Analüüs =&lt;br /&gt;
== Mäng “Tallinn pimeduses” ehk karmid 90ndad Eestis ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mida meie mäng endas sisaldab? ===&lt;br /&gt;
&lt;br /&gt;
==== Tegelane - Kes ta on? ====&lt;br /&gt;
Jüri on üks austatumaid politseiametnikke äsja iseseisvunud Eesti Vabariigis, tema tööülesanneteks on kuritegelikesse organisatsioonidesse sisseimbumine ja nende paljastamine. Oma tööga on ta teeninud mitmete väga mõjuvõimsate kurjategijate viha. Ühel päeval töölt koju naastes avastab ta, et tema kallim on külmavereliselt mõrvatud. Nüüdsest on Jüri elu muutunud igaveseks. Tema töö on ühtlasi ka tema kättemaks ning tema viisid kurjategijate ja mafioosodega toimetulemiseks on üha rohkem halastamatud.&lt;br /&gt;
&lt;br /&gt;
==== Sisuanalüüs ja stoori kirjeldus - Kus peategelane on, mida teeb? ====&lt;br /&gt;
Tegevus toimib 90ndatel Tallinnas, ajal mil lokkas kuritegevus.&lt;br /&gt;
&lt;br /&gt;
==== Mis on tema eesmärk? ====&lt;br /&gt;
Jüri eesmärk on kurjategijad peatada, talle on lubatud kasutada mistahes võtteid, et oma eesmärk saavutada ning seda ta kasutab usinasti.&lt;br /&gt;
&lt;br /&gt;
==== Kuidas ta probleemidest jagu saab? ====&lt;br /&gt;
Jüri on lühikese jutu mees ning ta üldiselt ei halasta kellegile. Enamik teda kohanud kurikaelad lõpetavad kas haiglas või mulla all.&lt;br /&gt;
Jüril on kasutada kurjategijatega võitlemiseks palju erinevaid relvi alustades tema enda rusikatest (ja kasteetidest) ning lõpetades nõukogude sõjaväe arsenaliga nagu näiteks püstol Makarov ja lahingautomaat AKS74U.&lt;br /&gt;
&lt;br /&gt;
=== 2. Kelle jaoks me seda teeme? Kes mängima hakkavad? ===&lt;br /&gt;
==== Mängu üldinfo ja eesmärk ====&lt;br /&gt;
Mängu sisu on kaasahaarav ja huvitav ning pakub närvikõdi ja palju mõttetööd misläbi saame pakkuda mängijale head ajaviidet ja meelelahutust. Nooremaid mängijaid paelub huvitav sündmuste käik ja uudishimu kuidas 90ndate Tallinnas käis kriminaalne elu. Vanematele mängijatele saame pakkuda äratundmisrõõmu ja võimalik, et tuttavaid situatsioone, mis aitavad kaasa lahenduste leidmisel.&lt;br /&gt;
Üldjoontes on mäng lihtne, kergesti mõistetav ja võimalusterohke muutes teie mänguelamuse lõbusaks. Pärast mängu lõpetamist soovite juba järgmist osa sellest seeriast mängida.&lt;br /&gt;
&lt;br /&gt;
=== 3. Mis on tavakasutaja võimalused mängus? ===&lt;br /&gt;
Tavakasutajate võimalus on nautida meie suurepärast mängu, lahendada erinevaid ülesandeid ja tulistada virtuaalsete kurjategijate pihta. Kasutaja saab täiendada tegelast erinevate relvadega. Lisaks saab Jüri endale kaitseks kuuliveste ja lisapadruneid, mis aitavad kasutajal kurjategijad hõlpsamini alistada.&lt;br /&gt;
Kasutaja peab limiteeritud resurssidega otsustama, kas mõistlikum oleks osta laskemoona või kuuliveste, samas võib kuulivest Jüri liikumiskiirust vähendada. Kasutaja peab olema loov ja kasutama oma kiiret taipu, et lahendada probleeme või situatsioone kuhu Jüri on sattunud. Oleme jätnud palju lahtisi niidiotsi millega anname kasutajale valikuvõimaluse, kuidas ta Jüri antud olukorrast välja päästab.&lt;br /&gt;
&lt;br /&gt;
=== 4. Mis osad võivad meile suuri raskusi valmistada? ===&lt;br /&gt;
Füüsika pookimine mängu, animatsioonide teostamine kõige lihtsamal-loogilisemal kujul (nt spritede asemel objektide liigutamine ja omavaheline sidumine).&lt;br /&gt;
&lt;br /&gt;
=== 5. Tööjaotus ===&lt;br /&gt;
&lt;br /&gt;
* Karl Kadalipp - projektijuht &amp;amp; wikihaldur, graafiline disain (relvad, mänguobjektid, teiste tööde parandamine-kontrollimine-juhendamine), helitöötlus (mängu otsitud helide tweakimine ja modimine, et oleksid õiges formaadis ja täpselt õigel kujul oma sisu poolest), kood...&lt;br /&gt;
* Ats Rand - kood, algeline graafika (et saaks edasi seda tuunida, aga suurus oleks paigas ning koodi testimisel mängus näha),...&lt;br /&gt;
* Reelika Lõhmus - mängumenüüde programmeerimine ning kujundus. Poesüsteem,...&lt;br /&gt;
* Robert Pärn - algse mängumootori loomine. Algne füüsika, renderdamisloogika,...&lt;br /&gt;
&lt;br /&gt;
== MÄNGULOOGIKA ==&lt;br /&gt;
(&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid&#039;&#039;&#039;)&lt;br /&gt;
=== 6. MUST HAVE funktsioonid mängus ===&lt;br /&gt;
&lt;br /&gt;
* Funktsioneeriv level, mis koosneb eri layeritest (ja ruumilisuse lisamiseks liiguvad nad eri kiirusega, kui see on koodis teostatav). Layerid asuvad eri kõrgusel ja omavad eri tüüpe - näiteks üks layer on ainult selleks, et ära määrata need piirkonnad, kust tegelane ei saa läbi kukkuda ja läbi liikuda.&lt;br /&gt;
* 5+ eri levelit. (Esimene neist peaks olema lihtsam ehk n-ö nupuõpetamise level).&lt;br /&gt;
* Punktiarvestuse süsteem.&lt;br /&gt;
* Boonuspunktide korjamise süsteem (raha, kuld, kokaiin, relvad, stiilipunktid jne).&lt;br /&gt;
* Poesüsteem ehk boonuspunktide eest lisade ostmine (relvad, laskemoon, kuulivest, kiiver, seljakott, et saaks rohkem laskemoona kanda jne)&lt;br /&gt;
* Töötavad relvad - tulistamisel tekivad kuulid uue objektina ja kontrollime kattuvust või kaugust tabatavatest asjadest, et määrata pihtasaamine. Kuulid võiksid distantsi peale ka natuke kukkuda või laiali paiskuda/põrgata (ebatäpne relv, pumppüss).&lt;br /&gt;
* Helid (laskmisel, jooksmisel, hüppamisel)&lt;br /&gt;
* Mänguobjektide graafika (relvad, tegelased, leveli scenery) ühtlases stiilis, võimalikult lihtne-ilus, aga arusaadav&lt;br /&gt;
* HUD&lt;br /&gt;
* Klaviatuurilt juhtimise tugi, hiire kursori ja Xbox controlleriga juhtimine. Kuulid liiguvad sinna suunas kuhu kursor on sihitud.&lt;br /&gt;
* Stiilne-sujuv intro ja menüüd&lt;br /&gt;
* Füüsikaga seotud elemendid (mänguobjektid jmt)&lt;br /&gt;
* Osa mängust randomiga mixitud, et ei tekiks üksluisust mitmekordsel mängimisel ja testimisel (nt kui on üles-alla käivad seinad, mille vahelt peab läbipääsema, siis nende ajastuse saab kergelt segamini paisata, et poleks võimalik kindla hetke tagant liikuma hakata)&lt;br /&gt;
* Kursor liigub pärast igat lasku teatud arvu piksleid kaares üles vasakule (recoil)&lt;br /&gt;
* Kuulide füüsika ehk pärast kasti läbimist (pisut võimsama padruniga relva puhul) lendavad kuulid läbi, kuid pisut random suunas (nt 90 kraadi piires)&lt;br /&gt;
* Erinevad materjalid käituvad eri relva kuulide/haavlite puhul erinevalt&lt;br /&gt;
&lt;br /&gt;
=== 7. NICE TO HAVE funktsioonid, mida võib-olla ei jõua valmis ===&lt;br /&gt;
&lt;br /&gt;
* Tulistamisel randomilt laiali lendavad hülsid, mis jäävad leveli “põrandale”, kuid neid jääb üksnes limiteeritud hulk ehk vanad kaovad ära (muidu võib mängu kooma tõmmata)&lt;br /&gt;
* Kuuliaugud, mitmeks tükiks katkiminevad asjad&lt;br /&gt;
* Mängu keskel saab osta head nodi putkadest-poodidest (nt burksiputkast ostad burksi ja elupunktid lähevad täis)&lt;br /&gt;
* Levelite vahel saab osta politseijaoskonnast või mustalt turult (kalli hinnaga) huvitavat kraami&lt;br /&gt;
* Objektide liigutamine-tõstmine-lükkamine (kastid, CRT telekas, külmkapp,...)&lt;br /&gt;
* Auto/jalgratas, et kruiisida natuke tühjal, ent künklikul külavaheteel&lt;br /&gt;
* Realistlikud relvafunktsioonid - tulistamisel väike muzzle flash, kelgu või lukuraami liikumine, hülsside väljalendamine (peaaegu) random suunas, loogiline recoil (igal relval erinev - vastavalt kaliibrile), päris elu stiilis laadimine (või midagi analoogset), liigsete objektide ärakaotamine&lt;br /&gt;
* Relvade tõrkumise süsteem + tõrgete eemaldamine&lt;br /&gt;
* Vahetuv-muutuv riietus, riidekapp või menüü, kust saab tegelase välimust muuta&lt;br /&gt;
* Effektsed animatsioonid, kui vastane kuuliga pihta saab (+ ragdollide loogika)&lt;br /&gt;
* Storyline’s erinevad viisid kuidas missioon lõpetada&lt;br /&gt;
* Võimalus valida raske kuulivesti ja kerge kuulivesti vahel. Kerge kuulivest võimaldab Jüril olla kiirem ja ringi hüpata, nii saab ta tulevahetusi üldse vältida. Raske kuulivest muudab Jüri aeglaseks, kuid pakub väga head kaitset.&lt;br /&gt;
* Suurem relvavalik ja rohkem viise vastaste hävitamiseks (nt viskad püstoliga vastase uimaseks, sest teadupärast Makarovit tuntakse pigem viskerelvana)&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea story&lt;br /&gt;
* Inventory sloti süsteemiga (nt püstol võtab 1 sloti, AKSU 2 slotti, RPD 3 slotti jne, et piirata kaasaskantavate asjade arvu - panna max slottide arvuks 4)&lt;br /&gt;
* Koodis töötav fire selector&lt;br /&gt;
* Suvalise relva või maastkorjatud objekti kasutamine melee relvana (erinevad pikkused-kaugused-löögitugevused)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Retsensioon===&lt;br /&gt;
Retsenseeris: [https://wiki.itcollege.ee/index.php/Kajarist#Kajarist_retsenseerib:_meeskond_Void/ meeskond Kajarist]&lt;br /&gt;
&lt;br /&gt;
= Lingid = &lt;br /&gt;
==== Helid mängu jaoks ====&lt;br /&gt;
*[http://http://www.freesound.org/ Free Sound]&lt;br /&gt;
&lt;br /&gt;
==== Co-Op koodikirjutamine ====&lt;br /&gt;
*[http://tortoisehg.bitbucket.org/ TurtoiseHg Workbench]&lt;br /&gt;
*[https://bitbucket.org/ Bitbucket repository]&lt;br /&gt;
&lt;br /&gt;
==== Youtube videod eeskujuks ====&lt;br /&gt;
*[http://www.youtube.com/watch?v=vdlYar_FWU0&amp;amp;feature=relmfu Physics Engine Demo]&lt;br /&gt;
&lt;br /&gt;
==== Muu nodi ====&lt;br /&gt;
*[http://xboxforums.create.msdn.com/forums/ XNA foorumid]&lt;br /&gt;
*[http://www.xnadevelopment.com/tutorials.shtml XNA Development Tutorialid]&lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/bb200104.aspx MSDN XNA Game Studio 4.0]&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56830</id>
		<title>Void</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56830"/>
		<updated>2012-11-11T21:24:14Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Programmeerimine CSharp keeles]]&lt;br /&gt;
= Meeskond Void =&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Ats Rand&lt;br /&gt;
* Reelika Lõhmus&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
== Tutvustavad pildid-videod mängust ==&lt;br /&gt;
Hetkel puuduvad.&lt;br /&gt;
&lt;br /&gt;
== TO DO ==&lt;br /&gt;
=== Kood ===&lt;br /&gt;
* Leveli tekitamine korrekselt&lt;br /&gt;
* Viewporti liikumine sihikuga kaasa&lt;br /&gt;
* Tegelase liigutamine ja tegelase funktsioonid&lt;br /&gt;
* HUD (spritefonti ja kõige muu todedaga)&lt;br /&gt;
* Relva laskmisfunktsioon, kuulide overlap/läbiminemise kontrollimine&lt;br /&gt;
* Relva laadimisfunktsioon, hülsside random väljalendamine&lt;br /&gt;
&lt;br /&gt;
=== Füüsika ===&lt;br /&gt;
* Gravitatsioon&lt;br /&gt;
* Objektide füüsika (kallutamine, tõstmine-kukkumine-veeremine)&lt;br /&gt;
* Objektide raskus ja nendega arvestamine või esialgu eventidega selle teostamine (laste mänguväljaku kiigu näide)&lt;br /&gt;
* Objektide katkiminemine ja mahalangemine (tükkidel)&lt;br /&gt;
&lt;br /&gt;
=== Graafika ===&lt;br /&gt;
* Relvad:&lt;br /&gt;
** Melee: rusikad, nuga, kasteet, pesapallikurikas&lt;br /&gt;
** Püstolid: TT, Makarov, 1911, M9, vintage revolver võimsa kaliibriga&lt;br /&gt;
** SMG-d: AKSU, MP5A3, UZI, MAC10, TEC9&lt;br /&gt;
** Automaadid/kuulipildujad: RPD?&lt;br /&gt;
** Pumppüssid: M870&lt;br /&gt;
* HUD: elude kuvaja, laskemoona kuvaja eraldajaga, laskemoona eri tüüpide pildid koos tekstiga, valida välja sobiv spritefont&lt;br /&gt;
* Leveli objektid ja taustad (parallax!)&lt;br /&gt;
* Välja mõelda mängu värviskeem (pakun välja, et teeks kõik asjad hallides toonides va veri, muzzle flash, kuulivest, burger jmt tähtsamad detailid)&lt;br /&gt;
&lt;br /&gt;
=== Heli ===&lt;br /&gt;
* Helid relvade ja tegelase jaoks&lt;br /&gt;
* Taustahelid&lt;br /&gt;
* Helide valjusus paika sättida (baseline vajalik)&lt;br /&gt;
* Helid parajaks lõigata (et alguses-lõpus poleks üleliigset tühja osa)&lt;br /&gt;
* Helide faililaiendid ja bitrated/tüübid&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
==== Millal, mida ja kes tegi? ====&lt;br /&gt;
*&#039;&#039;&#039;Pärast ülesande väljakuulutamist &#039;&#039;&#039;&lt;br /&gt;
**Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
**Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;28.10.2012&#039;&#039;&#039;&lt;br /&gt;
** Meeskonna nime väljamõtlemine&lt;br /&gt;
** Wiki lehe loomine&lt;br /&gt;
** Mängu idee/vormi/teostuse põhjalikum kaalutlus&lt;br /&gt;
** Algeline tööjaotuse jagamine&lt;br /&gt;
** Co-Op programmivalikuga tutvumine ja sobivaima valimine&lt;br /&gt;
** Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
** Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;04.11.2012&#039;&#039;&#039;&lt;br /&gt;
** Koostasime tiimiga analüüsi kasutades abivahenditena Google Docsi ja Skype&#039;i. &#039;&#039;&#039;Algülesande kirjeldus:&#039;&#039;&#039; Analüüs (6p). Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka: Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja. Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have) Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)&lt;br /&gt;
** Karl vormistas meeskonna Void wiki lehe pisut ümber ehk mergesin varasema kraami analüüsi osadega, et ei oleks topelt samu asju.&lt;br /&gt;
*&#039;&#039;&#039;05.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi esimene grupitöö vormis harjutamine.&lt;br /&gt;
**Seadsime üles ja saime tööle kõigi XNA arendusvahendid ja repository, testisime koodis piltide lisamist-liigutamist.&lt;br /&gt;
**Karl alustas mängu graafikaga (AKSU).&lt;br /&gt;
*&#039;&#039;&#039;06.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi (va Reelika, kes tegeles samal ajal Roboklubi asjadega) teine grupitöö vormis harjutamine.&lt;br /&gt;
**Väikesed graafikatestid, tutorialid.&lt;br /&gt;
*&#039;&#039;&#039;07.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Karl koodis valmis väikese pallimängu (õppimise eesmärgil), kus pall kaotab jooksvalt kiirust (kuni jääb seisma) ning põrkab seintest diagonaalis ära. Pall on kontrollitav nuppudega. Karl jätkas mängu graafikat pisut.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Paar näidet:&amp;quot; widths=&amp;quot;300px&amp;quot; heigths=&amp;quot;50px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
File:TT_demoLR.png|Püstol TT (Salvega)&lt;br /&gt;
File:AKSU_demoLR.png|Automaat AKS74U (Salveta, parempoolne külg)&lt;br /&gt;
File:AKSU_demoRL.png|Automaat AKS74U (Salveta, vasakpoolne külg)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Robert koodis collision&#039;i ja gravitatsiooni, koos tegelase liikumisega. Töötab lahenduse kallal, mis võimaldaks tervet suurt level&#039;it scrollida.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Valmis analüüsi retsensioon. Asub siin: [[Talk:Meeskond_Default_Name]]&lt;br /&gt;
&lt;br /&gt;
==== 25.11.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüüp(10p). Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
==== 02.12.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüübi retsensioon (5p)&lt;br /&gt;
&lt;br /&gt;
==== 9.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoode (20p). Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
==== 16.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoote retsensioon (5p).&lt;br /&gt;
&lt;br /&gt;
==== Pärast lõpptoote valmimist ====&lt;br /&gt;
Esitlus/Kaitsmine. Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
Meie projekti kaitsmise aeg: ..........&lt;br /&gt;
&lt;br /&gt;
= Analüüs =&lt;br /&gt;
== Mäng “Tallinn pimeduses” ehk karmid 90ndad Eestis ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mida meie mäng endas sisaldab? ===&lt;br /&gt;
&lt;br /&gt;
==== Tegelane - Kes ta on? ====&lt;br /&gt;
Jüri on üks austatumaid politseiametnikke äsja iseseisvunud Eesti Vabariigis, tema tööülesanneteks on kuritegelikesse organisatsioonidesse sisseimbumine ja nende paljastamine. Oma tööga on ta teeninud mitmete väga mõjuvõimsate kurjategijate viha. Ühel päeval töölt koju naastes avastab ta, et tema kallim on külmavereliselt mõrvatud. Nüüdsest on Jüri elu muutunud igaveseks. Tema töö on ühtlasi ka tema kättemaks ning tema viisid kurjategijate ja mafioosodega toimetulemiseks on üha rohkem halastamatud.&lt;br /&gt;
&lt;br /&gt;
==== Sisuanalüüs ja stoori kirjeldus - Kus peategelane on, mida teeb? ====&lt;br /&gt;
Tegevus toimib 90ndatel Tallinnas, ajal mil lokkas kuritegevus.&lt;br /&gt;
&lt;br /&gt;
==== Mis on tema eesmärk? ====&lt;br /&gt;
Jüri eesmärk on kurjategijad peatada, talle on lubatud kasutada mistahes võtteid, et oma eesmärk saavutada ning seda ta kasutab usinasti.&lt;br /&gt;
&lt;br /&gt;
==== Kuidas ta probleemidest jagu saab? ====&lt;br /&gt;
Jüri on lühikese jutu mees ning ta üldiselt ei halasta kellegile. Enamik teda kohanud kurikaelad lõpetavad kas haiglas või mulla all.&lt;br /&gt;
Jüril on kasutada kurjategijatega võitlemiseks palju erinevaid relvi alustades tema enda rusikatest (ja kasteetidest) ning lõpetades nõukogude sõjaväe arsenaliga nagu näiteks püstol Makarov ja lahingautomaat AKS74U.&lt;br /&gt;
&lt;br /&gt;
=== 2. Kelle jaoks me seda teeme? Kes mängima hakkavad? ===&lt;br /&gt;
==== Mängu üldinfo ja eesmärk ====&lt;br /&gt;
Mängu sisu on kaasahaarav ja huvitav ning pakub närvikõdi ja palju mõttetööd misläbi saame pakkuda mängijale head ajaviidet ja meelelahutust. Nooremaid mängijaid paelub huvitav sündmuste käik ja uudishimu kuidas 90ndate Tallinnas käis kriminaalne elu. Vanematele mängijatele saame pakkuda äratundmisrõõmu ja võimalik, et tuttavaid situatsioone, mis aitavad kaasa lahenduste leidmisel.&lt;br /&gt;
Üldjoontes on mäng lihtne, kergesti mõistetav ja võimalusterohke muutes teie mänguelamuse lõbusaks. Pärast mängu lõpetamist soovite juba järgmist osa sellest seeriast mängida.&lt;br /&gt;
&lt;br /&gt;
=== 3. Mis on tavakasutaja võimalused mängus? ===&lt;br /&gt;
Tavakasutajate võimalus on nautida meie suurepärast mängu, lahendada erinevaid ülesandeid ja tulistada virtuaalsete kurjategijate pihta. Kasutaja saab täiendada tegelast erinevate relvadega. Lisaks saab Jüri endale kaitseks kuuliveste ja lisapadruneid, mis aitavad kasutajal kurjategijad hõlpsamini alistada.&lt;br /&gt;
Kasutaja peab limiteeritud resurssidega otsustama, kas mõistlikum oleks osta laskemoona või kuuliveste, samas võib kuulivest Jüri liikumiskiirust vähendada. Kasutaja peab olema loov ja kasutama oma kiiret taipu, et lahendada probleeme või situatsioone kuhu Jüri on sattunud. Oleme jätnud palju lahtisi niidiotsi millega anname kasutajale valikuvõimaluse, kuidas ta Jüri antud olukorrast välja päästab.&lt;br /&gt;
&lt;br /&gt;
=== 4. Mis osad võivad meile suuri raskusi valmistada? ===&lt;br /&gt;
Füüsika pookimine mängu, animatsioonide teostamine kõige lihtsamal-loogilisemal kujul (nt spritede asemel objektide liigutamine ja omavaheline sidumine).&lt;br /&gt;
&lt;br /&gt;
=== 5. Tööjaotus ===&lt;br /&gt;
&lt;br /&gt;
* Karl Kadalipp - projektijuht &amp;amp; wikihaldur, graafiline disain (relvad, mänguobjektid, teiste tööde parandamine-kontrollimine-juhendamine), helitöötlus (mängu otsitud helide tweakimine ja modimine, et oleksid õiges formaadis ja täpselt õigel kujul oma sisu poolest), kood...&lt;br /&gt;
* Ats Rand - kood, algeline graafika (et saaks edasi seda tuunida, aga suurus oleks paigas ning koodi testimisel mängus näha),...&lt;br /&gt;
* Reelika Lõhmus - mängumenüüde programmeerimine ning kujundus. Poesüsteem,...&lt;br /&gt;
* Robert Pärn - algse mängumootori loomine. Algne füüsika, renderdamisloogika,...&lt;br /&gt;
&lt;br /&gt;
== MÄNGULOOGIKA ==&lt;br /&gt;
(&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid&#039;&#039;&#039;)&lt;br /&gt;
=== 6. MUST HAVE funktsioonid mängus ===&lt;br /&gt;
&lt;br /&gt;
* Funktsioneeriv level, mis koosneb eri layeritest (ja ruumilisuse lisamiseks liiguvad nad eri kiirusega, kui see on koodis teostatav). Layerid asuvad eri kõrgusel ja omavad eri tüüpe - näiteks üks layer on ainult selleks, et ära määrata need piirkonnad, kust tegelane ei saa läbi kukkuda ja läbi liikuda.&lt;br /&gt;
* 5+ eri levelit. (Esimene neist peaks olema lihtsam ehk n-ö nupuõpetamise level).&lt;br /&gt;
* Punktiarvestuse süsteem.&lt;br /&gt;
* Boonuspunktide korjamise süsteem (raha, kuld, kokaiin, relvad, stiilipunktid jne).&lt;br /&gt;
* Poesüsteem ehk boonuspunktide eest lisade ostmine (relvad, laskemoon, kuulivest, kiiver, seljakott, et saaks rohkem laskemoona kanda jne)&lt;br /&gt;
* Töötavad relvad - tulistamisel tekivad kuulid uue objektina ja kontrollime kattuvust või kaugust tabatavatest asjadest, et määrata pihtasaamine. Kuulid võiksid distantsi peale ka natuke kukkuda või laiali paiskuda/põrgata (ebatäpne relv, pumppüss).&lt;br /&gt;
* Helid (laskmisel, jooksmisel, hüppamisel)&lt;br /&gt;
* Mänguobjektide graafika (relvad, tegelased, leveli scenery) ühtlases stiilis, võimalikult lihtne-ilus, aga arusaadav&lt;br /&gt;
* HUD&lt;br /&gt;
* Klaviatuurilt juhtimise tugi, hiire kursori ja Xbox controlleriga juhtimine. Kuulid liiguvad sinna suunas kuhu kursor on sihitud.&lt;br /&gt;
* Stiilne-sujuv intro ja menüüd&lt;br /&gt;
* Füüsikaga seotud elemendid (mänguobjektid jmt)&lt;br /&gt;
* Osa mängust randomiga mixitud, et ei tekiks üksluisust mitmekordsel mängimisel ja testimisel (nt kui on üles-alla käivad seinad, mille vahelt peab läbipääsema, siis nende ajastuse saab kergelt segamini paisata, et poleks võimalik kindla hetke tagant liikuma hakata)&lt;br /&gt;
* Kursor liigub pärast igat lasku teatud arvu piksleid kaares üles vasakule (recoil)&lt;br /&gt;
* Kuulide füüsika ehk pärast kasti läbimist (pisut võimsama padruniga relva puhul) lendavad kuulid läbi, kuid pisut random suunas (nt 90 kraadi piires)&lt;br /&gt;
* Erinevad materjalid käituvad eri relva kuulide/haavlite puhul erinevalt&lt;br /&gt;
&lt;br /&gt;
=== 7. NICE TO HAVE funktsioonid, mida võib-olla ei jõua valmis ===&lt;br /&gt;
&lt;br /&gt;
* Tulistamisel randomilt laiali lendavad hülsid, mis jäävad leveli “põrandale”, kuid neid jääb üksnes limiteeritud hulk ehk vanad kaovad ära (muidu võib mängu kooma tõmmata)&lt;br /&gt;
* Kuuliaugud, mitmeks tükiks katkiminevad asjad&lt;br /&gt;
* Mängu keskel saab osta head nodi putkadest-poodidest (nt burksiputkast ostad burksi ja elupunktid lähevad täis)&lt;br /&gt;
* Levelite vahel saab osta politseijaoskonnast või mustalt turult (kalli hinnaga) huvitavat kraami&lt;br /&gt;
* Objektide liigutamine-tõstmine-lükkamine (kastid, CRT telekas, külmkapp,...)&lt;br /&gt;
* Auto/jalgratas, et kruiisida natuke tühjal, ent künklikul külavaheteel&lt;br /&gt;
* Realistlikud relvafunktsioonid - tulistamisel väike muzzle flash, kelgu või lukuraami liikumine, hülsside väljalendamine (peaaegu) random suunas, loogiline recoil (igal relval erinev - vastavalt kaliibrile), päris elu stiilis laadimine (või midagi analoogset), liigsete objektide ärakaotamine&lt;br /&gt;
* Relvade tõrkumise süsteem + tõrgete eemaldamine&lt;br /&gt;
* Vahetuv-muutuv riietus, riidekapp või menüü, kust saab tegelase välimust muuta&lt;br /&gt;
* Effektsed animatsioonid, kui vastane kuuliga pihta saab (+ ragdollide loogika)&lt;br /&gt;
* Storyline’s erinevad viisid kuidas missioon lõpetada&lt;br /&gt;
* Võimalus valida raske kuulivesti ja kerge kuulivesti vahel. Kerge kuulivest võimaldab Jüril olla kiirem ja ringi hüpata, nii saab ta tulevahetusi üldse vältida. Raske kuulivest muudab Jüri aeglaseks, kuid pakub väga head kaitset.&lt;br /&gt;
* Suurem relvavalik ja rohkem viise vastaste hävitamiseks (nt viskad püstoliga vastase uimaseks, sest teadupärast Makarovit tuntakse pigem viskerelvana)&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea story&lt;br /&gt;
* Inventory sloti süsteemiga (nt püstol võtab 1 sloti, AKSU 2 slotti, RPD 3 slotti jne, et piirata kaasaskantavate asjade arvu - panna max slottide arvuks 4)&lt;br /&gt;
* Koodis töötav fire selector&lt;br /&gt;
* Suvalise relva või maastkorjatud objekti kasutamine melee relvana (erinevad pikkused-kaugused-löögitugevused)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Retsensioon===&lt;br /&gt;
Retsenseeris: [https://wiki.itcollege.ee/index.php/Kajarist#Kajarist_retsenseerib:_meeskond_Void/ meeskond Kajarist]&lt;br /&gt;
&lt;br /&gt;
= Lingid = &lt;br /&gt;
==== Helid mängu jaoks ====&lt;br /&gt;
*[http://http://www.freesound.org/ Free Sound]&lt;br /&gt;
&lt;br /&gt;
==== Co-Op koodikirjutamine ====&lt;br /&gt;
*[http://tortoisehg.bitbucket.org/ TurtoiseHg Workbench]&lt;br /&gt;
*[https://bitbucket.org/ Bitbucket repository]&lt;br /&gt;
&lt;br /&gt;
==== Youtube videod eeskujuks ====&lt;br /&gt;
*[http://www.youtube.com/watch?v=vdlYar_FWU0&amp;amp;feature=relmfu Physics Engine Demo]&lt;br /&gt;
&lt;br /&gt;
==== Muu nodi ====&lt;br /&gt;
*[http://xboxforums.create.msdn.com/forums/ XNA foorumid]&lt;br /&gt;
*[http://www.xnadevelopment.com/tutorials.shtml XNA Development Tutorialid]&lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/bb200104.aspx MSDN XNA Game Studio 4.0]&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56828</id>
		<title>Void</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56828"/>
		<updated>2012-11-11T21:20:13Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Programmeerimine CSharp keeles]]&lt;br /&gt;
= Meeskond Void =&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Ats Rand&lt;br /&gt;
* Reelika Lõhmus&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
== Tutvustavad pildid-videod mängust ==&lt;br /&gt;
Hetkel puuduvad.&lt;br /&gt;
&lt;br /&gt;
== TO DO ==&lt;br /&gt;
=== Kood ===&lt;br /&gt;
* Leveli tekitamine korrekselt&lt;br /&gt;
* Viewporti liikumine sihikuga kaasa&lt;br /&gt;
* Tegelase liigutamine ja tegelase funktsioonid&lt;br /&gt;
* HUD (spritefonti ja kõige muu todedaga)&lt;br /&gt;
* Relva laskmisfunktsioon, kuulide overlap/läbiminemise kontrollimine&lt;br /&gt;
* Relva laadimisfunktsioon, hülsside random väljalendamine&lt;br /&gt;
&lt;br /&gt;
=== Füüsika ===&lt;br /&gt;
* Gravitatsioon&lt;br /&gt;
* Objektide füüsika (kallutamine, tõstmine-kukkumine-veeremine)&lt;br /&gt;
* Objektide raskus ja nendega arvestamine või esialgu eventidega selle teostamine (laste mänguväljaku kiigu näide)&lt;br /&gt;
* Objektide katkiminemine ja mahalangemine (tükkidel)&lt;br /&gt;
&lt;br /&gt;
=== Graafika ===&lt;br /&gt;
* Relvad:&lt;br /&gt;
** Melee: rusikad, nuga, kasteet, pesapallikurikas&lt;br /&gt;
** Püstolid: TT, Makarov, 1911, M9, vintage revolver võimsa kaliibriga&lt;br /&gt;
** SMG-d: AKSU, MP5A3, UZI, MAC10, TEC9&lt;br /&gt;
** Automaadid/kuulipildujad: RPD?&lt;br /&gt;
** Pumppüssid: M870&lt;br /&gt;
* HUD: elude kuvaja, laskemoona kuvaja eraldajaga, laskemoona eri tüüpide pildid koos tekstiga, valida välja sobiv spritefont&lt;br /&gt;
* Leveli objektid ja taustad (parallax!)&lt;br /&gt;
* Välja mõelda mängu värviskeem (pakun välja, et teeks kõik asjad hallides toonides va veri, muzzle flash, kuulivest, burger jmt tähtsamad detailid)&lt;br /&gt;
&lt;br /&gt;
=== Heli ===&lt;br /&gt;
* Helid relvade ja tegelase jaoks&lt;br /&gt;
* Taustahelid&lt;br /&gt;
* Helide valjusus paika sättida (baseline vajalik)&lt;br /&gt;
* Helid parajaks lõigata (et alguses-lõpus poleks üleliigset tühja osa)&lt;br /&gt;
* Helide faililaiendid ja bitrated/tüübid&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
==== Millal, mida ja kes tegi? ====&lt;br /&gt;
*&#039;&#039;&#039;Pärast ülesande väljakuulutamist &#039;&#039;&#039;&lt;br /&gt;
**Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
**Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;28.10.2012&#039;&#039;&#039;&lt;br /&gt;
** Meeskonna nime väljamõtlemine&lt;br /&gt;
** Wiki lehe loomine&lt;br /&gt;
** Mängu idee/vormi/teostuse põhjalikum kaalutlus&lt;br /&gt;
** Algeline tööjaotuse jagamine&lt;br /&gt;
** Co-Op programmivalikuga tutvumine ja sobivaima valimine&lt;br /&gt;
** Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
** Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;04.11.2012&#039;&#039;&#039;&lt;br /&gt;
** Koostasime tiimiga analüüsi kasutades abivahenditena Google Docsi ja Skype&#039;i. &#039;&#039;&#039;Algülesande kirjeldus:&#039;&#039;&#039; Analüüs (6p). Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka: Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja. Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have) Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)&lt;br /&gt;
** Karl vormistas meeskonna Void wiki lehe pisut ümber ehk mergesin varasema kraami analüüsi osadega, et ei oleks topelt samu asju.&lt;br /&gt;
*&#039;&#039;&#039;05.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi esimene grupitöö vormis harjutamine.&lt;br /&gt;
**Seadsime üles ja saime tööle kõigi XNA arendusvahendid ja repository, testisime koodis piltide lisamist-liigutamist.&lt;br /&gt;
**Karl alustas mängu graafikaga (AKSU).&lt;br /&gt;
*&#039;&#039;&#039;06.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi (va Reelika, kes tegeles samal ajal Roboklubi asjadega) teine grupitöö vormis harjutamine.&lt;br /&gt;
**Väikesed graafikatestid, tutorialid.&lt;br /&gt;
*&#039;&#039;&#039;07.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Karl koodis valmis väikese pallimängu (õppimise eesmärgil), kus pall kaotab jooksvalt kiirust (kuni jääb seisma) ning põrkab seintest diagonaalis ära. Pall on kontrollitav nuppudega. Karl jätkas mängu graafikat pisut.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Paar näidet:&amp;quot; widths=&amp;quot;300px&amp;quot; heigths=&amp;quot;50px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
File:TT_demoLR.png|Püstol TT (Salvega)&lt;br /&gt;
File:AKSU_demoLR.png|Automaat AKS74U (Salveta, parempoolne külg)&lt;br /&gt;
File:AKSU_demoRL.png|Automaat AKS74U (Salveta, vasakpoolne külg)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Robert koodis collision&#039;i ja gravitatsiooni, koos tegelase liikumisega. Töötab lahenduse kallal, mis võimaldaks tervet suurt level&#039;it scrollida.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Valmis analüüsi retsensioon. &lt;br /&gt;
&lt;br /&gt;
==== 25.11.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüüp(10p). Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
==== 02.12.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüübi retsensioon (5p)&lt;br /&gt;
&lt;br /&gt;
==== 9.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoode (20p). Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
==== 16.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoote retsensioon (5p).&lt;br /&gt;
&lt;br /&gt;
==== Pärast lõpptoote valmimist ====&lt;br /&gt;
Esitlus/Kaitsmine. Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
Meie projekti kaitsmise aeg: ..........&lt;br /&gt;
&lt;br /&gt;
= Analüüs =&lt;br /&gt;
== Mäng “Tallinn pimeduses” ehk karmid 90ndad Eestis ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mida meie mäng endas sisaldab? ===&lt;br /&gt;
&lt;br /&gt;
==== Tegelane - Kes ta on? ====&lt;br /&gt;
Jüri on üks austatumaid politseiametnikke äsja iseseisvunud Eesti Vabariigis, tema tööülesanneteks on kuritegelikesse organisatsioonidesse sisseimbumine ja nende paljastamine. Oma tööga on ta teeninud mitmete väga mõjuvõimsate kurjategijate viha. Ühel päeval töölt koju naastes avastab ta, et tema kallim on külmavereliselt mõrvatud. Nüüdsest on Jüri elu muutunud igaveseks. Tema töö on ühtlasi ka tema kättemaks ning tema viisid kurjategijate ja mafioosodega toimetulemiseks on üha rohkem halastamatud.&lt;br /&gt;
&lt;br /&gt;
==== Sisuanalüüs ja stoori kirjeldus - Kus peategelane on, mida teeb? ====&lt;br /&gt;
Tegevus toimib 90ndatel Tallinnas, ajal mil lokkas kuritegevus.&lt;br /&gt;
&lt;br /&gt;
==== Mis on tema eesmärk? ====&lt;br /&gt;
Jüri eesmärk on kurjategijad peatada, talle on lubatud kasutada mistahes võtteid, et oma eesmärk saavutada ning seda ta kasutab usinasti.&lt;br /&gt;
&lt;br /&gt;
==== Kuidas ta probleemidest jagu saab? ====&lt;br /&gt;
Jüri on lühikese jutu mees ning ta üldiselt ei halasta kellegile. Enamik teda kohanud kurikaelad lõpetavad kas haiglas või mulla all.&lt;br /&gt;
Jüril on kasutada kurjategijatega võitlemiseks palju erinevaid relvi alustades tema enda rusikatest (ja kasteetidest) ning lõpetades nõukogude sõjaväe arsenaliga nagu näiteks püstol Makarov ja lahingautomaat AKS74U.&lt;br /&gt;
&lt;br /&gt;
=== 2. Kelle jaoks me seda teeme? Kes mängima hakkavad? ===&lt;br /&gt;
==== Mängu üldinfo ja eesmärk ====&lt;br /&gt;
Mängu sisu on kaasahaarav ja huvitav ning pakub närvikõdi ja palju mõttetööd misläbi saame pakkuda mängijale head ajaviidet ja meelelahutust. Nooremaid mängijaid paelub huvitav sündmuste käik ja uudishimu kuidas 90ndate Tallinnas käis kriminaalne elu. Vanematele mängijatele saame pakkuda äratundmisrõõmu ja võimalik, et tuttavaid situatsioone, mis aitavad kaasa lahenduste leidmisel.&lt;br /&gt;
Üldjoontes on mäng lihtne, kergesti mõistetav ja võimalusterohke muutes teie mänguelamuse lõbusaks. Pärast mängu lõpetamist soovite juba järgmist osa sellest seeriast mängida.&lt;br /&gt;
&lt;br /&gt;
=== 3. Mis on tavakasutaja võimalused mängus? ===&lt;br /&gt;
Tavakasutajate võimalus on nautida meie suurepärast mängu, lahendada erinevaid ülesandeid ja tulistada virtuaalsete kurjategijate pihta. Kasutaja saab täiendada tegelast erinevate relvadega. Lisaks saab Jüri endale kaitseks kuuliveste ja lisapadruneid, mis aitavad kasutajal kurjategijad hõlpsamini alistada.&lt;br /&gt;
Kasutaja peab limiteeritud resurssidega otsustama, kas mõistlikum oleks osta laskemoona või kuuliveste, samas võib kuulivest Jüri liikumiskiirust vähendada. Kasutaja peab olema loov ja kasutama oma kiiret taipu, et lahendada probleeme või situatsioone kuhu Jüri on sattunud. Oleme jätnud palju lahtisi niidiotsi millega anname kasutajale valikuvõimaluse, kuidas ta Jüri antud olukorrast välja päästab.&lt;br /&gt;
&lt;br /&gt;
=== 4. Mis osad võivad meile suuri raskusi valmistada? ===&lt;br /&gt;
Füüsika pookimine mängu, animatsioonide teostamine kõige lihtsamal-loogilisemal kujul (nt spritede asemel objektide liigutamine ja omavaheline sidumine).&lt;br /&gt;
&lt;br /&gt;
=== 5. Tööjaotus ===&lt;br /&gt;
&lt;br /&gt;
* Karl Kadalipp - projektijuht &amp;amp; wikihaldur, graafiline disain (relvad, mänguobjektid, teiste tööde parandamine-kontrollimine-juhendamine), helitöötlus (mängu otsitud helide tweakimine ja modimine, et oleksid õiges formaadis ja täpselt õigel kujul oma sisu poolest), kood...&lt;br /&gt;
* Ats Rand - kood, algeline graafika (et saaks edasi seda tuunida, aga suurus oleks paigas ning koodi testimisel mängus näha),...&lt;br /&gt;
* Reelika Lõhmus - mängumenüüde programmeerimine ning kujundus. Poesüsteem,...&lt;br /&gt;
* Robert Pärn - algse mängumootori loomine. Algne füüsika, renderdamisloogika,...&lt;br /&gt;
&lt;br /&gt;
== MÄNGULOOGIKA ==&lt;br /&gt;
(&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid&#039;&#039;&#039;)&lt;br /&gt;
=== 6. MUST HAVE funktsioonid mängus ===&lt;br /&gt;
&lt;br /&gt;
* Funktsioneeriv level, mis koosneb eri layeritest (ja ruumilisuse lisamiseks liiguvad nad eri kiirusega, kui see on koodis teostatav). Layerid asuvad eri kõrgusel ja omavad eri tüüpe - näiteks üks layer on ainult selleks, et ära määrata need piirkonnad, kust tegelane ei saa läbi kukkuda ja läbi liikuda.&lt;br /&gt;
* 5+ eri levelit. (Esimene neist peaks olema lihtsam ehk n-ö nupuõpetamise level).&lt;br /&gt;
* Punktiarvestuse süsteem.&lt;br /&gt;
* Boonuspunktide korjamise süsteem (raha, kuld, kokaiin, relvad, stiilipunktid jne).&lt;br /&gt;
* Poesüsteem ehk boonuspunktide eest lisade ostmine (relvad, laskemoon, kuulivest, kiiver, seljakott, et saaks rohkem laskemoona kanda jne)&lt;br /&gt;
* Töötavad relvad - tulistamisel tekivad kuulid uue objektina ja kontrollime kattuvust või kaugust tabatavatest asjadest, et määrata pihtasaamine. Kuulid võiksid distantsi peale ka natuke kukkuda või laiali paiskuda/põrgata (ebatäpne relv, pumppüss).&lt;br /&gt;
* Helid (laskmisel, jooksmisel, hüppamisel)&lt;br /&gt;
* Mänguobjektide graafika (relvad, tegelased, leveli scenery) ühtlases stiilis, võimalikult lihtne-ilus, aga arusaadav&lt;br /&gt;
* HUD&lt;br /&gt;
* Klaviatuurilt juhtimise tugi, hiire kursori ja Xbox controlleriga juhtimine. Kuulid liiguvad sinna suunas kuhu kursor on sihitud.&lt;br /&gt;
* Stiilne-sujuv intro ja menüüd&lt;br /&gt;
* Füüsikaga seotud elemendid (mänguobjektid jmt)&lt;br /&gt;
* Osa mängust randomiga mixitud, et ei tekiks üksluisust mitmekordsel mängimisel ja testimisel (nt kui on üles-alla käivad seinad, mille vahelt peab läbipääsema, siis nende ajastuse saab kergelt segamini paisata, et poleks võimalik kindla hetke tagant liikuma hakata)&lt;br /&gt;
* Kursor liigub pärast igat lasku teatud arvu piksleid kaares üles vasakule (recoil)&lt;br /&gt;
* Kuulide füüsika ehk pärast kasti läbimist (pisut võimsama padruniga relva puhul) lendavad kuulid läbi, kuid pisut random suunas (nt 90 kraadi piires)&lt;br /&gt;
* Erinevad materjalid käituvad eri relva kuulide/haavlite puhul erinevalt&lt;br /&gt;
&lt;br /&gt;
=== 7. NICE TO HAVE funktsioonid, mida võib-olla ei jõua valmis ===&lt;br /&gt;
&lt;br /&gt;
* Tulistamisel randomilt laiali lendavad hülsid, mis jäävad leveli “põrandale”, kuid neid jääb üksnes limiteeritud hulk ehk vanad kaovad ära (muidu võib mängu kooma tõmmata)&lt;br /&gt;
* Kuuliaugud, mitmeks tükiks katkiminevad asjad&lt;br /&gt;
* Mängu keskel saab osta head nodi putkadest-poodidest (nt burksiputkast ostad burksi ja elupunktid lähevad täis)&lt;br /&gt;
* Levelite vahel saab osta politseijaoskonnast või mustalt turult (kalli hinnaga) huvitavat kraami&lt;br /&gt;
* Objektide liigutamine-tõstmine-lükkamine (kastid, CRT telekas, külmkapp,...)&lt;br /&gt;
* Auto/jalgratas, et kruiisida natuke tühjal, ent künklikul külavaheteel&lt;br /&gt;
* Realistlikud relvafunktsioonid - tulistamisel väike muzzle flash, kelgu või lukuraami liikumine, hülsside väljalendamine (peaaegu) random suunas, loogiline recoil (igal relval erinev - vastavalt kaliibrile), päris elu stiilis laadimine (või midagi analoogset), liigsete objektide ärakaotamine&lt;br /&gt;
* Relvade tõrkumise süsteem + tõrgete eemaldamine&lt;br /&gt;
* Vahetuv-muutuv riietus, riidekapp või menüü, kust saab tegelase välimust muuta&lt;br /&gt;
* Effektsed animatsioonid, kui vastane kuuliga pihta saab (+ ragdollide loogika)&lt;br /&gt;
* Storyline’s erinevad viisid kuidas missioon lõpetada&lt;br /&gt;
* Võimalus valida raske kuulivesti ja kerge kuulivesti vahel. Kerge kuulivest võimaldab Jüril olla kiirem ja ringi hüpata, nii saab ta tulevahetusi üldse vältida. Raske kuulivest muudab Jüri aeglaseks, kuid pakub väga head kaitset.&lt;br /&gt;
* Suurem relvavalik ja rohkem viise vastaste hävitamiseks (nt viskad püstoliga vastase uimaseks, sest teadupärast Makarovit tuntakse pigem viskerelvana)&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea story&lt;br /&gt;
* Inventory sloti süsteemiga (nt püstol võtab 1 sloti, AKSU 2 slotti, RPD 3 slotti jne, et piirata kaasaskantavate asjade arvu - panna max slottide arvuks 4)&lt;br /&gt;
* Koodis töötav fire selector&lt;br /&gt;
* Suvalise relva või maastkorjatud objekti kasutamine melee relvana (erinevad pikkused-kaugused-löögitugevused)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Retsensioon===&lt;br /&gt;
Retsenseeris: [https://wiki.itcollege.ee/index.php/Kajarist#Kajarist_retsenseerib:_meeskond_Void/ meeskond Kajarist]&lt;br /&gt;
&lt;br /&gt;
= Lingid = &lt;br /&gt;
==== Helid mängu jaoks ====&lt;br /&gt;
*[http://http://www.freesound.org/ Free Sound]&lt;br /&gt;
&lt;br /&gt;
==== Co-Op koodikirjutamine ====&lt;br /&gt;
*[http://tortoisehg.bitbucket.org/ TurtoiseHg Workbench]&lt;br /&gt;
*[https://bitbucket.org/ Bitbucket repository]&lt;br /&gt;
&lt;br /&gt;
==== Youtube videod eeskujuks ====&lt;br /&gt;
*[http://www.youtube.com/watch?v=vdlYar_FWU0&amp;amp;feature=relmfu Physics Engine Demo]&lt;br /&gt;
&lt;br /&gt;
==== Muu nodi ====&lt;br /&gt;
*[http://xboxforums.create.msdn.com/forums/ XNA foorumid]&lt;br /&gt;
*[http://www.xnadevelopment.com/tutorials.shtml XNA Development Tutorialid]&lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/bb200104.aspx MSDN XNA Game Studio 4.0]&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56826</id>
		<title>Void</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Void&amp;diff=56826"/>
		<updated>2012-11-11T21:17:48Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Programmeerimine CSharp keeles]]&lt;br /&gt;
= Meeskond Void =&lt;br /&gt;
* Karl Kadalipp&lt;br /&gt;
* Ats Rand&lt;br /&gt;
* Reelika Lõhmus&lt;br /&gt;
* Robert Pärn&lt;br /&gt;
&lt;br /&gt;
== Tutvustavad pildid-videod mängust ==&lt;br /&gt;
Hetkel puuduvad.&lt;br /&gt;
&lt;br /&gt;
== TO DO ==&lt;br /&gt;
=== Kood ===&lt;br /&gt;
* Leveli tekitamine korrekselt&lt;br /&gt;
* Viewporti liikumine sihikuga kaasa&lt;br /&gt;
* Tegelase liigutamine ja tegelase funktsioonid&lt;br /&gt;
* HUD (spritefonti ja kõige muu todedaga)&lt;br /&gt;
* Relva laskmisfunktsioon, kuulide overlap/läbiminemise kontrollimine&lt;br /&gt;
* Relva laadimisfunktsioon, hülsside random väljalendamine&lt;br /&gt;
&lt;br /&gt;
=== Füüsika ===&lt;br /&gt;
* Gravitatsioon&lt;br /&gt;
* Objektide füüsika (kallutamine, tõstmine-kukkumine-veeremine)&lt;br /&gt;
* Objektide raskus ja nendega arvestamine või esialgu eventidega selle teostamine (laste mänguväljaku kiigu näide)&lt;br /&gt;
* Objektide katkiminemine ja mahalangemine (tükkidel)&lt;br /&gt;
&lt;br /&gt;
=== Graafika ===&lt;br /&gt;
* Relvad:&lt;br /&gt;
** Melee: rusikad, nuga, kasteet, pesapallikurikas&lt;br /&gt;
** Püstolid: TT, Makarov, 1911, M9, vintage revolver võimsa kaliibriga&lt;br /&gt;
** SMG-d: AKSU, MP5A3, UZI, MAC10, TEC9&lt;br /&gt;
** Automaadid/kuulipildujad: RPD?&lt;br /&gt;
** Pumppüssid: M870&lt;br /&gt;
* HUD: elude kuvaja, laskemoona kuvaja eraldajaga, laskemoona eri tüüpide pildid koos tekstiga, valida välja sobiv spritefont&lt;br /&gt;
* Leveli objektid ja taustad (parallax!)&lt;br /&gt;
* Välja mõelda mängu värviskeem (pakun välja, et teeks kõik asjad hallides toonides va veri, muzzle flash, kuulivest, burger jmt tähtsamad detailid)&lt;br /&gt;
&lt;br /&gt;
=== Heli ===&lt;br /&gt;
* Helid relvade ja tegelase jaoks&lt;br /&gt;
* Taustahelid&lt;br /&gt;
* Helide valjusus paika sättida (baseline vajalik)&lt;br /&gt;
* Helid parajaks lõigata (et alguses-lõpus poleks üleliigset tühja osa)&lt;br /&gt;
* Helide faililaiendid ja bitrated/tüübid&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
==== Millal, mida ja kes tegi? ====&lt;br /&gt;
*&#039;&#039;&#039;Pärast ülesande väljakuulutamist &#039;&#039;&#039;&lt;br /&gt;
**Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
**Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;28.10.2012&#039;&#039;&#039;&lt;br /&gt;
** Meeskonna nime väljamõtlemine&lt;br /&gt;
** Wiki lehe loomine&lt;br /&gt;
** Mängu idee/vormi/teostuse põhjalikum kaalutlus&lt;br /&gt;
** Algeline tööjaotuse jagamine&lt;br /&gt;
** Co-Op programmivalikuga tutvumine ja sobivaima valimine&lt;br /&gt;
** Meeskonna kokkupanek ja kontaktide vahetamine&lt;br /&gt;
** Skype grupichati loomine&lt;br /&gt;
*&#039;&#039;&#039;04.11.2012&#039;&#039;&#039;&lt;br /&gt;
** Koostasime tiimiga analüüsi kasutades abivahenditena Google Docsi ja Skype&#039;i. &#039;&#039;&#039;Algülesande kirjeldus:&#039;&#039;&#039; Analüüs (6p). Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka: Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja. Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have) Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)&lt;br /&gt;
** Karl vormistas meeskonna Void wiki lehe pisut ümber ehk mergesin varasema kraami analüüsi osadega, et ei oleks topelt samu asju.&lt;br /&gt;
*&#039;&#039;&#039;05.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi esimene grupitöö vormis harjutamine.&lt;br /&gt;
**Seadsime üles ja saime tööle kõigi XNA arendusvahendid ja repository, testisime koodis piltide lisamist-liigutamist.&lt;br /&gt;
**Karl alustas mängu graafikaga (AKSU).&lt;br /&gt;
*&#039;&#039;&#039;06.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Tiimi (va Reelika, kes tegeles samal ajal Roboklubi asjadega) teine grupitöö vormis harjutamine.&lt;br /&gt;
**Väikesed graafikatestid, tutorialid.&lt;br /&gt;
*&#039;&#039;&#039;07.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Karl koodis valmis väikese pallimängu (õppimise eesmärgil), kus pall kaotab jooksvalt kiirust (kuni jääb seisma) ning põrkab seintest diagonaalis ära. Pall on kontrollitav nuppudega. Karl jätkas mängu graafikat pisut.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Paar näidet:&amp;quot; widths=&amp;quot;300px&amp;quot; heigths=&amp;quot;50px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
File:TT_demoLR.png|Püstol TT (Salvega)&lt;br /&gt;
File:AKSU_demoLR.png|Automaat AKS74U (Salveta, parempoolne külg)&lt;br /&gt;
File:AKSU_demoRL.png|Automaat AKS74U (Salveta, vasakpoolne külg)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;09.11.2012&#039;&#039;&#039;&lt;br /&gt;
**Robert koodis collision&#039;i ja gravitatsiooni, koos tegelase liikumisega. Töötab lahenduse kallal, mis võimaldaks tervet suurt level&#039;it scrollida.&lt;br /&gt;
&lt;br /&gt;
==== 11.11.2012 (Hiljemalt) ====&lt;br /&gt;
Analüüsi retsensioon (3p)&lt;br /&gt;
&lt;br /&gt;
==== 25.11.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüüp(10p). Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
==== 02.12.2012 (Hiljemalt) ====&lt;br /&gt;
Prototüübi retsensioon (5p)&lt;br /&gt;
&lt;br /&gt;
==== 9.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoode (20p). Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
==== 16.12.2012 (Hiljemalt) ====&lt;br /&gt;
Lõpptoote retsensioon (5p).&lt;br /&gt;
&lt;br /&gt;
==== Pärast lõpptoote valmimist ====&lt;br /&gt;
Esitlus/Kaitsmine. Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
Meie projekti kaitsmise aeg: ..........&lt;br /&gt;
&lt;br /&gt;
= Analüüs =&lt;br /&gt;
== Mäng “Tallinn pimeduses” ehk karmid 90ndad Eestis ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mida meie mäng endas sisaldab? ===&lt;br /&gt;
&lt;br /&gt;
==== Tegelane - Kes ta on? ====&lt;br /&gt;
Jüri on üks austatumaid politseiametnikke äsja iseseisvunud Eesti Vabariigis, tema tööülesanneteks on kuritegelikesse organisatsioonidesse sisseimbumine ja nende paljastamine. Oma tööga on ta teeninud mitmete väga mõjuvõimsate kurjategijate viha. Ühel päeval töölt koju naastes avastab ta, et tema kallim on külmavereliselt mõrvatud. Nüüdsest on Jüri elu muutunud igaveseks. Tema töö on ühtlasi ka tema kättemaks ning tema viisid kurjategijate ja mafioosodega toimetulemiseks on üha rohkem halastamatud.&lt;br /&gt;
&lt;br /&gt;
==== Sisuanalüüs ja stoori kirjeldus - Kus peategelane on, mida teeb? ====&lt;br /&gt;
Tegevus toimib 90ndatel Tallinnas, ajal mil lokkas kuritegevus.&lt;br /&gt;
&lt;br /&gt;
==== Mis on tema eesmärk? ====&lt;br /&gt;
Jüri eesmärk on kurjategijad peatada, talle on lubatud kasutada mistahes võtteid, et oma eesmärk saavutada ning seda ta kasutab usinasti.&lt;br /&gt;
&lt;br /&gt;
==== Kuidas ta probleemidest jagu saab? ====&lt;br /&gt;
Jüri on lühikese jutu mees ning ta üldiselt ei halasta kellegile. Enamik teda kohanud kurikaelad lõpetavad kas haiglas või mulla all.&lt;br /&gt;
Jüril on kasutada kurjategijatega võitlemiseks palju erinevaid relvi alustades tema enda rusikatest (ja kasteetidest) ning lõpetades nõukogude sõjaväe arsenaliga nagu näiteks püstol Makarov ja lahingautomaat AKS74U.&lt;br /&gt;
&lt;br /&gt;
=== 2. Kelle jaoks me seda teeme? Kes mängima hakkavad? ===&lt;br /&gt;
==== Mängu üldinfo ja eesmärk ====&lt;br /&gt;
Mängu sisu on kaasahaarav ja huvitav ning pakub närvikõdi ja palju mõttetööd misläbi saame pakkuda mängijale head ajaviidet ja meelelahutust. Nooremaid mängijaid paelub huvitav sündmuste käik ja uudishimu kuidas 90ndate Tallinnas käis kriminaalne elu. Vanematele mängijatele saame pakkuda äratundmisrõõmu ja võimalik, et tuttavaid situatsioone, mis aitavad kaasa lahenduste leidmisel.&lt;br /&gt;
Üldjoontes on mäng lihtne, kergesti mõistetav ja võimalusterohke muutes teie mänguelamuse lõbusaks. Pärast mängu lõpetamist soovite juba järgmist osa sellest seeriast mängida.&lt;br /&gt;
&lt;br /&gt;
=== 3. Mis on tavakasutaja võimalused mängus? ===&lt;br /&gt;
Tavakasutajate võimalus on nautida meie suurepärast mängu, lahendada erinevaid ülesandeid ja tulistada virtuaalsete kurjategijate pihta. Kasutaja saab täiendada tegelast erinevate relvadega. Lisaks saab Jüri endale kaitseks kuuliveste ja lisapadruneid, mis aitavad kasutajal kurjategijad hõlpsamini alistada.&lt;br /&gt;
Kasutaja peab limiteeritud resurssidega otsustama, kas mõistlikum oleks osta laskemoona või kuuliveste, samas võib kuulivest Jüri liikumiskiirust vähendada. Kasutaja peab olema loov ja kasutama oma kiiret taipu, et lahendada probleeme või situatsioone kuhu Jüri on sattunud. Oleme jätnud palju lahtisi niidiotsi millega anname kasutajale valikuvõimaluse, kuidas ta Jüri antud olukorrast välja päästab.&lt;br /&gt;
&lt;br /&gt;
=== 4. Mis osad võivad meile suuri raskusi valmistada? ===&lt;br /&gt;
Füüsika pookimine mängu, animatsioonide teostamine kõige lihtsamal-loogilisemal kujul (nt spritede asemel objektide liigutamine ja omavaheline sidumine).&lt;br /&gt;
&lt;br /&gt;
=== 5. Tööjaotus ===&lt;br /&gt;
&lt;br /&gt;
* Karl Kadalipp - projektijuht &amp;amp; wikihaldur, graafiline disain (relvad, mänguobjektid, teiste tööde parandamine-kontrollimine-juhendamine), helitöötlus (mängu otsitud helide tweakimine ja modimine, et oleksid õiges formaadis ja täpselt õigel kujul oma sisu poolest), kood...&lt;br /&gt;
* Ats Rand - kood, algeline graafika (et saaks edasi seda tuunida, aga suurus oleks paigas ning koodi testimisel mängus näha),...&lt;br /&gt;
* Reelika Lõhmus - mängumenüüde programmeerimine ning kujundus. Poesüsteem,...&lt;br /&gt;
* Robert Pärn - algse mängumootori loomine. Algne füüsika, renderdamisloogika,...&lt;br /&gt;
&lt;br /&gt;
== MÄNGULOOGIKA ==&lt;br /&gt;
(&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid&#039;&#039;&#039;)&lt;br /&gt;
=== 6. MUST HAVE funktsioonid mängus ===&lt;br /&gt;
&lt;br /&gt;
* Funktsioneeriv level, mis koosneb eri layeritest (ja ruumilisuse lisamiseks liiguvad nad eri kiirusega, kui see on koodis teostatav). Layerid asuvad eri kõrgusel ja omavad eri tüüpe - näiteks üks layer on ainult selleks, et ära määrata need piirkonnad, kust tegelane ei saa läbi kukkuda ja läbi liikuda.&lt;br /&gt;
* 5+ eri levelit. (Esimene neist peaks olema lihtsam ehk n-ö nupuõpetamise level).&lt;br /&gt;
* Punktiarvestuse süsteem.&lt;br /&gt;
* Boonuspunktide korjamise süsteem (raha, kuld, kokaiin, relvad, stiilipunktid jne).&lt;br /&gt;
* Poesüsteem ehk boonuspunktide eest lisade ostmine (relvad, laskemoon, kuulivest, kiiver, seljakott, et saaks rohkem laskemoona kanda jne)&lt;br /&gt;
* Töötavad relvad - tulistamisel tekivad kuulid uue objektina ja kontrollime kattuvust või kaugust tabatavatest asjadest, et määrata pihtasaamine. Kuulid võiksid distantsi peale ka natuke kukkuda või laiali paiskuda/põrgata (ebatäpne relv, pumppüss).&lt;br /&gt;
* Helid (laskmisel, jooksmisel, hüppamisel)&lt;br /&gt;
* Mänguobjektide graafika (relvad, tegelased, leveli scenery) ühtlases stiilis, võimalikult lihtne-ilus, aga arusaadav&lt;br /&gt;
* HUD&lt;br /&gt;
* Klaviatuurilt juhtimise tugi, hiire kursori ja Xbox controlleriga juhtimine. Kuulid liiguvad sinna suunas kuhu kursor on sihitud.&lt;br /&gt;
* Stiilne-sujuv intro ja menüüd&lt;br /&gt;
* Füüsikaga seotud elemendid (mänguobjektid jmt)&lt;br /&gt;
* Osa mängust randomiga mixitud, et ei tekiks üksluisust mitmekordsel mängimisel ja testimisel (nt kui on üles-alla käivad seinad, mille vahelt peab läbipääsema, siis nende ajastuse saab kergelt segamini paisata, et poleks võimalik kindla hetke tagant liikuma hakata)&lt;br /&gt;
* Kursor liigub pärast igat lasku teatud arvu piksleid kaares üles vasakule (recoil)&lt;br /&gt;
* Kuulide füüsika ehk pärast kasti läbimist (pisut võimsama padruniga relva puhul) lendavad kuulid läbi, kuid pisut random suunas (nt 90 kraadi piires)&lt;br /&gt;
* Erinevad materjalid käituvad eri relva kuulide/haavlite puhul erinevalt&lt;br /&gt;
&lt;br /&gt;
=== 7. NICE TO HAVE funktsioonid, mida võib-olla ei jõua valmis ===&lt;br /&gt;
&lt;br /&gt;
* Tulistamisel randomilt laiali lendavad hülsid, mis jäävad leveli “põrandale”, kuid neid jääb üksnes limiteeritud hulk ehk vanad kaovad ära (muidu võib mängu kooma tõmmata)&lt;br /&gt;
* Kuuliaugud, mitmeks tükiks katkiminevad asjad&lt;br /&gt;
* Mängu keskel saab osta head nodi putkadest-poodidest (nt burksiputkast ostad burksi ja elupunktid lähevad täis)&lt;br /&gt;
* Levelite vahel saab osta politseijaoskonnast või mustalt turult (kalli hinnaga) huvitavat kraami&lt;br /&gt;
* Objektide liigutamine-tõstmine-lükkamine (kastid, CRT telekas, külmkapp,...)&lt;br /&gt;
* Auto/jalgratas, et kruiisida natuke tühjal, ent künklikul külavaheteel&lt;br /&gt;
* Realistlikud relvafunktsioonid - tulistamisel väike muzzle flash, kelgu või lukuraami liikumine, hülsside väljalendamine (peaaegu) random suunas, loogiline recoil (igal relval erinev - vastavalt kaliibrile), päris elu stiilis laadimine (või midagi analoogset), liigsete objektide ärakaotamine&lt;br /&gt;
* Relvade tõrkumise süsteem + tõrgete eemaldamine&lt;br /&gt;
* Vahetuv-muutuv riietus, riidekapp või menüü, kust saab tegelase välimust muuta&lt;br /&gt;
* Effektsed animatsioonid, kui vastane kuuliga pihta saab (+ ragdollide loogika)&lt;br /&gt;
* Storyline’s erinevad viisid kuidas missioon lõpetada&lt;br /&gt;
* Võimalus valida raske kuulivesti ja kerge kuulivesti vahel. Kerge kuulivest võimaldab Jüril olla kiirem ja ringi hüpata, nii saab ta tulevahetusi üldse vältida. Raske kuulivest muudab Jüri aeglaseks, kuid pakub väga head kaitset.&lt;br /&gt;
* Suurem relvavalik ja rohkem viise vastaste hävitamiseks (nt viskad püstoliga vastase uimaseks, sest teadupärast Makarovit tuntakse pigem viskerelvana)&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea story&lt;br /&gt;
* Inventory sloti süsteemiga (nt püstol võtab 1 sloti, AKSU 2 slotti, RPD 3 slotti jne, et piirata kaasaskantavate asjade arvu - panna max slottide arvuks 4)&lt;br /&gt;
* Koodis töötav fire selector&lt;br /&gt;
* Suvalise relva või maastkorjatud objekti kasutamine melee relvana (erinevad pikkused-kaugused-löögitugevused)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Retsensioon===&lt;br /&gt;
Retsenseeris: [https://wiki.itcollege.ee/index.php/Kajarist#Kajarist_retsenseerib:_meeskond_Void/ meeskond Kajarist]&lt;br /&gt;
&lt;br /&gt;
= Lingid = &lt;br /&gt;
==== Helid mängu jaoks ====&lt;br /&gt;
*[http://http://www.freesound.org/ Free Sound]&lt;br /&gt;
&lt;br /&gt;
==== Co-Op koodikirjutamine ====&lt;br /&gt;
*[http://tortoisehg.bitbucket.org/ TurtoiseHg Workbench]&lt;br /&gt;
*[https://bitbucket.org/ Bitbucket repository]&lt;br /&gt;
&lt;br /&gt;
==== Youtube videod eeskujuks ====&lt;br /&gt;
*[http://www.youtube.com/watch?v=vdlYar_FWU0&amp;amp;feature=relmfu Physics Engine Demo]&lt;br /&gt;
&lt;br /&gt;
==== Muu nodi ====&lt;br /&gt;
*[http://xboxforums.create.msdn.com/forums/ XNA foorumid]&lt;br /&gt;
*[http://www.xnadevelopment.com/tutorials.shtml XNA Development Tutorialid]&lt;br /&gt;
*[http://msdn.microsoft.com/en-us/library/bb200104.aspx MSDN XNA Game Studio 4.0]&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56816</id>
		<title>Talk:Meeskond Default Name</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56816"/>
		<updated>2012-11-11T20:41:04Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Analüüsi retsensioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Retsensioon 1 =&lt;br /&gt;
 &lt;br /&gt;
Retsenseerib meeskond &#039;&#039;Void&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Analüüsi retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Autori eesmärk on luua mäng &#039;&#039;Windows Phone&#039;&#039; operatsioonisüsteemile. Mäng ise on ‘&#039;&#039;Tower Defence&#039;&#039;’ (edaspidi TD) tüüpi, mis on tänapäeva videomängunduses väga populaarne, kuna nõuab kasutajalt pigem kiiret taipu ja strateegilise mõtlemise võimet, kui kiiret reaktsiooni.&lt;br /&gt;
&lt;br /&gt;
Kirjeldus vastab projekti sisule, töö eesmärk on selgelt sõnastatud ja annab kiire ülevaate projektist. Kirjeldusest ei ole aga täpselt aru saada, millisele &#039;&#039;Windows Phone&#039;&#039;’i versioonile mängu arendatakse.&lt;br /&gt;
&lt;br /&gt;
Projekti analüüsi osa seletab lahti mängu olemust. Üldiselt vastab analüüs üsna tüüpilisele TD tüüpi mängule. Positiivne on see, et mängu sisu on suuremas pildis hästi lahti seletatud, ent detailide kirjeldamiseks pole tehtud piisavalt eeltööd. Lisaks peab mainima, et analüüs on täis vigaseid lauseid. Kirjavigu on palju ning liigselt esineb ingliskeelseid sõnu ja väljendeid, mille asemel oleks võinud kasutada ilusat eesti keelt. See kõik teeb analüüsi lugemise üsna ebameeldivaks. Aeg-ajalt esineb ka poolikuid või arusaamatuid mõttekäike või lauseid. Lisaks jäi tunne, et eeskujuks võetud mängu loogikast pole tiim päris hästi aru saanud, sest osad funktsioonid ja elemendid on vigaselt kirjeldatud või üleüldse välja jäetud. Näiteks kollide ‘sündimise’ (tekkimise) loogika (tugevus vs hulk ja kollide tüübid). Puudu on ka kollide ja tornide eristamine nende liikumis- või tulistamismeetodi järgi (maa/õhk) ja lõksud (võiks vähemalt &#039;&#039;Nice to Have&#039;&#039; nimekirjas olemas olla).&lt;br /&gt;
&lt;br /&gt;
Nagu projekti analüüsist selgus, siis on autorid ka ise aru saanud, et tegemist ei ole lihtsa projektiga ning on välja toonud vägagi tõenäoliselt tekkida võivad probleemid. Ühest küljest on tore, et autorid endale antud probleeme teadvustavad, kuid tekib küsimus, et milleks üldse võtta ette nii mahukas projekt, kui on vähetõenäoline, et nad selle (õigeks ajaks) lõpule jõuavad viia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nice to have &#039;&#039;nimekirjas on välja toodud põnevaid eesmärke, nende edukas täitmine populariseeriks kindlasti TD tüüpi mänge mobiilimängude maailmas. Kuid on ka asju, mida realistlikult mõeldes ei jõua allesoleva aja ja võimaluste juures valmis teha (nt online highscore võrdlemise süsteem). Kuigi &#039;&#039;Nice to have &#039;&#039;nimekirjas välja käidud ideed on põnevad, ei tooda siiski välja midagi, mis oleks ainulaadne ehk tegelikult on kõik nende väljapakutu juba varem teostatud ja sisuliselt on nende analüüsi näol tegemist üsna levinud &#039;&#039;flash&#039;&#039; TD mängu ümberjutustamisega, mille kuvatõmmis on lisatud ka wiki artiklisse. Seega lühidalt öeldes ei ole tegu just kõige originaalsema ideega.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56815</id>
		<title>Talk:Meeskond Default Name</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56815"/>
		<updated>2012-11-11T20:40:08Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Analüüsi retsensioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Retsensioon 1 =&lt;br /&gt;
 &lt;br /&gt;
Retsenseerib meeskond &#039;&#039;Void&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Analüüsi retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Autori eesmärk on luua mäng &#039;&#039;Windows Phone&#039;&#039; operatsioonisüsteemile. Mäng ise on ‘&#039;&#039;Tower Defence&#039;&#039;’ (edaspidi TD) tüüpi, mis on tänapäeva videomängunduses väga populaarne, kuna nõuab kasutajalt pigem kiiret taipu ja strateegilise mõtlemise võimet, kui kiiret reaktsiooni.&lt;br /&gt;
&lt;br /&gt;
Kirjeldus vastab projekti sisule, töö eesmärk on selgelt sõnastatud ja annab kiire ülevaate projektist. Kirjeldusest ei ole aga täpselt aru saada, millisele &#039;&#039;Windows Phone&#039;&#039;’i versioonile mängu arendatakse.&lt;br /&gt;
&lt;br /&gt;
Projekti analüüsi osa seletab lahti mängu olemust. Üldiselt vastab analüüs üsna tüüpilisele TD tüüpi mängule. Positiivne on see, et mängu sisu on suuremas pildis hästi lahti seletatud, ent detailide kirjeldamiseks pole tehtud piisavalt eeltööd. Lisaks peab mainima, et analüüs on täis vigaseid lauseid. Kirjavigu on palju ning liigselt esineb ingliskeelseid sõnu ja väljendeid, mille asemel oleks võinud kasutada ilusat eesti keelt. See kõik teeb analüüsi lugemise üsna ebameeldivaks. Aeg-ajalt esineb ka poolikuid või arusaamatuid mõttekäike või lauseid. Lisaks jäi tunne, et eeskujuks võetud mängu loogikast pole tiim päris hästi aru saanud, sest osad funktsioonid ja elemendid on vigaselt kirjeldatud või üleüldse välja jäetud. Näiteks kollide ‘sündimise’ (tekkimise) loogika (tugevus vs hulk ja kollide tüübid). Puudu on ka kollide ja tornide eristamine nende liikumis- või tulistamismeetodi järgi (maa/õhk) ja lõksud (võiks vähemalt &#039;&#039;Nice to Have&#039;&#039; nimekirjas olemas olla).&lt;br /&gt;
&lt;br /&gt;
Nagu projekti analüüsist selgus, siis on autorid ka ise aru saanud, et tegemist ei ole lihtsa projektiga ning on välja toonud vägagi tõenäoliselt tekkida võivad probleemid. Ühest küljest on tore, et autorid endale antud probleeme teadvustavad, kuid tekib küsimus, et milleks üldse võtta ette nii mahukas projekt, kui on vähetõenäoline, et nad selle (õigeks ajaks) lõpule jõuavad viia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nice to have &#039;&#039;nimekirjas on välja toodud põnevaid eesmärke, nende edukas täitmine populariseeriks kindlasti TD tüüpi mänge mobiilimängude maailmas. Kuid on ka asju, mida realistlikult mõeldes ei jõua allesoleva aja ja võimaluste juures valmis teha (nt online highscore võrdlemise süsteem). Kuigi Nice to have nimekirjas välja käidud ideed on põnevad, ei tooda siiski välja midagi, mis oleks ainulaadne ehk tegelikult on kõik nende väljapakutu juba varem teostatud ja sisuliselt on nende analüüsi näol tegemist üsna levinud &#039;&#039;flash&#039;&#039; TD mängu ümberjutustamisega, mille kuvatõmmis on lisatud ka wiki artiklisse. Seega lühidalt öeldes ei ole tegu just kõige originaalsema ideega.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56813</id>
		<title>Talk:Meeskond Default Name</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Default_Name&amp;diff=56813"/>
		<updated>2012-11-11T20:39:03Z</updated>

		<summary type="html">&lt;p&gt;Roparn: /* Analüüsi retsensioon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Retsensioon 1 =&lt;br /&gt;
 &lt;br /&gt;
Retsenseerib meeskond &#039;&#039;Void&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Analüüsi retsensioon ==&lt;br /&gt;
&lt;br /&gt;
Autori eesmärk on luua mäng &#039;&#039;Windows Phone&#039;&#039; operatsioonisüsteemile. Mäng ise on ‘&#039;&#039;Tower Defence&#039;&#039;’ (edaspidi TD) tüüpi, mis on tänapäeva videomängunduses väga populaarne, kuna nõuab kasutajalt pigem kiiret taipu ja strateegilise mõtlemise võimet, kui kiiret reaktsiooni.&lt;br /&gt;
&lt;br /&gt;
Kirjeldus vastab projekti sisule, töö eesmärk on selgelt sõnastatud ja annab kiire ülevaate projektist. Kirjeldusest ei ole aga täpselt aru saada, millisele &#039;&#039;Windows Phone&#039;&#039;’i versioonile mängu arendatakse.&lt;br /&gt;
&lt;br /&gt;
Projekti analüüsi osa seletab lahti mängu olemust. Üldiselt vastab analüüs üsna tüüpilisele TD tüüpi mängule. Positiivne on see, et mängu sisu on suuremas pildis hästi lahti seletatud, ent detailide kirjeldamiseks pole tehtud piisavalt eeltööd. Lisaks peab mainima, et analüüs on täis vigaseid lauseid. Kirjavigu on palju ning liigselt esineb ingliskeelseid sõnu ja väljendeid, mille asemel oleks võinud kasutada ilusat eesti keelt. See kõik teeb analüüsi lugemise üsna ebameeldivaks. Aeg-ajalt esineb ka poolikuid või arusaamatuid mõttekäike või lauseid. Lisaks jäi tunne, et eeskujuks võetud mängu loogikast pole tiim päris hästi aru saanud, sest osad funktsioonid ja elemendid on vigaselt kirjeldatud või üleüldse välja jäetud. Näiteks kollide ‘sündimise’ (tekkimise) loogika (tugevus vs hulk ja kollide tüübid). Puudu on ka kollide ja tornide eristamine nende liikumis- või tulistamismeetodi järgi (maa/õhk) ja lõksud (võiks vähemalt &#039;&#039;Nice to Have&#039;&#039; nimekirjas olemas olla).&lt;br /&gt;
Nagu projekti analüüsist selgus, siis on autorid ka ise aru saanud, et tegemist ei ole lihtsa projektiga ning on välja toonud vägagi tõenäoliselt tekkida võivad probleemid. Ühest küljest on tore, et autorid endale antud probleeme teadvustavad, kuid tekib küsimus, et milleks üldse võtta ette nii mahukas projekt, kui on vähetõenäoline, et nad selle (õigeks ajaks) lõpule jõuavad viia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nice to have &#039;&#039;nimekirjas on välja toodud põnevaid eesmärke, nende edukas täitmine populariseeriks kindlasti TD tüüpi mänge mobiilimängude maailmas. Kuid on ka asju, mida realistlikult mõeldes ei jõua allesoleva aja ja võimaluste juures valmis teha (nt online highscore võrdlemise süsteem). Kuigi Nice to have nimekirjas välja käidud ideed on põnevad, ei tooda siiski välja midagi, mis oleks ainulaadne ehk tegelikult on kõik nende väljapakutu juba varem teostatud ja sisuliselt on nende analüüsi näol tegemist üsna levinud &#039;&#039;flash&#039;&#039; TD mängu ümberjutustamisega, mille kuvatõmmis on lisatud ka wiki artiklisse. Seega lühidalt öeldes ei ole tegu just kõige originaalsema ideega.&lt;/div&gt;</summary>
		<author><name>Roparn</name></author>
	</entry>
</feed>