AM

From ICO wiki
Jump to navigationJump to search

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