<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- by T. Meinike 07/2012 | speiseplan_html.xsl | Ausgabe von (X)HTML -->

    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
    
    <!-- Basistemplate / HTML-Grundgerüst -->
    <xsl:template match="speiseplan">

      <html>

        <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <title>Speiseplan der Mensa <xsl:value-of select="@mensa"/></title>
          <!-- CSS hier zur Vereinfachung intern -->
          <style type="text/css">* {font-family: Arial, sans-serif;} h1 {color: #00C; background-color: #FFF;} h2 {color: #C00; background-color: #FFF;} table {width: 1000px;} table,th,td,tr {border: 1px solid #000; border-collapse: collapse; text-align: center; padding: 5px;} table {margin-bottom: 30px;} img {width: 100px;}</style>
        </head>

        <body>
          <h1>Speiseplan der Mensa <xsl:value-of select="@mensa"/></h1>

          <!-- angebot-Template aufrufen -->
          <xsl:apply-templates select="angebot"/>
        </body>

      </html>

    </xsl:template>


    <!-- Template für die einzelnen Angebote -->
    <xsl:template match="angebot">

      <h2>Angebot am <xsl:value-of select="@datum"/></h2>

      <table>

        <thead>    
          <tr>
            <th>Theke</th>
            <th>Gericht</th>
            <th>Studenten</th>
            <th>Mitarbeiter</th>
            <th>Gäste</th>
            <th>Bild</th>
          </tr>
        </thead>

        <tbody>
          <!-- auswahl-Template aufrufen / Tabellenzeilen füllen -->
          <xsl:apply-templates select="auswahl"/>
        </tbody>

      </table>

    </xsl:template>


    <!-- Template für die eigentlichen Tabelleninhalte (Auswahl/Gerichte) -->
    <xsl:template match="auswahl">

      <tr>
        <th><xsl:value-of select="theke"/></th>
        <td><xsl:value-of select="gericht"/></td>
        <td><xsl:value-of select="preis/@s"/></td>
        <td><xsl:value-of select="preis/@m"/></td>
        <td><xsl:value-of select="preis/@g"/></td>
        <!-- externes Bild -->
        <td><img src="{bild}" alt="Gericht" /></td>
      </tr>

    </xsl:template>

</xsl:stylesheet>