Meeskond "H2": Difference between revisions
Line 259: | Line 259: | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</pre> | </pre> | ||
---- |
Revision as of 21:04, 26 February 2011
Kohviku menüüsüsteem
Projekt
Kohvikute (esialgu ainult IT-Kohviku) menüüsüsteem, mis on jälgitav mobiilseadmetelt. Lisaväärtusena võimaldab anda pakutavale hinnanguid, otsuse langetamise hõlbustamiseks kommentaar:(see viimane funktsioon kipub vist "veebirakenduseks" muutuma)
Sihtplatvormid:
Symbian, Windows Mobile, iOS, Android, Blackberry (kui leiame vabatahtlikud testijad)
Taustinfo
Praegune IT-Kohviku menüü on käsitsi täidetav valge tahvel. Projekti eesmärgiks on parendada IT-Kohviku menüüsüsteemi ja teha see veebi kaudu kättesaadavaks, nii, et menüüsse saab lisada ka karniiri valiku. Standardmenüü puhul saab menüüs olla ka illustreeriv foto. Hetkemenüü ning hinnad ja lahtioleku ajad on samuti jälgitavad võrguühendust eviva mobiilseadme ekraanilt, hõlbustades sellega valikute tegemist.
Liikmed
Henri Kroosmann
Heiki Tamm
Sisu
XML Data
<?xml version="1.0" encoding="utf-8"?> <menu> <product> <name>name1</name> <type> <id>0</id> <name>name1</name> </type> <extras> <item>item1</item> <item>item2</item> <item>item3</item> </extras> <price> <int>0</int> <frac>0</frac> <discount>discount1</discount> </price> <vote> <pos>0</pos> <neg>0</neg> </vote> <screenshot>screenshot1</screenshot> </product> <product> <name>name2</name> <type> <id>255</id> <name>name2</name> </type> <extras> <item>item4</item> <item>item5</item> <item>item6</item> </extras> <price> <int>255</int> <frac>255</frac> <discount>discount2</discount> </price> <vote> <pos>255</pos> <neg>255</neg> </vote> <screenshot>screenshot2</screenshot> </product> <product> <name>name3</name> <type> <id>1</id> <name>name3</name> </type> <extras> <item>item7</item> <item>item8</item> <item>item9</item> </extras> <price> <int>1</int> <frac>1</frac> <discount>discount3</discount> </price> <vote> <pos>1</pos> <neg>1</neg> </vote> <screenshot>screenshot3</screenshot> </product> </menu>
XML Schema
Ülevaade Schema'st.
Ning sellele vastav kood.
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="menu"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="product"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="type"> <xs:complexType> <xs:sequence> <xs:element name="id" type="xs:unsignedByte" /> <xs:element name="name" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="extras"> <xs:complexType> <xs:sequence minOccurs="0"> <xs:element maxOccurs="unbounded" name="item" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="price"> <xs:complexType> <xs:sequence minOccurs="0"> <xs:element name="int" type="xs:unsignedByte" /> <xs:element name="frac" type="xs:unsignedByte" /> <xs:element minOccurs="0" name="discount" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="vote"> <xs:complexType> <xs:sequence> <xs:element name="pos" type="xs:unsignedByte" /> <xs:element name="neg" type="xs:unsignedByte" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="screenshot" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XML Style
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <style type="text/css"> html,body{margin:0;padding:0;font-family:Helvetica,Arial,sans-serif;font-size:14px;line-height:19px;color:#2c2c2c;} h1{margin:0;padding:25px 0 0;font-size:22px;line-height:25px;text-align:center;} h2{margin:0;padding:5px;font-size:16px;line-height:21px} span.discount{padding:0 0 0 5px;color:red;} table{margin:20px auto;padding:0;} th,td{padding:5px;border:1px solid #2c2c2c;vertical-align:top;text-align:left} th{font-weight:bold;background-color:#eee;} ul{margin:0;padding:0;list-style-type:none;} </style> </head> <body> <h1>Menüü</h1> <table width="800"> <col width="200"/> <col width="100"/> <col width="*"/> <col witdh="*"/> <col width="*"/> <col width="150"/> <tr> <th>Nimetus</th> <th>Lisandid</th> <th>Tüüp</th> <th>Hind</th> <th>Hinne / Hindajaid</th> <th>Pilt</th> </tr> <xsl:for-each select="menu/product"> <xsl:sort select="type/id"/> <xsl:sort select="name"/> <tr> <th> <xsl:value-of select="name"/> </th> <xsl:choose> <xsl:when test="extras/node()"> <td> <ul> <xsl:for-each select="extras/item"> <li> <xsl:value-of select="."/> </li> </xsl:for-each> </ul> </td> </xsl:when> <xsl:otherwise> <td>-</td> </xsl:otherwise> </xsl:choose> <td> <xsl:value-of select="type/name"/> </td> <xsl:choose> <xsl:when test="price/node()"> <td> €<xsl:value-of select="price/int"/>.<xsl:value-of select="price/frac"/> <xsl:if test="price/discount/text()"> <span class="discount"> (-<xsl:value-of select="price/discount"/>%) </span> </xsl:if> </td> </xsl:when> <xsl:otherwise> <td>-</td> </xsl:otherwise> </xsl:choose> <xsl:variable name="p" select="vote/pos"/> <xsl:variable name="n" select="vote/neg"/> <td> <xsl:value-of select="$p - $n"/> / <xsl:value-of select="$p + $n"/> </td> <xsl:choose> <xsl:when test="screenshot/text()"> <td> <img src="{screenshot}" alt=""/> </td> </xsl:when> <xsl:otherwise> <td> <img src="screenshots/default.png" alt="No image"/> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>