Meeskond:Error405

From ICO wiki
Jump to navigationJump to search

Liikmed

  • Priidik Soon
  • Mihkel Kivisild
  • Andre Kaur

VR2 Projekt

Etapp 1(XML failid)

XML fail

<?xml version="1.0" encoding="UTF-8"?>
<raamatukogud>
	<raamatukogu ID="1" nimi="TTÜ" linn="Tallinn" aadress="Akadeemia tee 1">
		<sektsioon ID="1" nimi="Matemaatika">
			<autor eesnimi="Peeter" perenimi="Puusemp">
				<teos>
					<pealkiri>Lineaaralgebra õpik</pealkiri>
					<aasta>2008</aasta>
				</teos>
				<teos>
					<pealkiri>Üldalgebra alused : õpik kõrgkoolidele</pealkiri>
					<aasta>2012</aasta>
				</teos>
			</autor>
			<autor eesnimi="Paolo" perenimi="Aluffi">
				<teos>
					<pealkiri>Algebra</pealkiri>
					<aasta>2009</aasta>
				</teos>
			</autor>
		</sektsioon>
		<sektsioon ID="2" nimi="Informaatika">
			<autor eesnimi="Peeter" perenimi="Lorents">
				<teos>
					<pealkiri>Informaatika teoreetilised alused: struktuurne aspekt</pealkiri>
					<aasta>2001</aasta>
				</teos>
				<teos>
					<pealkiri>Süsteemide maailm</pealkiri>
					<aasta>2006</aasta>
				</teos>
			</autor>
			<autor eesnimi="Jüri" perenimi="Kiho">
				<teos>
					<pealkiri>Algoritmid ja andmestruktuurid</pealkiri>
					<aasta>1997</aasta>
				</teos>
			</autor>
		</sektsioon>
	</raamatukogu>
	<raamatukogu ID="2" nimi="Keskraamatukogu" linn="Tallinn" aadress="Estonia pst 8">
		<sektsioon ID="1" nimi="Filosoofia">
			<autor eesnimi="Immanuel" perenimi="Kant">
				<teos>
					<pealkiri>Puhta mõistuse kriitika</pealkiri>
					<aasta>1781</aasta>
				</teos>
			</autor>
			<autor eesnimi="Werner" perenimi="Heisenberg">
				<teos>
					<pealkiri>Füüsika ja filosoofia</pealkiri>
					<aasta>2013</aasta>
				</teos>
			</autor>
		</sektsioon>
		<sektsioon ID="2" nimi="Ilukirjandus">
			<autor eesnimi="Friedebert" perenimi="Tuglas">
				<teos>
					<pealkiri>Väike Illimar</pealkiri>
					<aasta>1937</aasta>
				</teos>
				<teos>
					<pealkiri>Felix Ormusson</pealkiri>
					<aasta>1915</aasta>
				</teos>
			</autor>
			<autor eesnimi="Anton Hansen" perenimi="Tammsaare">
				<teos>
					<pealkiri>Kõrboja Peremees</pealkiri>
					<aasta>1922</aasta>
				</teos>
			</autor>
		</sektsioon>
	</raamatukogu>
</raamatukogud>

XSD fail

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="raamatukogud">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="raamatukogu">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="sektsioon">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="autor">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="teos">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="pealkiri" type="xs:string" />
                                <xs:element name="aasta" type="xs:unsignedShort" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="eesnimi" type="xs:string" use="required" />
                        <xs:attribute name="perenimi" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="ID" type="xs:unsignedInt" use="required" />
                  <xs:attribute name="nimi" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="ID" type="xs:unsignedInt" use="required" />
            <xs:attribute name="nimi" type="xs:string" use="required" />
            <xs:attribute name="linn" type="xs:string" use="required" />
            <xs:attribute name="aadress" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT fail HTML-i transformeerimiseks

<?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>Raamatukogud</title>
      </head>
      <body>
        <!--pealkiri millel on css stiili lisatud-->
        <div id="Pealkiri" style="background-color:DarkGray; padding:10px;">
          <h1>Raamatukogud</h1>
        </div>
        <!--xml failist loetud elemendid ja attribuudid koos css stiiliga-->
        <div id="RaamatukoguElementLehel" style="background-color:whitesmoke; padding:10px;">
          <xsl:for-each select="raamatukogud/raamatukogu">
            <h1>
              <!--väljastab raamatukogu nime väärtuse-->
              <xsl:value-of select="@nimi"/>
            </h1>
            <ol>
              <xsl:for-each select="sektsioon">
                <li>
                  <!--väljastab sektsiooni nime-->
                  <xsl:value-of select="@nimi"/>
                </li>
                <ol>
                  <xsl:for-each select="autor">
                    <li>
                      <!--Väljastame autori eesnime ja perekonnanime-->
                      <xsl:value-of select="@eesnimi"/>&#160;<!--tühik-->
                      <xsl:value-of select="@perenimi"/>
                    </li>
                    <ul>
                      <xsl:for-each select="teos">
                        <li>
                          <!--Väljastab teose pealkirja ja väljalaske aasta-->
                          <xsl:value-of select="pealkiri"/>&#160;(<xsl:value-of select="aasta"/>)
                        </li>
                      </xsl:for-each>
                    </ul>
                  </xsl:for-each>
                </ol>
              </xsl:for-each>
            </ol>
          </xsl:for-each>
        </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XSLT fail XML-i formaadi muutmiseks

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>

  <xsl:template match="raamatukogud/raamatukogu/@*">
    <xsl:element name="{name()}">
      <xsl:value-of select="."/>
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

Veebiteenuse analüüs

Kirjeldus

Loodava teenuse eesmärgiks on anda nõutule inimesele hea söögiidee. Nimelt seisneb teenus selles, et kasutaja saab endale konto luua, kus ta saab ära määrata, millised on tema söögieelistused. Teenuses on eelnevalt olemas administraatorite poolt lisatud toidu retseptid (kusjuures oluline on, et eine peab olema võrdlemisi lihtsalt valmistatav). Teenus võimaldab ühe nupu vajutusega kuvada ette üks suvaline retsept, pakkudes teenuse kasutajale välja eine idee.

Kasutaja

Kasutaja on veebiteenuse kasutaja, kes saab endale registreerida konto. Kasutaja jaoks on veebiteenuses loodud funktsioonid, mida ta saab oma klientrakenduses välja kutsuda. Veebirakendus peab logi selle kohta kui palju mingi kasutaja on veebirakendust kasutanud. Et üks kasutaja ei saaks veebirakendust liialt koormata, piirame päringute arvu kasutaja kohta.

Funktsioonid

1) RandomRecipe - tagastatakse suvaline söögiretsept
2) RandomRecipeCat - tagastatakse suvaline söögiretsept etteantud kategooriast
3) LimitedRandomRecipe - tagastatakse suvaline söögiretsept, millele tuleb kaasa anda massiiv nendest toiduainetest, mida retsept sisaldada ei tohi
4) LimitedRandomRecipeCat - nagu eelmine, kuid ka kategooria tuleb ette anda
5) SpecificRecipe - tagastatakse retsept, milles kasutatakse etteantud toiduaineid
6) SpecificRecipeCat - nagu eelmine, kuid ka kategooria tuleb ette anda
7) Eelnevad funktsioonid mitmuses(tagastatakse etteantud arv retsepte)

Administraator

Administraator on veebiteenuse administraator. Tema saab lisada andmebaasi retsepte ja neid muuta ja ka kasutajaid kustutada vajadusel.

Must Have

  • Võimalus kasutajaid luua
  • Võimalus määrata eelistusi
  • Võimalus kuvada suvalist retsepti kas kategooria põhjal või kõigist retseptidest
  • Administraatori võimalus kasutajaid hallata
  • Administraatoril võimalik retsepte lisada
  • Retseptid on kategooriatesse jaotatud

Nice to Have

  • Automaatse ostunimekirja loomine retsepti valimisel
  • Ostukorvi nimekirja muutmine
  • Teenuse seostamine nt Prisma Marketi e-poega (automaatne ostukorvi täitmine)

Veebiteenus

arendamisel

Etapp 3(Klientrakendused)

Work in Progress