AM

From EIK wiki

Projekti kirjeldus

Telefoniraamatu teenus

Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida.

Analüüs

Millega on tegemist?

Telefoniraamatu klient/teenus:

  • kasutaja saab teenuses kontakte lisada ja kustutada;
  • kasutaja saab kontaktide perekonna nime järgi otsida;
  • kasutajaid on võimalik lisada gruppidesse;
  • kasutajal on võimalik lisada vajalike kontaktandmete liike;
  • kasutajal on võimalik saata teistele kasutajatele sõnumeid ja lugeda sõnumeid;

XML andmefail

<?xml version="1.0" encoding="utf-8" ?>
<Koolimajad>
  <Koolimaja nimi="Eesti Infotehnoloogia Kolledž">
    <Klassid>
      <Klass number="319" kohti="30">
        <Arvutid>
          <Arvuti tüüp="Laua">
            <Mälu kogus="3" ühik="GB">
              Kingston Technology Corp.
            </Mälu>
            <Operatsioonisüsteem>
              Windows 8
            </Operatsioonisüsteem>
            <Kuvar tollid="24">
              HP
            </Kuvar>
            <Kõvaketas maht="1" ühik="TB">
              IBM
            </Kõvaketas>
            <Protsessor kiirus="3,4" ühik="Ghz">
              Intel Core i3
            </Protsessor>
          </Arvuti>
          <Arvuti tüüp="Laua">
            <Mälu kogus="5" ühik="GB">
              Wintec Industries
            </Mälu>
            <Operatsioonisüsteem>
              Ubuntu 13.10
            </Operatsioonisüsteem>
            <Kuvar tollid="24">
              HP
            </Kuvar>
            <Kõvaketas maht="2" ühik="TB">
              Comport
            </Kõvaketas>
            <Protsessor kiirus="4,0" ühik="Ghz">
              Intel Core i7
            </Protsessor>
          </Arvuti>
        </Arvutid>
      </Klass>
      <Klass number="317" kohti="25">
        <Arvutid>
          <Arvuti tüüp="Süle">
            <Mälu kogus="4" ühik="GB">
              Corsair Memory
            </Mälu>
            <Operatsioonisüsteem>
              Snow Leopard
            </Operatsioonisüsteem>
            <Kuvar tollid="19">
              Samsung
            </Kuvar>
            <Kõvaketas maht="500" ühik="GB">
              Fuji Electric
            </Kõvaketas>
            <Protsessor kiirus="2,9" ühik="Ghz">
              Intel Core i5
            </Protsessor>
          </Arvuti>
        </Arvutid>
      </Klass>
    </Klassid>
  </Koolimaja>
  <Koolimaja nimi="Tallinna Tehnikaülikool">
    <Klassid>
      <Klass number="408" kohti="10">
        <Arvutid>
          <Arvuti tüüp="Laua">
            <Mälu kogus="7" ühik="GB">
              Mushkin Enhanced
            </Mälu>
            <Operatsioonisüsteem>
              Windows NT
            </Operatsioonisüsteem>
            <Kuvar tollid="20">
              Dell
            </Kuvar>
            <Kõvaketas maht="1" ühik="TB">
              Halo Data
            </Kõvaketas>
            <Protsessor kiirus="2,1" ühik="Ghz">
              Intel Core i3
            </Protsessor>
          </Arvuti>
        </Arvutid>
      </Klass>
    </Klassid>
  </Koolimaja>
</Koolimajad>

XML skeem

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchema1"
    targetNamespace="http://tempuri.org/XMLSchema1.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema1.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema1.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="Koolimajad">
    <xs:complexType>
      <xs:sequence>

        <xs:element name="Koolimaja">
          
          <xs:complexType>
            <xs:sequence>
          <xs:element name="Klassid">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Klass">
                  
                  <xs:complexType>  
                    
                    <xs:sequence>
                      <xs:element name="Arvutid">
                        <xs:complexType>
                          <xs:sequence>

                            <xs:element name="Arvuti">
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="Mälu">
                                    <xs:complexType>
                                      <xs:simpleContent>
                                        <xs:extension base="xs:string">
                                          <xs:attribute name="ühik" type="xs:string" use="required" />
                                          <xs:attribute name="kogus" type="xs:integer" use="required" />
                                        </xs:extension>
                                      </xs:simpleContent>
                                    </xs:complexType>
                                  </xs:element>
                                  <xs:element name="Operatsioonisüsteem" type="xs:string"/>
                                  <xs:element name="Kuvar" >
                                    <xs:complexType>
                                      <xs:simpleContent>
                                        <xs:extension base="xs:string">
                                          <xs:attribute name="tollid" type="xs:integer" use="required" />
                                        </xs:extension>
                                      </xs:simpleContent>
                                    </xs:complexType>
                                  </xs:element>
                                  <xs:element name="Kõvaketas">
                                    <xs:complexType>
                                      <xs:simpleContent>
                                        <xs:extension base="xs:string">
                                          <xs:attribute name="ühik" type="xs:string" use="required" />
                                          <xs:attribute name="maht" type="xs:integer" use="required" />
                                        </xs:extension>
                                      </xs:simpleContent>
                                    </xs:complexType>
                                  </xs:element>
                                  <xs:element name="Protsessor">
                                    <xs:complexType>
                                      <xs:simpleContent>
                                        <xs:extension base="xs:string">
                                          <xs:attribute name="ühik" type="xs:string" use="required" />
                                          <xs:attribute name="kiirus" type="xs:float" use="required" />
                                        </xs:extension>
                                      </xs:simpleContent>
                                    </xs:complexType>
                                  </xs:element>
                                    
                                
                                </xs:sequence>
                                <xs:attribute name="tüüp" type="xs:string" use="required" />
                              </xs:complexType>
                            </xs:element>


                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>


                    </xs:sequence>
                    <xs:attribute name="number" type="xs:integer" use="required" />
                  </xs:complexType>
                  
                </xs:element>
            
            
            
                  </xs:sequence>
            </xs:complexType>
          </xs:element>

            </xs:sequence>
            <xs:attribute name="nimi" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>

      </xs:sequence>
     
    </xs:complexType>
    
    
  </xs:element>
  
</xs:schema>


XSLT andmefailid

Kõik andmed

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
       <html>
         <head>
          <title>Arvutiklassid</title>
        </head>
         <body>
           <ul>
             <xsl:for-each select="Koolimajad/Koolimaja">
               <xsl:variable name="Kool" select="."></xsl:variable>
               <br/>
               <li>
                 
                 <h1>
                   <xsl:value-of select="$Kool/@nimi"/>
                 </h1>
          <h2>Arvutiklassid</h2>
           <ul>
             <xsl:for-each select="./Klassid/Klass">
               <xsl:variable name="Klass" select="."></xsl:variable>
               <li>
                 Klassi number:
                 <xsl:value-of select="$Klass/@number"/>
                 <ul>
                   <xsl:for-each select="./Arvutid/Arvuti">
                     <xsl:variable name="Arvuti" select="."></xsl:variable>

                       <li>
                         <ul>
                         Arvuti tüüp:
                         <xsl:value-of select="$Arvuti/@tüüp"/>

                           <br/>Protsessor:
                           <xsl:value-of select="Protsessor"/>
                           <xsl:value-of select="Protsessor/@kiirus"/>
                           <xsl:value-of select="Protsessor/@ühik"/>
                           <br/> Mälu:
                           <xsl:value-of select="Mälu"/>
                           
                           <xsl:value-of select="Mälu/@kogus"/>
                           <xsl:value-of select="Mälu/@ühik"/>
                           <br/>OS:
                           <xsl:value-of select="Operatsioonisüsteem"/>
                           <br/>Kuvar:
                           <xsl:value-of select="Kuvar"/>
                           <xsl:value-of select="Kuvar/@tollid"/> tolli
                           
                           <br/>Kõvaketas:
                           <xsl:value-of select="Kõvaketas"/>
                           <xsl:value-of select="Kõvaketas/@maht"/>
                           <xsl:value-of select="Kõvaketas/@ühik"/>
                         </ul>
                       </li>
                   
                   </xsl:for-each>
                 </ul>

               </li>
             
             </xsl:for-each>
             
           </ul>
               </li>
             </xsl:for-each>
             
           </ul>
        </body>
      </html>

    </xsl:template>
</xsl:stylesheet>


Kõik arvutid

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Arvutid</title>
      </head>
      <body>
        <h1>Arvutid</h1>
        <ol>
          <xsl:for-each select="Koolimajad/Koolimaja/Klassid/Klass/Arvutid/Arvuti">
            <xsl:variable name="Arvuti" select="."></xsl:variable>
            <li>
              <table style="border-collapse:collapse; border:1px solid #000;" cellpadding="5">
                <tr>
                  <th style="border: 1px solid #000;">Tüüp</th>
                  <th style="border: 1px solid #000;">Protsessor</th>
                  <th style="border: 1px solid #000;">Mälu</th>
                  <th style="border: 1px solid #000;">Mälu kogus</th>
                  <th style="border: 1px solid #000;">OS</th>
                  <th style="border: 1px solid #000;">Kuvar</th>
                  <th style="border: 1px solid #000;">Kõvaketas</th>
                </tr>
                <tr>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="$Arvuti/@tüüp"/>arvuti
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Protsessor"/>
                    <xsl:value-of select="Protsessor/@kiirus"/>
                    <xsl:value-of select="Protsessor/@ühik"/>
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Mälu"/>
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Mälu/@kogus"/>
                    <xsl:value-of select="Mälu/@ühik"/>
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Operatsioonisüsteem"/>
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Kuvar"/>
                    <xsl:value-of select="Kuvar/@tollid"/>''
                  </td>
                  <td style="border: 1px solid #000;">
                    <xsl:value-of select="Kõvaketas"/>
                    <xsl:value-of select="Kõvaketas/@maht"/>
                    <xsl:value-of select="Kõvaketas/@ühik"/>
                  </td>
                </tr>
              </table>
            </li>
          </xsl:for-each>
        </ol>
      </body>
    </html>

  </xsl:template>
</xsl:stylesheet>

Projekti kood

Klient ja teenus asuvad: http://enos.itcollege.ee/~mjant/VorgurakendusedII/ContactBookVRII.zip

MRPD
Ülikool: Eesti Infotehnoloogia Kolledž
Tüüp: Võrgurakendused II
Meeskond "AM": Andres Kalev
Marten Jänt
Juhendaja: Mait Poska