<?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=Mraak</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=Mraak"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Mraak"/>
	<updated>2026-05-06T14:33:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=48135</id>
		<title>PhoneBook</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=48135"/>
		<updated>2012-05-14T20:56:57Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* Veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&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;&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tulemus, kus on tähestikuliselt järjestatud tabelina nimi, aadress, lauatelefon ja mobiil:&lt;br /&gt;
Pilt tulemusest&lt;br /&gt;
http://www.upload.ee/image/2170301/tulemus.png&lt;br /&gt;
&amp;lt;pre&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Linda   Kuusk &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,Tallinn , Akadeemia tee  28 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 6359866 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 56777521 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Mart   Tamm &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti , Tartu , Põllu   6 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 7249959 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 53345699 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&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;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name =&amp;quot;contacts&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;contact&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy-of select=&amp;quot;names&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:variable name =&amp;quot;default&amp;quot; select=&amp;quot;phones/@default&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:for-each select = &amp;quot;phones/phone&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$default = @id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:copy-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:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&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;
&lt;br /&gt;
XML, kus on alles ainult nimi ja vaikimisi telefoni number:&lt;br /&gt;
&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;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenus ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;GetUserCount&#039;&#039;&#039; - Tagastab mitu kasutajat on andmebaasis.&lt;br /&gt;
*&#039;&#039;&#039;GetPersonCount&#039;&#039;&#039; - Tagastab mitu kontakti on andmebaasis kõikide kasutajate peale kokku.&lt;br /&gt;
*&#039;&#039;&#039;GetPersonCountByUser - Tagastab mitu kontakti on andmebaasis kindlal kasutajal.&lt;br /&gt;
*&#039;&#039;&#039;AddContact&#039;&#039;&#039; - Uue kontakti lisamine kasutaja külge.&lt;br /&gt;
*&#039;&#039;&#039;UpdateContact&#039;&#039;&#039; - Kontakti info uuendamine.&lt;br /&gt;
*&#039;&#039;&#039;DeleteConcact&#039;&#039;&#039; - Kontakti kustutamine.&lt;br /&gt;
*&#039;&#039;&#039;AddCompany&#039;&#039;&#039; - Uue ettevõtte kui kontakti lisamine kasutaja külge.&lt;br /&gt;
*&#039;&#039;&#039;UpdateCompany&#039;&#039;&#039; - Ettevõtte info uuendamine.&lt;br /&gt;
*&#039;&#039;&#039;DeleteCompany&#039;&#039;&#039; - Ettevõtte kustutamine.&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByFirstName&#039;&#039;&#039; - Tagastab otsitud kontakti info eesnime järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByMiddleName&#039;&#039;&#039; - Tagastab otsitud kontakti info &amp;quot;teise nime&amp;quot; järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByLastName&#039;&#039;&#039; - Tagastab otsitud kontakti info perekonna nime järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
&lt;br /&gt;
Pole tegelikult päris valmis aga lähipäevil kindlasti. Samuti tekib siia dokumentatsiooni juurde.&lt;br /&gt;
&lt;br /&gt;
Hetkel olev variant : [http://www.upload.ee/files/2345052/PhoneBookService.rar.html siin]&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. &lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=48009</id>
		<title>PhoneBook</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=48009"/>
		<updated>2012-05-10T13:53:03Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&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;&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tulemus, kus on tähestikuliselt järjestatud tabelina nimi, aadress, lauatelefon ja mobiil:&lt;br /&gt;
Pilt tulemusest&lt;br /&gt;
http://www.upload.ee/image/2170301/tulemus.png&lt;br /&gt;
&amp;lt;pre&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Linda   Kuusk &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,Tallinn , Akadeemia tee  28 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 6359866 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 56777521 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Mart   Tamm &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti , Tartu , Põllu   6 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 7249959 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 53345699 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&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;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name =&amp;quot;contacts&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;contact&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy-of select=&amp;quot;names&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:variable name =&amp;quot;default&amp;quot; select=&amp;quot;phones/@default&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:for-each select = &amp;quot;phones/phone&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$default = @id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:copy-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:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&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;
&lt;br /&gt;
XML, kus on alles ainult nimi ja vaikimisi telefoni number:&lt;br /&gt;
&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;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenus ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;GetUserCount&#039;&#039;&#039; - Tagastab mitu kasutajat on andmebaasis.&lt;br /&gt;
*&#039;&#039;&#039;GetPersonCount&#039;&#039;&#039; - Tagastab mitu kontakti on andmebaasis kõikide kasutajate peale kokku.&lt;br /&gt;
*&#039;&#039;&#039;GetPersonCountByUser - Tagastab mitu kontakti on andmebaasis kindlal kasutajal.&lt;br /&gt;
*&#039;&#039;&#039;AddContact&#039;&#039;&#039; - Uue kontakti lisamine kasutaja külge.&lt;br /&gt;
*&#039;&#039;&#039;UpdateContact&#039;&#039;&#039; - Kontakti info uuendamine.&lt;br /&gt;
*&#039;&#039;&#039;DeleteConcact&#039;&#039;&#039; - Kontakti kustutamine.&lt;br /&gt;
*&#039;&#039;&#039;AddCompany&#039;&#039;&#039; - Uue ettevõtte kui kontakti lisamine kasutaja külge.&lt;br /&gt;
*&#039;&#039;&#039;UpdateCompany&#039;&#039;&#039; - Ettevõtte info uuendamine.&lt;br /&gt;
*&#039;&#039;&#039;DeleteCompany&#039;&#039;&#039; - Ettevõtte kustutamine.&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByFirstName&#039;&#039;&#039; - Tagastab otsitud kontakti info eesnime järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByMiddleName&#039;&#039;&#039; - Tagastab otsitud kontakti info &amp;quot;teise nime&amp;quot; järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
*&#039;&#039;&#039;SearchContactByLastName&#039;&#039;&#039; - Tagastab otsitud kontakti info perekonna nime järgi. (Annab ka mitu tulemust kui on sama nimega)&lt;br /&gt;
&lt;br /&gt;
Pole tegelikult päris valmis aga lähipäevil kindlasti. Samuti tekib siia dokumentatsiooni juurde.&lt;br /&gt;
&lt;br /&gt;
Hetkel olev variant : [http://www.upload.ee/files/2328027/PhoneBookService.rar.html siin]&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. &lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=47949</id>
		<title>PhoneBook</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=47949"/>
		<updated>2012-05-08T12:41:18Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* veebiteenus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&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;&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tulemus, kus on tähestikuliselt järjestatud tabelina nimi, aadress, lauatelefon ja mobiil:&lt;br /&gt;
Pilt tulemusest&lt;br /&gt;
http://www.upload.ee/image/2170301/tulemus.png&lt;br /&gt;
&amp;lt;pre&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Linda   Kuusk &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,Tallinn , Akadeemia tee  28 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 6359866 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 56777521 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Mart   Tamm &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti , Tartu , Põllu   6 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 7249959 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 53345699 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&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;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name =&amp;quot;contacts&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;contact&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy-of select=&amp;quot;names&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:variable name =&amp;quot;default&amp;quot; select=&amp;quot;phones/@default&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:for-each select = &amp;quot;phones/phone&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$default = @id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:copy-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:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&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;
&lt;br /&gt;
XML, kus on alles ainult nimi ja vaikimisi telefoni number:&lt;br /&gt;
&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;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== veebiteenus ===&lt;br /&gt;
&lt;br /&gt;
Pole tegelikult päris valmis aga lähipäevil kindlasti. Samuti tekib siia dokumentatsiooni.&lt;br /&gt;
&lt;br /&gt;
Hetkel olev variant : [http://www.upload.ee/files/2328027/PhoneBookService.rar.html siin]&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. &lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=46585</id>
		<title>Talk:LLL</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=46585"/>
		<updated>2012-03-17T18:02:36Z</updated>

		<summary type="html">&lt;p&gt;Mraak: Created page with &amp;#039;===Retsensioon===  Mulle tundub, et xml ei lähe kokku selle veebiteenusega, mida tahetakse teha. Võimalik muidugi, et tehtigi lihtsalt hetkel suvaline xml.  XML paistab muidu o…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Retsensioon===&lt;br /&gt;
&lt;br /&gt;
Mulle tundub, et xml ei lähe kokku selle veebiteenusega, mida tahetakse teha. Võimalik muidugi, et tehtigi lihtsalt hetkel suvaline xml.&lt;br /&gt;
&lt;br /&gt;
XML paistab muidu olevat mõistlik aga ma arvan, et 4-ndas dimensioonis ei oleks ma kasutanud &amp;lt;nimi&amp;gt; väljal atribuute. Jääb mulje, et seda tehti sellepärast, et tööülesanne ütleb järgmist: &amp;quot;Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XML schemale otsa vaadata siis ma vaatan küll, et see on vigane. Miks käiakse üle mitu korda elemendid? Isegi Visual Studios automaatne schema tegemine ei tooda sellist asja, proovisime järgi. Või oskate öelda, miks nii tehtud on?&lt;br /&gt;
&lt;br /&gt;
XSL faile on pandud 3 tükki, aga kõik tunduvad mulle koodi poolelt sarnased. Selle asemel oleks võinud lisada puuduliku XML faili formaadi muutmise XLSLi.&lt;br /&gt;
&lt;br /&gt;
Samas kiidaks veebiteenuse kirjelduse kohapealt tiimi !&lt;br /&gt;
&lt;br /&gt;
Meeskond [[PhoneBook]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46584</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46584"/>
		<updated>2012-03-17T18:01:24Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
Asume uuel aadressil [[PhoneBook]]&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime korrektsele lingile [[PhoneBook]]&lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=46583</id>
		<title>PhoneBook</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=46583"/>
		<updated>2012-03-17T17:27:39Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* XSLT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&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;&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tulemus, kus on tähestikuliselt järjestatud tabelina nimi, aadress, lauatelefon ja mobiil:&lt;br /&gt;
Pilt tulemusest&lt;br /&gt;
http://www.upload.ee/image/2170301/tulemus.png&lt;br /&gt;
&amp;lt;pre&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Linda   Kuusk &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,Tallinn , Akadeemia tee  28 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 6359866 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 56777521 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Mart   Tamm &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti , Tartu , Põllu   6 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 7249959 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 53345699 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&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;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name =&amp;quot;contacts&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;contact&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy-of select=&amp;quot;names&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:variable name =&amp;quot;default&amp;quot; select=&amp;quot;phones/@default&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:for-each select = &amp;quot;phones/phone&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$default = @id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:copy-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:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&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;
&lt;br /&gt;
XML, kus on alles ainult nimi ja vaikimisi telefoni number:&lt;br /&gt;
&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;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. &lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</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_2012&amp;diff=46502</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2012</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_2012&amp;diff=46502"/>
		<updated>2012-03-10T17:44:21Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* Meeskonnad 2012 */&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; 2012=&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 3. märts 2011.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema 17. märts 2012&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 14. aprill 2012.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema 28. aprill 2012&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 5. mai 2012.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema 19. mai 2012&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 2012 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 2012=&lt;br /&gt;
&lt;br /&gt;
* [[Meeskond &amp;quot;Harold&amp;quot;]]&lt;br /&gt;
* [[PhoneBook | Meeskond &amp;quot;PhoneBook&amp;quot;]]&lt;br /&gt;
* [[LLL | Meeskond &amp;quot;LLL&amp;quot;]]&lt;br /&gt;
* [[Meeskond &amp;quot;.NOT&amp;quot;]]&lt;br /&gt;
* [[Peeter VR2 | Meeskond &amp;quot;Peeter VR2&amp;quot;]]&lt;br /&gt;
* [[Meeskond &amp;quot;HM&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46387</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46387"/>
		<updated>2012-03-05T09:04:19Z</updated>

		<summary type="html">&lt;p&gt;Mraak: Replaced content with &amp;#039;
== Log ==

=== 05.03.2012 ===
* Kolisime üle korrektsemale aadressile. https://wiki.itcollege.ee/index.php/PhoneBook

=== 03.03.2012 ===
* XSLT XML transformatsiooni lisami…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. https://wiki.itcollege.ee/index.php/PhoneBook&lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=46386</id>
		<title>PhoneBook</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=PhoneBook&amp;diff=46386"/>
		<updated>2012-03-05T09:04:10Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML, schema&lt;br /&gt;
* Tanel Jüris - XSLT XML-i&lt;br /&gt;
* Madis Rääk - XSLT html-i&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&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;&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tulemus, kus on tähestikuliselt järjestatud tabelina nimi, aadress, lauatelefon ja mobiil:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Linda   Kuusk &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,&lt;br /&gt;
                 Tallinn ,&lt;br /&gt;
                 Akadeemia tee   28 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 6359866 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 56777521 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Mart   Tamm &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; Eesti ,&lt;br /&gt;
                 Tartu ,&lt;br /&gt;
                 Põllu   6 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 7249959 &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt; 53345699 &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&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;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name =&amp;quot;contacts&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;contact&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy-of select=&amp;quot;names&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:variable name =&amp;quot;default&amp;quot; select=&amp;quot;phones/@default&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;xsl:for-each select = &amp;quot;phones/phone&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:if test=&amp;quot;$default = @id&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:copy-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:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&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;
&lt;br /&gt;
XML, kus on alles ainult nimi ja vaikimisi telefoni number:&lt;br /&gt;
&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;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name /&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 05.03.2012 ===&lt;br /&gt;
* Kolisime üle korrektsemale aadressile. &lt;br /&gt;
&lt;br /&gt;
=== 03.03.2012 ===&lt;br /&gt;
* XSLT XML transformatsiooni lisamine wikisse.&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT html transformatsiooni lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46256</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46256"/>
		<updated>2012-03-03T06:28:56Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* 03.02.2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML&lt;br /&gt;
* Tanel Jüris&lt;br /&gt;
* Madis Rääk&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl: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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulekul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT lisamine wikisse. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46245</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46245"/>
		<updated>2012-03-03T00:08:16Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* XSLT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML&lt;br /&gt;
* Tanel Jüris&lt;br /&gt;
* Madis Rääk&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
Transformeerimine HTML formaati&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl: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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML faili formaadi muutmine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulekul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT lisamine wikisse. Schema täiendused/parandused. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46244</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46244"/>
		<updated>2012-03-03T00:04:06Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML&lt;br /&gt;
* Tanel Jüris&lt;br /&gt;
* Madis Rääk&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl: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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 03.02.2012 ===&lt;br /&gt;
* XSLT lisamine wikisse. Schema täiendused/parandused. Viimased lihvimised hinde jaoks.&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46243</id>
		<title>Meeskond &quot;PhoneBook&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22PhoneBook%22&amp;diff=46243"/>
		<updated>2012-03-03T00:01:07Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* XSLT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond ==&lt;br /&gt;
* Lauri Jansen - wiki, XML&lt;br /&gt;
* Tanel Jüris&lt;br /&gt;
* Madis Rääk&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Luua näidisteemades välja pakutud telefoniraamatu teenus kus:&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;
Kusjuures on olemas ka 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;
== XML fail ==&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;
&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;contacts&amp;gt;&lt;br /&gt;
  &amp;lt;contact id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Mart &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Tamm &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Tartumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tartu &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Põllu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 6 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 50210 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Jõgevamaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Palamuse &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Oti Talu &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 47292 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 7249959 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 53345699 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;contact id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;names&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; Linda &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;middle_names&amp;gt;&lt;br /&gt;
        &amp;lt;middle_name&amp;gt;&amp;lt;/middle_name&amp;gt;&lt;br /&gt;
      &amp;lt;/middle_names&amp;gt;&lt;br /&gt;
      &amp;lt;last_name&amp;gt; Kuusk &amp;lt;/last_name&amp;gt;&lt;br /&gt;
    &amp;lt;/names&amp;gt;&lt;br /&gt;
    &amp;lt;addresses default=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;address id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;country&amp;gt; Eesti &amp;lt;/country&amp;gt;&lt;br /&gt;
        &amp;lt;county&amp;gt; Harjumaa &amp;lt;/county&amp;gt;&lt;br /&gt;
        &amp;lt;town&amp;gt; Tallinn &amp;lt;/town&amp;gt;&lt;br /&gt;
        &amp;lt;street&amp;gt; Akadeemia tee &amp;lt;/street&amp;gt;&lt;br /&gt;
        &amp;lt;house_nr&amp;gt; 28 &amp;lt;/house_nr&amp;gt;&lt;br /&gt;
        &amp;lt;zip_code&amp;gt; 12300 &amp;lt;/zip_code&amp;gt;&lt;br /&gt;
      &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;/addresses&amp;gt;&lt;br /&gt;
    &amp;lt;phones default=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;landline&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt; 6359866 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;skype&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;mobile&amp;quot; id=&amp;quot;3&amp;quot;&amp;gt; 56777521 &amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;work&amp;quot; id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
      &amp;lt;phone type=&amp;quot;other&amp;quot; id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/phone&amp;gt;&lt;br /&gt;
    &amp;lt;/phones&amp;gt;&lt;br /&gt;
    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/contact&amp;gt;&lt;br /&gt;
&amp;lt;/contacts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML schema (XSD) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;contacts&amp;quot;&amp;gt;&lt;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;contact&amp;quot;&amp;gt;&lt;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;names&amp;quot;&amp;gt;&lt;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;first_name&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;middle_names&amp;quot;&amp;gt;&lt;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;middle_name&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;last_name&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;addresses&amp;quot;&amp;gt;&lt;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;address&amp;quot;&amp;gt;&lt;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;country&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;county&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;town&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;street&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;house_nr&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;zip_code&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs: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:attribute name=&amp;quot;default&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:element name=&amp;quot;phones&amp;quot;&amp;gt;&lt;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;phone&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;default&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:element name=&amp;quot;comments&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:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl: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;Phone book entries (a-z)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Landline&amp;lt;/th&amp;gt;&lt;br /&gt;
	&amp;lt;th&amp;gt;Mobile phone&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;contacts/contact&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sort select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/first_name&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;names/last_name&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;td&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/country&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/town&amp;quot;/&amp;gt;,&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/street&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt; &amp;lt;!-- extra space --&amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;addresses/address/house_nr&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;landline&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	    &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;phones/phone[@type=&#039;mobile&#039;]&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log ==&lt;br /&gt;
&lt;br /&gt;
=== 28.02.2012 ===&lt;br /&gt;
* XML täiendatud/parandatud versioon&lt;br /&gt;
&lt;br /&gt;
=== 27.02.2012 ===&lt;br /&gt;
* XML algne versioon ja wiki valmimine&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35830</id>
		<title>IT Gurud</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35830"/>
		<updated>2011-10-04T11:42:19Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond: IT Gurud ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Rääk - Arendusjuht&lt;br /&gt;
&lt;br /&gt;
Indrek Reemi&lt;br /&gt;
&lt;br /&gt;
Tanel Jüris&lt;br /&gt;
&lt;br /&gt;
Kullo-Kalev Aru&lt;br /&gt;
&lt;br /&gt;
== Idee suund ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Indie 2D Action-game&lt;br /&gt;
&lt;br /&gt;
Tugi: PC, Xbox360&lt;br /&gt;
&lt;br /&gt;
Free Download. Installer.&lt;br /&gt;
&lt;br /&gt;
Tegelane peab läbima erinevaid tasemeid, et läbida mäng ja saada punkte. Võimalik on hüpata, tulistada ja asju korjata.&lt;br /&gt;
Skoori mõjutavad erinevad tegurid: Vaenlaste mahalöömine, leveli läbimise aeg, väärtuslike objektide korjamine.&lt;br /&gt;
&lt;br /&gt;
Mängija põhimõte on kiiresti mõelda, tegutseda. Tegu on pingelise mänguga.&lt;br /&gt;
&lt;br /&gt;
== Arenduse leht ==&lt;br /&gt;
[https://github.com/ECMadis/trunk Meie koduke siis projekti jaoks]&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
=== 20 sept ===&lt;br /&gt;
* Lõime meeskonna&lt;br /&gt;
* Arutasime ideed&lt;br /&gt;
* Tegime wiki lehe&lt;br /&gt;
&lt;br /&gt;
=== 27 sept ===&lt;br /&gt;
* Paigaldasime kõigile töökeskkonna&lt;br /&gt;
* Githubiga tutvumine&lt;br /&gt;
* Alustasime analüüsiga&lt;br /&gt;
&lt;br /&gt;
=== 4 okt ===&lt;br /&gt;
* Meeskonnaga liitus Kullo-Kalev Aru&lt;br /&gt;
* Retsentseerisime meeskonda [[Öö]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35829</id>
		<title>Talk:Öö</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35829"/>
		<updated>2011-10-04T11:36:50Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esimese muljena jäi, et selliseid mänge leidub palju. Aga samas on võimalik, et tegu on ikkagi omamoodi mänguga - teistsuguse graafika, stoori ja mänguelamusega. Üks huvitav faktor on kindlasti automaatselt genereeritud levelid, mille realiseerimine võib olla keeruline, kuid kindlasti annab mängule juurde nii-öelda korduva mängitavuse väärtust. Tundub, et mäng on plaanis teha mugavaks andes võimaluse juhtida ainult hiirega.&lt;br /&gt;
&lt;br /&gt;
Idee suund on selgelt paika pandud, kuid valmistoodang tundub veel suhteliselt lahtine. Seda sellepärast, et tegemist on veel mängu arenduse algfaasiga. Me oleme kindlad, et see projekt on teostatav.&lt;br /&gt;
&lt;br /&gt;
Lisandused ideele.&lt;br /&gt;
Tegelane võiks saada experience punkte ja leveleid. Läbi selle siis mingeid boonuseid ( tugevust, kiirust jne ). Ja muidugi lihtsalt silmailu (Muutuv välimus tegelasel).&lt;br /&gt;
Lisaks highscorele võiks olla ka Achievementide süsteem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahtiseks jäid küsimused:&lt;br /&gt;
*Kas tegelane on lennuk?&lt;br /&gt;
*Kuidas hakkab koostöö käima (Arenduskäik - failide ja bugide haldus) ?&lt;br /&gt;
&lt;br /&gt;
Retsentseeris meeskond [[IT_Gurud]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35828</id>
		<title>Talk:Öö</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35828"/>
		<updated>2011-10-04T11:36:20Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esimese muljena jäi, et selliseid mänge leidub palju. Aga samas on võimalik, et tegu on ikkagi omamoodi mänguga - teistsuguse graafika, stoori ja mänguelamusega. Üks huvitav faktor on kindlasti automaatselt genereeritud levelid, mille realiseerimine võib olla keeruline, kuid kindlasti annab mängule juurde nii-öelda korduva mängitavuse väärtust. Tundub, et mäng on plaanis teha mugavaks andes võimaluse juhtida ainult hiirega.&lt;br /&gt;
&lt;br /&gt;
Idee suund on selgelt paika pandud, kuid valmistoodang tundub veel suhteliselt lahtine. Seda sellepärast, et tegemist on veel mängu arenduse algfaasiga. Me oleme kindlad, et see projekt on teostatav.&lt;br /&gt;
&lt;br /&gt;
Lisandused ideele.&lt;br /&gt;
Tegelane võiks saada experience punkte ja leveleid. Läbi selle siis mingeid boonuseid ( tugevust, kiirust jne ). Ja muidugi lihtsalt silmailu (Muutuv välimus tegelasel).&lt;br /&gt;
Lisaks highscorele võiks olla ka Achievementide süsteem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahtiseks jäid küsimused:&lt;br /&gt;
Kas tegelane on lennuk?&lt;br /&gt;
Kuidas hakkab koostöö käima (Arenduskäik - failide ja bugide haldus) ?&lt;br /&gt;
&lt;br /&gt;
Retsentseeris meeskond [[IT_Gurud]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35827</id>
		<title>Talk:Öö</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35827"/>
		<updated>2011-10-04T11:30:52Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Esimese muljena jäi, et selliseid mänge leidub palju. Aga samas on võimalik, et tegu on ikkagi omamoodi mänguga - teistsuguse graafika, stoori ja mänguelamusega. Üks huvitav faktor on kindlasti automaatselt genereeritud levelid, mille realiseerimine võib olla keeruline, kuid kindlasti annab mängule juurde nii-öelda korduva mängitavuse väärtust. Tundub, et mäng on plaanis teha mugavaks andes võimaluse juhtida ainult hiirega.&lt;br /&gt;
&lt;br /&gt;
Idee suund on selgelt paika pandud, kuid valmistoodang tundub veel suhteliselt lahtine. Seda sellepärast, et tegemist on veel mängu arenduse algfaasiga. Me oleme kindlad, et see projekt on teostatav.&lt;br /&gt;
&lt;br /&gt;
Lisandused ideele.&lt;br /&gt;
Tegelane võiks saada experience punkte ja leveleid. Läbi selle siis mingeid boonuseid ( tugevust, kiirust jne ). Ja muidugi lihtsalt silmailu (Muutuv välimus tegelasel).&lt;br /&gt;
Lisaks highscorele võiks olla ka Achievementide süsteem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahtiseks jäi küsimus:&lt;br /&gt;
Kas tegelane on lennuk?&lt;br /&gt;
&lt;br /&gt;
Retsentseeris meeskond [[IT_Gurud]]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35825</id>
		<title>Talk:Öö</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=35825"/>
		<updated>2011-10-04T11:07:32Z</updated>

		<summary type="html">&lt;p&gt;Mraak: Created page with &amp;#039;IT Gurud tegelevad siin.&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IT Gurud tegelevad siin.&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35824</id>
		<title>IT Gurud</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35824"/>
		<updated>2011-10-04T10:40:34Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond: IT Gurud ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Rääk - Arendusjuht&lt;br /&gt;
&lt;br /&gt;
Indrek Reemi&lt;br /&gt;
&lt;br /&gt;
Tanel Jüris&lt;br /&gt;
&lt;br /&gt;
Kullo-Kalev Aru&lt;br /&gt;
&lt;br /&gt;
== Idee suund ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Indie 2D Action-game&lt;br /&gt;
&lt;br /&gt;
Tugi: PC, Xbox360&lt;br /&gt;
&lt;br /&gt;
Free Download. Installer.&lt;br /&gt;
&lt;br /&gt;
Tegelane peab läbima erinevaid tasemeid, et läbida mäng ja saada punkte. Võimalik on hüpata, tulistada ja asju korjata.&lt;br /&gt;
Skoori mõjutavad erinevad tegurid: Vaenlaste mahalöömine, leveli läbimise aeg, väärtuslike objektide korjamine.&lt;br /&gt;
&lt;br /&gt;
Mängija põhimõte on kiiresti mõelda, tegutseda. Tegu on pingelise mänguga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arenduse leht ==&lt;br /&gt;
[https://github.com/ECMadis/trunk Meie koduke siis projekti jaoks]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35444</id>
		<title>IT Gurud</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35444"/>
		<updated>2011-09-30T19:17:43Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond: IT Gurud ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Rääk - Arendusjuht&lt;br /&gt;
&lt;br /&gt;
Indrek Reemi&lt;br /&gt;
&lt;br /&gt;
Tanel Jüris&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idee suund ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Indie 2D Action-game&lt;br /&gt;
&lt;br /&gt;
Tugi: PC, Xbox360&lt;br /&gt;
&lt;br /&gt;
Free Download. Installer.&lt;br /&gt;
&lt;br /&gt;
Tegelane peab läbima erinevaid tasemeid, et läbida mäng ja saada punkte. Võimalik on hüpata, tulistada ja asju korjata.&lt;br /&gt;
Skoori mõjutavad erinevad tegurid: Vaenlaste mahalöömine, leveli läbimise aeg, väärtuslike objektide korjamine.&lt;br /&gt;
&lt;br /&gt;
Mängija põhimõte on kiiresti mõelda, tegutseda. Tegu on pingelise mänguga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arenduse leht ==&lt;br /&gt;
[https://github.com/ECMadis/trunk Meie koduke siis projekti jaoks]&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35141</id>
		<title>IT Gurud</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35141"/>
		<updated>2011-09-20T14:39:16Z</updated>

		<summary type="html">&lt;p&gt;Mraak: /* Idee suund */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond: IT Gurud ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Rääk - Arendusjuht&lt;br /&gt;
&lt;br /&gt;
Indrek Reemi&lt;br /&gt;
&lt;br /&gt;
Tanel Jüris&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idee suund ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Indie 2D Action-game&lt;br /&gt;
&lt;br /&gt;
Tugi: PC, Xbox360&lt;br /&gt;
&lt;br /&gt;
Free Download. Installer.&lt;br /&gt;
&lt;br /&gt;
Tegelane peab läbima erinevaid tasemeid, et läbida mäng ja saada punkte. Võimalik on hüpata, tulistada ja asju korjata.&lt;br /&gt;
Skoori mõjutavad erinevad tegurid: Vaenlaste mahalöömine, leveli läbimise aeg, väärtuslike objektide korjamine.&lt;br /&gt;
&lt;br /&gt;
Mängija põhimõte on kiiresti mõelda, tegutseda. Tegu on pingelise mänguga.&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2011)&amp;diff=35125</id>
		<title>Juhend: Kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (2011)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2011)&amp;diff=35125"/>
		<updated>2011-09-20T09:51:32Z</updated>

		<summary type="html">&lt;p&gt;Mraak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kodutöö aines &amp;quot;Programmeerimine C# keeles&amp;quot;=&lt;br /&gt;
&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. &lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3-5 tudengit. Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).&lt;br /&gt;
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
==Tähtaegadest kinnipidamine==&lt;br /&gt;
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Maksimumpunktide saavutamiseks tuleb tähtajaks esitada töö, mis vastab püstitatud nõuetele. Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2011 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.&lt;br /&gt;
===Meeskonna kokkupanek ja idee===&lt;br /&gt;
&#039;&#039;&#039;24.09.2011&#039;&#039;&#039; (3p)&lt;br /&gt;
&lt;br /&gt;
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb  kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Paari sõnaga peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 4.10.2011 (2p)&lt;br /&gt;
&lt;br /&gt;
===Analüüs===&lt;br /&gt;
&#039;&#039;&#039;22.10.2011&#039;&#039;&#039; (6p)&lt;br /&gt;
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures. Sellle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab:&lt;br /&gt;
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 02.11.2011 (3p)&lt;br /&gt;
&lt;br /&gt;
===Prototüüp===&lt;br /&gt;
&#039;&#039;&#039;19.11.2011&#039;&#039;&#039;(10p)&lt;br /&gt;
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada).  Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 29.11.2011(5p)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&#039;&#039;&#039;3.12.2011&#039;&#039;&#039;(15p)&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; 13.12.2011(5p)&lt;br /&gt;
&lt;br /&gt;
===Esitlus/Kaitsmine===&lt;br /&gt;
&#039;&#039;&#039;Toimub loengutes/praktikumides&#039;&#039;&#039;&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks.  Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioon==&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 +372 53 469 734 või mait.poska [ät] itcollege.ee&lt;br /&gt;
(teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2011 sügis=&lt;br /&gt;
Kodutööna tuleb luua:&lt;br /&gt;
&lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
&lt;br /&gt;
==Tetris(XNA)==&lt;br /&gt;
==XoniX(XNA)==&lt;br /&gt;
&lt;br /&gt;
==Nõuded rakendusele==&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Forms, WPF, SilverLight (ka Windows Phone 7) või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
==Nõuded XNA projektile==&lt;br /&gt;
Loodav mäng peab sisaldama:&lt;br /&gt;
* Erinevaid tasemeid&lt;br /&gt;
* Punktiarvestust&lt;br /&gt;
* XBox puldi tuge&lt;br /&gt;
* Klaviatuurilt juhtimise tuge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea &#039;&#039;story&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Meeskonnad 2011=&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;Tundmatu&amp;quot;==&lt;br /&gt;
===Teema===&lt;br /&gt;
WPF ärirakendus.. blabla&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Võõras1&lt;br /&gt;
*Võõras2&lt;br /&gt;
*Võõras3&lt;br /&gt;
==Meeskond &amp;quot;Invaders&amp;quot;==&lt;br /&gt;
===Teema===&lt;br /&gt;
Invaders XNA mäng (kui õnnestub)&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Heiki Tamm&lt;br /&gt;
*Võõras2&lt;br /&gt;
*Võõras3&lt;br /&gt;
&lt;br /&gt;
==Meeskond &amp;quot;[[IT_Gurud]]&amp;quot;==&lt;br /&gt;
===Teema===&lt;br /&gt;
XNA mäng&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
*Indrek Reemi&lt;br /&gt;
*Tanel Jüris&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35121</id>
		<title>IT Gurud</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_Gurud&amp;diff=35121"/>
		<updated>2011-09-20T09:43:13Z</updated>

		<summary type="html">&lt;p&gt;Mraak: Tegime oma meeskonnale wiki lehe. Lisasime algse idee.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Meeskond: IT Gurud ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Madis Rääk - Arendusjuht&lt;br /&gt;
&lt;br /&gt;
Indrek Reemi&lt;br /&gt;
&lt;br /&gt;
Tanel Jüris&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idee suund ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2D Action-game / Indie / Arcade&lt;br /&gt;
Tugi: PC, Xbox360&lt;br /&gt;
&lt;br /&gt;
Free Download. Installer.&lt;br /&gt;
&lt;br /&gt;
Tegelane peab läbima erinevaid tasemeid, et läbida mäng ja saada punkte. Võimalik on hüpata, tulistada ja asju korjata.&lt;br /&gt;
Skoori mõjutavad erinevad tegurid: Vaenlaste mahalöömine, leveli läbimise aeg, väärtuslike objektide korjamine.&lt;br /&gt;
&lt;br /&gt;
Mängija põhimõte on kiiresti mõelda, tegutseda. Tegu on pingelise mänguga.&lt;/div&gt;</summary>
		<author><name>Mraak</name></author>
	</entry>
</feed>