Savi: Difference between revisions
From ICO wiki test
Jump to navigationJump to search
| Line 527: | Line 527: | ||
<body> | <body> | ||
<h2>Menüü</h2> | <h2>Menüü</h2> | ||
<xsl:for-each select="Menu/Category[ | <xsl:for-each select="Menu/Category[contains('Salad Grinder',@name)]"> | ||
<table border="1"> | <table border="1"> | ||
<tr> | <tr> | ||
Revision as of 22:24, 6 March 2015
Savi
Meeskonna liikmed
- Tõnu Sein
- Arvi Kangas
- Andres Sööt
- Marek Öövel
- Marju Niinemaa
XML andmefail
XML fail
<?xml version="1.0" encoding="UTF-8"?>
<!--Fastfood restorant Menu-->
<Menu>
<Category name="Pizza">
<Menu_Item name="Tomato & Cheese">
<Crust>
<Size>
<Small>
<Price>5.50</Price>
</Small>
<Large>
<Price>9.75</Price>
</Large>
<Extra_Large>
<Price>12.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>7.50</Price>
</Small>
<Large>
<Price>10.75</Price>
</Large>
<Extra_Large>
<Price>14.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
<Menu_Item name="Onion">
<Crust>
<Size>
<Small>
<Price>6.85</Price>
</Small>
<Large>
<Price>10.85</Price>
</Large>
<Extra_Large>
<Price>15.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>7.50</Price>
</Small>
<Large>
<Price>12.75</Price>
</Large>
<Extra_Large>
<Price>16.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
<Menu_Item name="Pepper">
<Crust>
<Size>
<Small>
<Price>6.85</Price>
</Small>
<Large>
<Price>10.85</Price>
</Large>
<Extra_Large>
<Price>11.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>8.85</Price>
</Small>
<Large>
<Price>14.85</Price>
</Large>
<Extra_Large>
<Price>18.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
</Category>
<Category name="Specialty Pizza">
<Menu_Item name="Three Aces Special">
<Crust>
<Size>
<Small>
<Price>9.80</Price>
</Small>
<Large>
<Price>15.80</Price>
</Large>
<Extra_Large>
<Price>20.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>2.80</Price>
</Small>
<Large>
<Price>18.80</Price>
</Large>
<Extra_Large>
<Price>25.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
<Menu_Item name="Mediterranean">
<Crust>
<Size>
<Small>
<Price>9.80</Price>
</Small>
<Large>
<Price>15.80</Price>
</Large>
<Extra_Large>
<Price>20.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>10.80</Price>
</Small>
<Large>
<Price>18.80</Price>
</Large>
<Extra_Large>
<Price>25.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
<Menu_Item name="Vegetarian">
<Crust>
<Size>
<Small>
<Price>9.80</Price>
</Small>
<Large>
<Price>15.80</Price>
</Large>
<Extra_Large>
<Price>11.30</Price>
</Extra_Large>
</Size>
</Crust>
<Pan>
<Size>
<Small>
<Price>9.80</Price>
</Small>
<Large>
<Price>15.80</Price>
</Large>
<Extra_Large>
<Price>11.30</Price>
</Extra_Large>
</Size>
</Pan>
</Menu_Item>
</Category>
<Category name="Special Dinner">
<Menu_Item name="Chicken Wing Dinner">
<Price>7.25</Price>
</Menu_Item>
<Menu_Item name="Gyro Plate">
<Price>7.25</Price>
</Menu_Item>
<Menu_Item name="Chicken Kabob Plate">
<Price>7.85</Price>
</Menu_Item>
</Category>
<Category name="Side Order">
<Menu_Item name="Onion Rings">
<Size>
<Small>
<Price>2.60</Price>
</Small>
<Large>
<Price>2.95</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="French Fries">
<Size>
<Small>
<Price>2.25</Price>
</Small>
<Large>
<Price>2.65</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Spicy Fries">
<Size>
<Small>
<Price>2.60</Price>
</Small>
<Large>
<Price>2.95</Price>
</Large>
</Size>
</Menu_Item>
</Category>
<Category name="Salad">
<Menu_Item name="Garden">
<Size>
<Small>
<Price>3.50</Price>
</Small>
<Large>
<Price>4.50</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Greek">
<Size>
<Small>
<Price>4.50</Price>
</Small>
<Large>
<Price>5.50</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Kabob Salad">
<Size>
<Small>
<Price>5.45</Price>
</Small>
<Large>
<Price>6.45</Price>
</Large>
</Size>
</Menu_Item>
</Category>
<Category name="Spaghetti">
<Menu_Item name="With Sauce">
<Price>5.40</Price>
</Menu_Item>
<Menu_Item name="With Sausage">
<Price>6.45</Price>
</Menu_Item>
<Menu_Item name="A la Three Aces">
<Price>7.25</Price>
</Menu_Item>
</Category>
<Category name="Ziti">
<Menu_Item name="With Meat Ball">
<Price>6.45</Price>
</Menu_Item>
<Menu_Item name="With Veal">
<Price>6.45</Price>
</Menu_Item>
<Menu_Item name="Eggplant Ziti Dinner">
<Price>7.25</Price>
</Menu_Item>
</Category>
<Category name="Lasagna">
<Menu_Item name="With Sauce">
<Price>6.25</Price>
</Menu_Item>
<Menu_Item name="With Sausage">
<Price>7.25</Price>
</Menu_Item>
<Menu_Item name="Veggie">
<Price>7.25</Price>
</Menu_Item>
</Category>
<Category name="Ravioli">
<Menu_Item name="With Sauce">
<Price>6.25</Price>
</Menu_Item>
<Menu_Item name="With Sausage">
<Price>7.25</Price>
</Menu_Item>
<Menu_Item name="With Meatball">
<Price>7.25</Price>
</Menu_Item>
</Category>
<Category name="Manicotti">
<Menu_Item name="With Sauce">
<Price>6.25</Price>
</Menu_Item>
<Menu_Item name="With Sausage">
<Price>7.25</Price>
</Menu_Item>
<Menu_Item name="With Meatball">
<Price>7.25</Price>
</Menu_Item>
</Category>
<Category name="Calzone">
<Menu_Item name="Vegetarian">
<Size>
<Large>
<Price>7.35</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Sausage">
<Size>
<Large>
<Price>7.35</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Grecian">
<Size>
<Large>
<Price>7.35</Price>
</Large>
</Size>
</Menu_Item>
</Category>
<Category name="Wrap">
<Menu_Item name="Turkey Club Wrap">
<Price>4.95</Price>
</Menu_Item>
<Menu_Item name="Chicken Cobb">
<Price>4.95</Price>
</Menu_Item>
<Menu_Item name="Greek Supreme">
<Price>4.95</Price>
</Menu_Item>
</Category>
<Category name="Grinder">
<Menu_Item name="Meatless">
<Size>
<Small>
<Price>4.50</Price>
</Small>
<Large>
<Price>4.95</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Hamburger">
<Size>
<Small>
<Price>4.50</Price>
</Small>
<Large>
<Price>4.95</Price>
</Large>
</Size>
</Menu_Item>
<Menu_Item name="Three Aces Special">
<Size>
<Small>
<Price>5.30</Price>
</Small>
<Large>
<Price>6.40</Price>
</Large>
</Size>
</Menu_Item>
</Category>
</Menu>
XML skeemifail
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Help types -->
<xs:simpleType name="priceType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="sizeType">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Small">
<xs:complexType>
<xs:all>
<xs:element name="Price" type="priceType">
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Large">
<xs:complexType>
<xs:all>
<xs:element name="Price" type="priceType">
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Extra_Large">
<xs:complexType>
<xs:all>
<xs:element name="Price" type="priceType">
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:element name="Menu">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Category">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Menu_Item">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Crust">
<xs:complexType>
<xs:all>
<xs:element name="Size" type="sizeType"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Pan">
<xs:complexType>
<xs:all>
<xs:element name="Size" type="sizeType"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Size" type="sizeType"/>
<xs:element name="Price" type="priceType"/>
</xs:choice>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT fail
Näitab xml-i pitsade andmeid tabelis
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="Menu/Category">
<h1></h1>
<table>
<caption><xsl:value-of select="@name"/></caption>
<tr>
<th>Pizza</th>
<th colspan="3">Crust</th>
<th colspan="3">Pan</th>
</tr>
<tr>
<th></th>
<th>Small</th>
<th>Large</th>
<th>Extra Large</th>
<th>Small</th>
<th>Large</th>
<th>Extra Large</th>
</tr>
<xsl:for-each select="*">
<tr>
<td><xsl:value-of select="@name"/></td>
<xsl:for-each select="Crust/Size/*">
<td><xsl:value-of select="Price"></xsl:value-of></td>
</xsl:for-each>
<xsl:for-each select="Pan/Size/*">
<td><xsl:value-of select="Price"></xsl:value-of></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Näitab menüü teisi toite va pitsad
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><!DOCTYPE html>
</xsl:text>
<html>
<head>
<meta charset="UTF-8"/>
<title>Menüü</title>
</head>
<body>
<h2>Menüü</h2>
<xsl:for-each select="Menu/Category[contains('Salad Grinder',@name)]">
<table border="1">
<tr>
<th>
<xsl:value-of select="@name"/>
</th>
<th>Small</th>
<th>Large</th>
</tr>
<xsl:for-each select="*">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<xsl:for-each select="Size/*">
<td>
<xsl:value-of select="Price"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
<xsl:for-each select="Menu/Category[contains('Spaghetti Ziti Lasanga Manicotti Wrap Ravioli', @name)]">
<table border="1">
<tr>
<th>
<xsl:value-of select="@name"/>
</th>
<th>Price</th>
</tr>
<xsl:for-each select="*">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<td>
<xsl:value-of select="Price"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
<xsl:for-each select="Menu/Category[@name='Calzone']">
<table border="1">
<tr>
<th>
<xsl:value-of select="@name"/>
</th>
<th>Price</th>
</tr>
<xsl:for-each select="*">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<xsl:for-each select="Size/*">
<td>
<xsl:value-of select="Price"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>