Meeskond "Nämm-nämm": Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
Line 404: Line 404:
</xs:schema>
</xs:schema>
</source>
</source>
'''XSL'''
<source lang="xml">
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="kohvikud">
  <h2>Kohvik <xsl:value-of select="kohvik/nimi"/></h2>
  <p>Asukoht: <xsl:value-of select="kohvik/aadress/tanav"/> <xsl:value-of select="kohvik/aadress/maja"/>,
  <xsl:value-of select="kohvik/aadress/linnVald"/>, <xsl:value-of select="kohvik/aadress/maakond"/>,
  <xsl:value-of select="kohvik/aadress/riik"/>
  </p>
 
  <p>Lahtiolekuajad: <br />
  <xsl:for-each select="kohvik/lahtiolekuajad/lahtiolekuaeg">
<xsl:value-of select="nadalapaev"/> -
<xsl:value-of select="avamisaeg/tund"/>:<xsl:value-of select="avamisaeg/minut"/> -
<xsl:value-of select="sulgemisaeg/tund"/>:<xsl:value-of select="sulgemisaeg/minut"/><br />
  </xsl:for-each>
</p>
<p>Lahtiolekuaegade erandid: <br />
  <xsl:for-each select="kohvik/lahtiolekuajad/erandid/erand">
<xsl:value-of select="kuupaev/paev"/>/<xsl:value-of select="kuupaev/kuu"/>/<xsl:value-of select="kuupaev/aasta"/>  -
<xsl:value-of select="avamisaeg/tund"/>:<xsl:value-of select="avamisaeg/minut"/> -
<xsl:value-of select="sulgemisaeg/tund"/>:<xsl:value-of select="sulgemisaeg/minut"/><br />
  </xsl:for-each>
</p>
 
<h3><strong>MENÜÜ</strong></h3>
<p><xsl:for-each select="kohvik/menüü/kategooria">
<strong>-- <xsl:value-of select="nimetus"/> -- </strong><br /><br />
SOODUSTUSED: <br />
<table border="1">
<tr>
  <th align="center">Liik</th>
  <th align="center">Suurus</th>
  <th align="center">Ühik</th>
</tr>
<xsl:for-each select="soodustused/soodustus">
<tr>
  <td align="center"><xsl:value-of select="liik"/></td>
  <td align="center"><xsl:value-of select="suurus"/></td>
  <td align="center"><xsl:value-of select="yhik"/></td>
</tr>
</xsl:for-each>
</table> <br /> <br />
<xsl:for-each select="toit">
<strong><xsl:value-of select="nimetus"/></strong> <br />
<xsl:for-each select="ports">
<xsl:value-of select="suurus"/> - <xsl:value-of select="hind/vaartus"/> <xsl:value-of select="hind/valuuta"/><br />
</xsl:for-each>
</xsl:for-each>
  </xsl:for-each></p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
</source>
== XSLT tulemus ==
[[File:Xsllololololol.jpg]]


== Veebiteenus ==
== Veebiteenus ==

Revision as of 18:43, 28 February 2011

Idee

Idee järgmine:

Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele on tal võimalus näiteks sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht(kaardi pealt näeb ka teiste kohvikute aadresse). Võimalus muidugi vaadata kõigi kohvikute menüüd ning otsida menüüde vahel meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.

Meeskond

  • Allar Märk
  • Gert Glükmann
  • Joosep Ilves
  • Kaspar Kallasmaa
  • Siim Aaver

XML

XML

<?xml version="1.0" encoding="utf-8" ?>
<kohvikud>
  <kohvik id="0">
    <nimi>Saiapäts</nimi>
    <aadress laius="59.395515" pikkus="24.664993">
      <riik>Eesti</riik>
      <maakond>Harjumaa</maakond>
      <linnVald>Tallinn</linnVald>
      <indeks>64739</indeks>
      <tanav>pätsi</tanav>
      <maja>5</maja>
    </aadress>   
    <lahtiolekuajad>   
      <alates>               <--nende lahtiolekuaegade kehtivuse alguskuupäev. Saab määrata lahtiolekuajad perioodide kaupa. Näiteks 01.01 alates on ühed, aga 01.06 teised. Seejuures saab igasse perioodi lisada ka erandeid, mil on kohvik suletud või teistel aegadel lahti.-->
        <aasta>2011</aasta>
        <kuu>01</kuu>
        <paev>01</paev>
      </alates>   
      <lahtiolekuaeg>
        <nadalapaev>E</nadalapaev>
        <avamisaeg>
          <tund>08</tund>
          <minut>00</minut>
        </avamisaeg>
        <sulgemisaeg>
          <tund>19</tund>
          <minut>00</minut>
        </sulgemisaeg>
      </lahtiolekuaeg>     
      <lahtiolekuaeg>
        <nadalapaev>T</nadalapaev>
        <avamisaeg>
          <tund>09</tund>
          <minut>30</minut>
        </avamisaeg>
        <sulgemisaeg>
          <tund>10</tund>
          <minut>00</minut>
        </sulgemisaeg>
      </lahtiolekuaeg>    
      <lahtiolekuaeg>
        <nadalapaev>R</nadalapaev>
        <avamisaeg>
          <tund>16</tund>
          <minut>00</minut>
        </avamisaeg>
        <sulgemisaeg>
          <tund>23</tund>
          <minut>00</minut>
        </sulgemisaeg>
      </lahtiolekuaeg>
      <erandid>        <--lahtiolekuaegade erandid-->
        <erand>
          <kuupaev>
            <aasta>2011</aasta>
            <kuu>02</kuu>
            <paev>24</paev>
          </kuupaev>
          <avamisaeg>
            <tund>suletud</tund>
            <minut></minut>
          </avamisaeg>
          <sulgemisaeg>
            <tund>17</tund>
            <minut>30</minut>
          </sulgemisaeg>
        </erand>
        <erand>
          <kuupaev>
            <aasta>2011</aasta>
            <kuu>02</kuu>
            <paev>25</paev>
          </kuupaev>
          <avamisaeg>
            <tund>12</tund>
            <minut>00</minut>
          </avamisaeg>
          <sulgemisaeg>
            <tund>16</tund>
            <minut>20</minut>
          </sulgemisaeg>
        </erand>
      </erandid>      
    </lahtiolekuajad>  
    <menüü>
      <kuupaev>
        <aasta>2011</aasta>
        <kuu>02</kuu>
        <paev>24</paev>
      </kuupaev>
      <kategooria>
        <nimetus>suupisted</nimetus>
        <soodustused>
          <soodustus>
            <liik>ISIC</liik>
            <suurus>10</suurus>
            <yhik>%</yhik>
          </soodustus>
          <soodustus>
            <liik>kliendikaart</liik>
            <suurus>0.1</suurus>
            <yhik>EUR</yhik>
          </soodustus>
        </soodustused>
        <toit>
          <nimetus>tikuvõileib magushapus kastmes</nimetus>
          <ports>                       <--ühte toitu võib olla mitmes erinevas suuruses, seejuures saab ka igale suurusele erinevad soodustused anda-->
            <suurus>väike</suurus>
            <saadaval>1</saadaval>      <--1 - true; 0 - false-->
              <hind>
                <vaartus>9.90</vaartus>
                <valuuta>EUR</valuuta>
              </hind>
          </ports>
          <ports>
            <suurus>suur</suurus>
            <saadaval>0</saadaval>
              <hind>
                <vaartus>9.90</vaartus>
                <valuuta>EUR</valuuta>
              </hind>
          </ports>
        </toit>
        <toit>
          <nimetus>seakamar</nimetus>
          <ports>
            <suurus>väike</suurus>
            <saadaval>1</saadaval>            <--1 - true; 0 - false-->
              <hind>
                <vaartus>9.90</vaartus>
                <valuuta>EUR</valuuta>
              </hind>
          </ports>
          <ports>
            <suurus>suur</suurus>
            <saadaval>0</saadaval>
              <hind>
                <vaartus>9.90</vaartus>
                <valuuta>EUR</valuuta>
              </hind>
          </ports>
        </toit>
      </kategooria>
      <kategooria>
        <nimetus>magustoidud</nimetus>
        <soodustused>
          <soodustus>
            <liik>ISIC</liik>
            <suurus>10</suurus>
            <yhik>%</yhik>
          </soodustus>
          <soodustus>
            <liik>kliendikaart</liik>
            <suurus>0.1</suurus>
            <yhik>EUR</yhik>
          </soodustus>
        </soodustused>
        <toit>
          <nimetus>kissell</nimetus>
          ...
        </toit>
        <toit>
          <nimetus>jäätis</nimetus>
          ...
        </toit>
      </kategooria>      
      <kategooria>
        <nimetus>mittealkoholsed joogid</nimetus>
        <soodustused>
          <soodustus>
            <liik>ISIC</liik>
            <suurus>10</suurus>
            <yhik>%</yhik>
          </soodustus>
          <soodustus>
            <liik>kliendikaart</liik>
            <suurus>0.1</suurus>
            <yhik>EUR</yhik>
          </soodustus>
        </soodustused>
        <toit>                      <--on sellepärast toit, et tekiks teatud loogiline jaotus-->
          <nimetus>piim</nimetus>
          ...
        </toit>      
        <toit>
          <nimetus>keefir</nimetus>
          ...
        </toit>
      </kategooria>
      <kategooria>
        <nimetus>alkoholsed joogid</nimetus>
        <soodustused>
          <soodustus>
            <liik>ISIC</liik>
            <suurus>10</suurus>
            <yhik>%</yhik>
          </soodustus>
          <soodustus>
            <liik>kliendikaart</liik>
            <suurus>0.1</suurus>
            <yhik>EUR</yhik>
          </soodustus>
        </soodustused>
        <toit>
          <nimetus>õlu pilsner</nimetus>
          ...
        </toit>        
        <toit>
          <nimetus>viin viru valge</nimetus>
          ...
        </toit>
      </kategooria>        
    </menüü>
  </kohvik>
</kohvikud>


XML Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="kohvikud">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="kohvik" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="nimi" type="xs:string" />
              <xs:element name="aadress">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="riik" type="xs:string" />
                    <xs:element name="maakond" type="xs:string" />
                    <xs:element name="linnVald" type="xs:string" />
                    <xs:element name="indeks" type="xs:unsignedShort" />
                    <xs:element name="tanav" type="xs:string" />
                    <xs:element name="maja" type="xs:string" />
                  </xs:sequence>
                  <xs:attribute name="laius" type="xs:decimal" use="required" />
                  <xs:attribute name="pikkus" type="xs:decimal" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element name="lahtiolekuajad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="alates">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="aasta" type="xs:unsignedShort" />
                          <xs:element name="kuu" type="xs:unsignedByte" />
                          <xs:element name="paev" type="xs:unsignedByte" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element maxOccurs="unbounded" name="lahtiolekuaeg">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nadalapaev" type="xs:string" />
                          <xs:element name="avamisaeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:unsignedByte" />
                                <xs:element name="minut" type="xs:unsignedByte" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="sulgemisaeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:unsignedByte" />
                                <xs:element name="minut" type="xs:unsignedByte" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="erandid">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="erand">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kuupaev">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="aasta" type="xs:unsignedShort" />
                                      <xs:element name="kuu" type="xs:unsignedByte" />
                                      <xs:element name="paev" type="xs:unsignedByte" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="avamisaeg">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="tund" type="xs:string" />
                                      <xs:element name="minut" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="sulgemisaeg">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="tund" type="xs:string" />
                                      <xs:element name="minut" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="menüü" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="kuupaev">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="aasta" type="xs:unsignedShort" />
                          <xs:element name="kuu" type="xs:unsignedByte" />
                          <xs:element name="paev" type="xs:unsignedByte" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element maxOccurs="unbounded" name="kategooria">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                          <xs:element name="soodustused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="soodustus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="liik" type="xs:string" />
                                      <xs:element name="suurus" type="xs:decimal" />
                                      <xs:element name="yhik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element maxOccurs="unbounded" name="toit">
                            <xs:complexType mixed="true">
                              <xs:sequence>
                                <xs:element name="nimetus" type="xs:string" />
                                <xs:element minOccurs="0" maxOccurs="unbounded" name="ports">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="suurus" type="xs:string" />
                                      <xs:element name="saadaval" type="xs:boolean" />
                                      <xs:element name="hind">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="vaartus" type="xs:decimal" />
                                            <xs:element name="valuuta" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:unsignedShort" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


XSL

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="kohvikud">
  <h2>Kohvik <xsl:value-of select="kohvik/nimi"/></h2>
  <p>Asukoht: <xsl:value-of select="kohvik/aadress/tanav"/> <xsl:value-of select="kohvik/aadress/maja"/>, 
  <xsl:value-of select="kohvik/aadress/linnVald"/>, <xsl:value-of select="kohvik/aadress/maakond"/>, 
  <xsl:value-of select="kohvik/aadress/riik"/>
  </p>
  
  <p>Lahtiolekuajad: <br />
  <xsl:for-each select="kohvik/lahtiolekuajad/lahtiolekuaeg">
<xsl:value-of select="nadalapaev"/> - 
<xsl:value-of select="avamisaeg/tund"/>:<xsl:value-of select="avamisaeg/minut"/> - 
<xsl:value-of select="sulgemisaeg/tund"/>:<xsl:value-of select="sulgemisaeg/minut"/><br />
  </xsl:for-each>
</p>

 <p>Lahtiolekuaegade erandid: <br />
   <xsl:for-each select="kohvik/lahtiolekuajad/erandid/erand">
<xsl:value-of select="kuupaev/paev"/>/<xsl:value-of select="kuupaev/kuu"/>/<xsl:value-of select="kuupaev/aasta"/>  - 
<xsl:value-of select="avamisaeg/tund"/>:<xsl:value-of select="avamisaeg/minut"/> - 
<xsl:value-of select="sulgemisaeg/tund"/>:<xsl:value-of select="sulgemisaeg/minut"/><br />
  </xsl:for-each>
 </p>
  
<h3><strong>MENÜÜ</strong></h3>

<p><xsl:for-each select="kohvik/menüü/kategooria">
<strong>-- <xsl:value-of select="nimetus"/> -- </strong><br /><br />


SOODUSTUSED: <br />
<table border="1">
<tr>
  <th align="center">Liik</th>
  <th align="center">Suurus</th>
  <th align="center">Ühik</th>
</tr>
<xsl:for-each select="soodustused/soodustus">
<tr>
  <td align="center"><xsl:value-of select="liik"/></td>
  <td align="center"><xsl:value-of select="suurus"/></td>
  <td align="center"><xsl:value-of select="yhik"/></td>
</tr>
</xsl:for-each>

</table> <br /> <br />

<xsl:for-each select="toit">
<strong><xsl:value-of select="nimetus"/></strong> <br />
<xsl:for-each select="ports">
<xsl:value-of select="suurus"/> - <xsl:value-of select="hind/vaartus"/> <xsl:value-of select="hind/valuuta"/><br />
</xsl:for-each>
</xsl:for-each>

   </xsl:for-each></p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

XSLT tulemus

Veebiteenus

Rakendus ASP.NET baasil

Logi