<?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=Ruusjarv</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=Ruusjarv"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Ruusjarv"/>
	<updated>2026-05-07T02:41:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123489</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123489"/>
		<updated>2017-06-12T07:46:24Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Blog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
11.06.2017 - Projekti faili lisamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM4.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Projekti fail===&lt;br /&gt;
&lt;br /&gt;
Projekt tehtud siis kahe liikme poolt: Riho Uusjärv ja Jevgeni Gavrilov ja projekti fail asub aadressil: https://drive.google.com/open?id=0B3nb9qMzOVSuQ1NOdk02bmhUT3c&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123412</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123412"/>
		<updated>2017-06-11T14:58:15Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Projekti fail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM4.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Projekti fail===&lt;br /&gt;
&lt;br /&gt;
Projekt tehtud siis kahe liikme poolt: Riho Uusjärv ja Jevgeni Gavrilov ja projekti fail asub aadressil: https://drive.google.com/open?id=0B3nb9qMzOVSuQ1NOdk02bmhUT3c&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123411</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123411"/>
		<updated>2017-06-11T14:57:27Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Projekti fail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM4.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Projekti fail===&lt;br /&gt;
&lt;br /&gt;
Projekt tehtud siis kahe liikme poolt: Riho Uusjärv ja Jevgeni Gavrilov &lt;br /&gt;
https://drive.google.com/open?id=0B3nb9qMzOVSuQ1NOdk02bmhUT3c&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123410</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=123410"/>
		<updated>2017-06-11T14:55:21Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: faili lin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM4.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Projekti fail===&lt;br /&gt;
&lt;br /&gt;
Projekt tehtud siis kahe liikme poolt: Riho Uusjärv ja Jevgeni Gavrilov &lt;br /&gt;
https://drive.google.com/drive/folders/0B3nb9qMzOVSuQ1NOdk02bmhUT3c?usp=sharing&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121830</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121830"/>
		<updated>2017-05-09T19:41:05Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Andmebaasi kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM4.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:AB_GYM4.PNG&amp;diff=121829</id>
		<title>File:AB GYM4.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:AB_GYM4.PNG&amp;diff=121829"/>
		<updated>2017-05-09T19:40:49Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121828</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121828"/>
		<updated>2017-05-09T19:40:02Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Andmebaasi kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM3.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:AB_GYM3.PNG&amp;diff=121827</id>
		<title>File:AB GYM3.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:AB_GYM3.PNG&amp;diff=121827"/>
		<updated>2017-05-09T19:39:56Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121757</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=121757"/>
		<updated>2017-05-09T12:37:40Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Andmebaasi kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM2.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:AB_GYM2.PNG&amp;diff=121756</id>
		<title>File:AB GYM2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:AB_GYM2.PNG&amp;diff=121756"/>
		<updated>2017-05-09T12:37:33Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=120867</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=120867"/>
		<updated>2017-05-01T15:31:54Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Andmebaasi kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&amp;lt;br&amp;gt;&lt;br /&gt;
26.03.2017 - Retsenseerimine&amp;lt;br&amp;gt;&lt;br /&gt;
01.05.2017 - Analüüsi valmimine ja lisamine koos andmebaasi failiga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Jõusaali infosüsteemi analüüs==&lt;br /&gt;
&lt;br /&gt;
===Lühikirjeldus===&lt;br /&gt;
JRT on jõusaali kasutamise rakendus, mis on peamiselt mõeldud jõusaali külastajale, kes näevad erinevaid treeningkavasid ning harjutusi ja saavad üles märkida oma saavutusi. &lt;br /&gt;
&lt;br /&gt;
===Must have===&lt;br /&gt;
Kasutusgruppide alla kuuluvad rakenduse tavakasutajad, administraatorid ja treenerid. Lõppkasutajal on võimalik luua oma konto, kuhu ta sisestab regulaarselt oma kehamõõtusid. Tavakasutaja saab valida omale füüsilise aktiivsuse kestuse, treeningu tüübi ning harjutused, millest see koosneb. Tavakasutajad näevad treenerite kontaktandmeid, et nendega ühendust võtta, saamaks treeningkavasse soovitusi või lasta treeneritel teha neile päris enda treeningkava.&lt;br /&gt;
&lt;br /&gt;
===Nice to have===&lt;br /&gt;
Administraatoril on võimalik tutvuda statistikaga selle kohta, milliseid harjutusi kõige rohkem tehakse, millistele lihasegruppidele ning millistel aegadel on üht- või teistsugused harjutused populaarsemad. On loodud treenerite ja administraatorite kasutajaliides. Tavakasutajal on võimalik enda treeningute andmete põhjal tekitada igasuguseid graafikuid ja nende analüüsi. Tavakasutajal on võimalik saata teateid treeneritele ja teistele rakenduse tavakasutajatele. Treenerite kasutajaliidesest saab ülevaate selle kohta, millised tavakasutajad on tema õpilased, kuidas neil treeningutega läheb (statistika, teated) ning milline on tema enda eelseisev töögraafik. Administraatoril on võimalik saata kasutajatele teateid (näiteks, et klubi on suletud või et alanud on kampaaniaperiood).&lt;br /&gt;
&lt;br /&gt;
===Administraatori liides===&lt;br /&gt;
Administraatoril on võimalus hallata kõiki andmeid (näiteks lisada ja kustutada: kasutajaid, harjutusi, treenigukavasid jne).&lt;br /&gt;
&lt;br /&gt;
===Kasutajaliides===&lt;br /&gt;
Tavakasutaja liideses on võimalik sisestada oma keha kohta viimaseid andmeid, panna kirja infot viimase treeningu kohta ning lisada omale kontaktandmeid. Valida treeningukavasid ja paigutada need soovitud päevadele.&lt;br /&gt;
&lt;br /&gt;
===Andmebaasi kirjeldus===&lt;br /&gt;
Andmebaasis on kokku 11 olemit ja 5 vahetabelit. Täpsema ülevaate saab kaasasolevast Qsee failist: [http://enos.itcollege.ee/~tkuuskma/vr2/JRT_gym.qsee] (Qsee fail).&lt;br /&gt;
&lt;br /&gt;
[[File:AB_GYM.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;br /&gt;
&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;Ninjas in pyjamas&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
XML fail valideerub. Hea on see, et on kasutatud CDATA formaati. Siiski pole täidetud kõiki õppejõu poolt ettenähtud nõudeid: atribuute on (mis ei ole lihtsalt id) lisatud kahele dimensioonile (&#039;ticket&#039; ja &#039;user&#039;), kuid peaks olema lisatud kolmele dimensioonile. Lisaks pole väga hästi arusaadav (lugedes ideekirjeldust), miks osa kasutaja andmeid (e-kiri, roll) on määratud atribuudina, teised (kasutajanimi) jällegi elemendina.Atribuut role antud kontekstis ei oma mingid konkreetset väärtust (rollidel on id, aga kus on nende nimekiri?). Teine küsimus miks priority Id on 1 täht, on selles mingi vajadus? Lihtam kasutada int. CDATA pole kasutusel kõikidel väljadel, mis võib olla ohtlik. Kuigi seda tõenäoliselt hetkel ei pea hindama, siis meeskonnale võib olla kasulik teada, et juhul kui süsteem peab võrdlema päringu saabumise aega sellele vastamise ajaga, siis XML-is ei ole kellaaega, vaid on kuupäev. Ühtlasi puudub XML-is info selle kohta, kas päring on lahendatud või mitte.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
XSD puhul annab validaator järgmised veateated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
Error - Line 15, 90: org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 90; s4s-elt-must-match.1: The content of &#039;priority&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 22, 93: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 93; s4s-elt-must-match.1: The content of &#039;user&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
Error - Line 35, 84: org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 84; s4s-elt-must-match.1: The content of &#039;attachment&#039; must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veateadetest kõige ilmsem näib olevat element &amp;quot;priority&amp;quot;, mis võiks olla mitte &amp;quot;string&amp;quot;, vaid &amp;quot;int&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Esimene XSLT valideerub (XSLT =&amp;gt; HTML). Paraku on seal sisuliselt ainult üks for-each klausel (asi, mille eest õppejõud hoiatab). Siinkohal jääb natuke segaseks varasemas XSL-is sisse toodud &amp;quot;title&amp;quot; element. Mida selle all mõeldakse? Kas iga päring saab pealkirja, mis on erinev probleemi kirjeldusest ja kasutaja andmetest?&lt;br /&gt;
&lt;br /&gt;
Teine XSLT (XSLT =&amp;gt; XML) ei valideeru. Veateade on järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Not valid.&lt;br /&gt;
FatalError: javax.xml.transform.TransformerException: A location step was expected following the &#039;/&#039; or &#039;//&#039; token.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sisulise poole pealt on tehtud üks &amp;quot;for-each&amp;quot; ja üks &amp;quot;sort&amp;quot;, ülejäänud on &amp;quot;value-of&amp;quot;-id. Muidu kõik kena, kuid natuke lühike ehk?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tööd on küll esitatud ja vaeva nähtud, kuid kõik lahenduste aspektid ei vasta siiski õppejõu poolt ettenähtud nõuetele. Lisaks on probleeme osade koodide valideerumisega (XSD ja üks XSLT). Need asjad tasuks rakenduse edasist arendamist silmas pidades üle vaadata.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:AB_GYM.PNG&amp;diff=120866</id>
		<title>File:AB GYM.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:AB_GYM.PNG&amp;diff=120866"/>
		<updated>2017-05-01T15:30:49Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119481</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119481"/>
		<updated>2017-03-26T12:35:02Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
26.03.207 - Retsenseerimine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Oleks soovitanud vähem vaeva näha kirju XML-iga ja seda aega kulutada korrektse XSD ja XSLT-d tegemiseks.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119480</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119480"/>
		<updated>2017-03-26T12:34:10Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
26.03.207 - Retsenseerimine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud. Kui oleks vähem vaeva nähtud kirju XML-iga oleks sama ajaga saanud tehtud korrektse XSD ja XSLT-d.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119479</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119479"/>
		<updated>2017-03-26T12:32:37Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Blog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
26.03.207 - Retsenseerimine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119478</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119478"/>
		<updated>2017-03-26T12:31:24Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119477</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119477"/>
		<updated>2017-03-26T12:29:48Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vead:&amp;lt;br&amp;gt;&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsüklig&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML&lt;br /&gt;
 &lt;br /&gt;
Mõlemad XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119476</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119476"/>
		<updated>2017-03-26T12:28:49Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale &amp;quot;PC KartKicker&amp;quot; ===&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
Mitmed errorid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mõlemas XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsüklig&lt;br /&gt;
*Pole kasutatud tingimusi&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lohakas töö, tundub et üks liige on selle kiirelt ära teinud, et õigeks ajaks valmis saada ja teised ei vaevunud vaatamagi. Validaatoriga oleks võinud vähemalt üle lasta ja pisi vead likvideerida aga sedagi pole tehtud.&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119475</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119475"/>
		<updated>2017-03-26T12:20:53Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale  ===&lt;br /&gt;
== Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; ==&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused:&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mõlemas XSLT-d ei vasta väljatoodud nõuetele&lt;br /&gt;
*Tegemist on mõlemal juhul vaid ühe for-each tsükliga&lt;br /&gt;
*Pole tehtud eraldi HTML ja XML &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119474</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119474"/>
		<updated>2017-03-26T12:14:11Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale  ===&lt;br /&gt;
== Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; ==&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML fail valideerimisel ei olnud ühtegi viga. On olemas nõutud 4 loogilist dimensiooni ning atribuute on ka piisavalt ning need on sammuti piisavalt spetsiifilised ehk kõik õppejõu märgitud kriteeriumid on täidetud. XML jaotus on korrektne ja kergesti arusaadav. CDATA oleks võinud kastusel olla. &lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Skeemifail (XSD)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML ei vasta XSD kirjelduses nõutud väljade parameetrile ehk storages-&amp;gt; storage -&amp;gt; type on XSD-s puudu.&lt;br /&gt;
Enda eelistused&lt;br /&gt;
*maxGpuLength string -&amp;gt; integer&lt;br /&gt;
*maxCpuHeight string -&amp;gt; integer&lt;br /&gt;
*cooler string -&amp;gt; boolean&lt;br /&gt;
*ECC string -&amp;gt; boolean&lt;br /&gt;
*speed string -&amp;gt; decimal&lt;br /&gt;
*liquid string -&amp;gt; boolean&lt;br /&gt;
*usb3 string -&amp;gt; boolean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;102&#039;, Column &#039;140&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;103&#039;, Column &#039;142&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-datatype-valid.1.2.1: &#039;&#039; Is Not A Valid Value For &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-attribute.3: The Value &#039;&#039; Of Attribute &#039;rpm&#039; On Element &#039;storage&#039; Is Not Valid With Respect To Its Type, &#039;integer&#039;., Line &#039;104&#039;, Column &#039;143&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;105&#039;, Column &#039;153&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;106&#039;, Column &#039;154&#039;.&lt;br /&gt;
Cvc-complex-type.3.2.2: Attribute &#039;type&#039; Is Not Allowed To Appear In Element &#039;storage&#039;., Line &#039;107&#039;, Column &#039;148&#039;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119462</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119462"/>
		<updated>2017-03-26T11:04:48Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioon JRT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon meeskonnale  ===&lt;br /&gt;
== Retsensioon XML-failide kohta meeskonnale &amp;quot;PC KartKicker&amp;quot; ==&lt;br /&gt;
Meeskonna &amp;quot;PC KartKicker&amp;quot; XML failide sisu leiab [https://wiki.itcollege.ee/index.php/PC_KartKicker]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;XML&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Skeemifail&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Transformatsioonid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kokkuvõtte&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=119460</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=119460"/>
		<updated>2017-03-26T11:01:52Z</updated>

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

		<summary type="html">&lt;p&gt;Ruusjarv: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
== XML Retsensioonid ==&lt;br /&gt;
=== Retsensioon JRT ===&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119301</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119301"/>
		<updated>2017-03-21T06:07:44Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Blog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&amp;lt;br&amp;gt;&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119300</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119300"/>
		<updated>2017-03-21T06:07:26Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Blog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
19.03.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&lt;br /&gt;
20.03.2017 - Teine XSLT koostamine ja valmis&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119299</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=119299"/>
		<updated>2017-03-21T06:04:05Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: pre oli puudu vaid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===Lae failid alla===&lt;br /&gt;
[http://enos.itcollege.ee/~jgavrilo/K1.rar Lae failid alla.]&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;main&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;subscription&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;position()&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;currentSubscription&amp;quot; select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;currentUser&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:variable name=&amp;quot;sub&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;$sub = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
                    &amp;lt;user&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;$currentUser/@id&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/firstName&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;$currentUser/lastName&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/user&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;status&amp;quot; select=&amp;quot;$currentUser/@status&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;subscr&amp;quot; select=&amp;quot;.&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;$subscr/prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;$subscr/@name = $currentSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:variable name=&amp;quot;curObj&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$curObj/@type = $status&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;price&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;currency&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:value-of select=&amp;quot;$curObj/@type&amp;quot;/&amp;gt;&lt;br /&gt;
                              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/price&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
        &amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/main&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;
====Näidis====&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;main&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;1&amp;quot; name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;2&amp;quot; name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;6&amp;quot;&amp;gt;Georg Karu&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;3&amp;quot; name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;2&amp;quot;&amp;gt;Merlin Kuusk&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;silver&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;4&amp;quot;&amp;gt;Peeter Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;4&amp;quot; name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;1&amp;quot;&amp;gt;Peeter Banaan&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;subscription id=&amp;quot;5&amp;quot; name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;usersWithPrices&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;3&amp;quot;&amp;gt;Maarika Tamm&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;gold&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
      &amp;lt;userWithPrice&amp;gt;&lt;br /&gt;
        &amp;lt;user id=&amp;quot;7&amp;quot;&amp;gt;Liisa Leppmaa&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;price currency=&amp;quot;EUR&amp;quot; type=&amp;quot;standard&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/userWithPrice&amp;gt;&lt;br /&gt;
    &amp;lt;/usersWithPrices&amp;gt;&lt;br /&gt;
  &amp;lt;/subscription&amp;gt;&lt;br /&gt;
&amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118798</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118798"/>
		<updated>2017-03-19T16:13:27Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Blog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD ja XSLT koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118797</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118797"/>
		<updated>2017-03-19T16:12:21Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Näidis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:3123131233.PNG]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:3123131233.PNG&amp;diff=118796</id>
		<title>File:3123131233.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:3123131233.PNG&amp;diff=118796"/>
		<updated>2017-03-19T16:12:07Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118795</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118795"/>
		<updated>2017-03-19T16:10:31Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* Näidis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:pilt2132312312.png]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118794</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118794"/>
		<updated>2017-03-19T16:09:40Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XSLT 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Workout:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;People list with workout and price:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;subscriptions/subscription != &#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
              &amp;lt;ul&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;li&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                  &amp;lt;/li&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/ul&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/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;
====Näidis====&lt;br /&gt;
[[File:pilt.png]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Pilt.PNG&amp;diff=118793</id>
		<title>File:Pilt.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Pilt.PNG&amp;diff=118793"/>
		<updated>2017-03-19T16:08:52Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118792</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118792"/>
		<updated>2017-03-19T16:00:54Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XSLT 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, liikme staatuse, treeningud koos hindedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Bills:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Bill list:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;           &lt;br /&gt;
              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/ul&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Näidis====&lt;br /&gt;
[[File:bill.png]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118790</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118790"/>
		<updated>2017-03-19T15:57:37Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XSLT 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
Kuvab inimeste nime, statuse, treeningud koos hinadedega&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;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;&lt;br /&gt;
          Bills:&lt;br /&gt;
        &amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Bill list:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;/users/user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Name: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;firstName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;lastName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Member status: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:variable name=&amp;quot;Status&amp;quot; select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;@status&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:text&amp;gt;Workouts and prices: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
          &amp;lt;ul&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:text&amp;gt;     &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:variable name=&amp;quot;SelectedSubscription&amp;quot; select=&amp;quot;translate(text(), &#039; &#039;, &#039;&#039;)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/users/subscriptions/subscription&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;Subscription&amp;quot; select=&amp;quot;@name&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;$Subscription= $SelectedSubscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;prices/price&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:if test=&amp;quot;$Status = @type&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$Subscription&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text&amp;gt;: &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@currency&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;           &lt;br /&gt;
              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/ul&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Näidis====&lt;br /&gt;
[[File:bill.png]]&lt;br /&gt;
&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Bill.png&amp;diff=118789</id>
		<title>File:Bill.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Bill.png&amp;diff=118789"/>
		<updated>2017-03-19T15:56:36Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118788</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118788"/>
		<updated>2017-03-19T15:37:55Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Balance&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Gym&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;BodyPump&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;Yoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription name=&amp;quot;HotYoga&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118787</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118787"/>
		<updated>2017-03-19T15:37:30Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XML schema (XSD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&lt;br /&gt;
      &amp;lt;![CDATA[HotYoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/users&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&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;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118771</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118771"/>
		<updated>2017-03-19T14:07:57Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;subscription&amp;gt;&lt;br /&gt;
      &amp;lt;![CDATA[HotYoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscription&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/users&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118770</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118770"/>
		<updated>2017-03-19T14:07:36Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XML schema (XSD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&lt;br /&gt;
      &amp;lt;![CDATA[HotYoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118708</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118708"/>
		<updated>2017-03-19T12:25:51Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML, XSD koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&lt;br /&gt;
      &amp;lt;![CDATA[HotYoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscrition&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118703</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118703"/>
		<updated>2017-03-19T12:20:06Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML (pole veel valmis)==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;users&amp;gt;&lt;br /&gt;
  &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;50.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;79.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;89.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;44.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;42.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;45.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
    &amp;lt;subscrition&amp;gt;&lt;br /&gt;
      &amp;lt;![CDATA[HotYoga]]&amp;gt;&lt;br /&gt;
      &amp;lt;prices&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;gold&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;49.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;silver&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;52.99&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;price type=&amp;quot;standard&amp;quot; currency=&amp;quot;EUR&amp;quot;&amp;gt;55.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;/prices&amp;gt;&lt;br /&gt;
    &amp;lt;/subscrition&amp;gt;&lt;br /&gt;
  &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;1&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Banaan]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.12.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-26&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55665566]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[peeter@gmail.ee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterB]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;2&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Merlin]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Kuusk]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[11.07.1997]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[5123123]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;3&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Maarika]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[05.07.1999]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-08-11&amp;quot;&amp;gt;&amp;lt;![CDATA[Yoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-11-23&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[maarika@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;4&amp;quot; status=&amp;quot;gold&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Peeter]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Tamm]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[22.03.2000]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-05-13&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588899]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;![CDATA[PeeterT@gmail.com]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;5&amp;quot; status=&amp;quot;silver&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Mihkel]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Koopov]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55588877]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[MKoopov]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;6&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Georg]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Karu]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[03.03.1994]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[M]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-12-17&amp;quot;&amp;gt;&amp;lt;![CDATA[Balance]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-01&amp;quot;&amp;gt;&amp;lt;![CDATA[Gym]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;user id=&amp;quot;7&amp;quot; status=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;&amp;lt;![CDATA[Liisa]]&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;&amp;lt;![CDATA[Leppmaa]]&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;born&amp;gt;&amp;lt;![CDATA[15.06.1991]]&amp;gt;&amp;lt;/born&amp;gt;&lt;br /&gt;
    &amp;lt;sex&amp;gt;&amp;lt;![CDATA[W]]&amp;gt;&amp;lt;/sex&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-09-11&amp;quot;&amp;gt;&amp;lt;![CDATA[BodyPump]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
      &amp;lt;subscription expires=&amp;quot;2017-07-10&amp;quot;&amp;gt;&amp;lt;![CDATA[HotYoga]]&amp;gt;&amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;contacts&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;![CDATA[55512377]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
      &amp;lt;contact type=&amp;quot;skype&amp;quot;&amp;gt;&amp;lt;![CDATA[LLee]]&amp;gt;&amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;/contacts&amp;gt;&lt;br /&gt;
  &amp;lt;/user&amp;gt;&lt;br /&gt;
&amp;lt;/users&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;users&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscrition&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType mixed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;prices&amp;quot;&amp;gt;&lt;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;price&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:decimal&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;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;currency&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;firstName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;lastName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;born&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;sex&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;subscriptions&amp;quot;&amp;gt;&lt;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;subscription&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;expires&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                &amp;lt;xs:element name=&amp;quot;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: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:extension&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:int&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;status&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118694</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118694"/>
		<updated>2017-03-19T11:38:34Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118693</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118693"/>
		<updated>2017-03-19T11:17:23Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine, teema välja mõtlemine, XML koostamine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
Spordisaalis on erinevad trennid, milles käivad erinevad isikud. XSLT jaoks siis teeme erinevad valitud filtreeringud&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118689</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118689"/>
		<updated>2017-03-19T09:17:03Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118688</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118688"/>
		<updated>2017-03-19T09:16:32Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meskond =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118687</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118687"/>
		<updated>2017-03-19T09:14:16Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Team =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2===&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118686</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118686"/>
		<updated>2017-03-19T09:13:19Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: /* XSLT 2= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Team =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2===&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118685</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118685"/>
		<updated>2017-03-19T09:13:11Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Team =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;br /&gt;
&lt;br /&gt;
= Tööd =&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
===Teema===&lt;br /&gt;
===XML===&lt;br /&gt;
===XML schema (XSD)===&lt;br /&gt;
===XSLT 1===&lt;br /&gt;
===XSLT 2====&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118684</id>
		<title>JRT</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=JRT&amp;diff=118684"/>
		<updated>2017-03-19T09:08:58Z</updated>

		<summary type="html">&lt;p&gt;Ruusjarv: Created page with &amp;quot;= Team =  Riho Uusjärv &amp;lt;br&amp;gt; Jevgeni Gavrilov &amp;lt;br&amp;gt; Tiit Kuuskmäe&amp;lt;br&amp;gt;  = Blog =  03.19.2017 - Meeskonna loomine&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Team =&lt;br /&gt;
&lt;br /&gt;
Riho Uusjärv &amp;lt;br&amp;gt;&lt;br /&gt;
Jevgeni Gavrilov &amp;lt;br&amp;gt;&lt;br /&gt;
Tiit Kuuskmäe&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Blog =&lt;br /&gt;
&lt;br /&gt;
03.19.2017 - Meeskonna loomine&lt;/div&gt;</summary>
		<author><name>Ruusjarv</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=118683</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2017&amp;diff=118683"/>
		<updated>2017-03-19T09:08:48Z</updated>

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