<?xml version='1.0' encoding="ISO-8859-1" ?>
<!-- $Id: LaTeX-Buecher.xsl,v 1.4 2002/11/05 12:22:16 g029 Exp g029 $ -->

<!-- LaTeX-Buecher.xsl                                   -->
<!-- XSL-Datei (passend zu LaTeX-Buecher.xml             -->
<!-- kann mit SAXON und anderen Tools verarbeitet werden -->
<!-- 05.11.2002, GP (HRZ Gießen)                         -->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html" encoding="ISO-8859-1" />

   <!-- ======================================================== -->
   <!-- Verschiedene Voreinstellungen                            -->

   <xsl:param name="sortierung" select="autor" />
   <!-- Andere sinnvolle Angaben für select sind beispielsweise: -->
   <!-- jahr                                                     -->
   <!-- isbn                                                     -->

   <xsl:param name="auswahl" select="buecher/buch" />
   <!-- Andere sinnvolle Angaben für select sind beispielsweise: -->
   <!-- buecher/buch[sprache='deutsch']                          -->
   <!-- buecher/buch[kategorie='METAFONT' and sprache='deutsch'] -->
   <!-- buecher/buch[kategorie='METAFONT']                       -->
   <!-- Verschiedene Voreinstellungen                            -->

   <xsl:param name="obbeschreibung" select="true()" />
   <!-- Andere sinnvolle Angabe ist:                             -->
   <!-- false()                                                  -->

   <xsl:param name="obbild" select="true()" />
   <!-- Andere sinnvolle Angabe ist:                             -->
   <!-- false()                                                  -->

   <xsl:param name="obpreis" select="true()" />
   <!-- Andere sinnvolle Angabe ist:                             -->
   <!-- false()                                                  -->

   <!-- ======================================================== -->
   <!-- Eigentliche Verarbeitung                                 -->
   <xsl:template match="/">
      <html>
      <meta name="Author" content="Guenter.Partosch@hrz.uni-giessen.de" /> 
      <link rel="stylesheet" type="text/css" href="kurs.css" />
      <head><title>Bücher zu TeX, LaTeX, METAFONT und WEB</title></head>

      <body>
      <h1>Bücher zu TeX, LaTeX, METAFONT und WEB</h1>
      <dl>
      <xsl:for-each select="$auswahl">
         <xsl:sort select="$sortierung" />
         <xsl:call-template name="xbuch" />
      </xsl:for-each>
      </dl>

      <hr />
      <address>
      <p>$Revision: 1.4 $ ($Date: 2002/11/05 12:22:16 $)
      by $Author: g029 $</p>
      </address>
      </body>
      </html>
   </xsl:template>

   <xsl:template name="xbuch">

      <dt><strong>
      <xsl:number />
      <xsl:if test="@status='nicht lieferbar'">
         <code>*</code>
      </xsl:if>
      <xsl:if test="@status='Sonderbestellung'">
         <code>**</code>
      </xsl:if><xsl:text> </xsl:text>
      <xsl:for-each select="autor">
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>: </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>; </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>
      </strong></dt>

      <dd>
      <xsl:for-each select="mitarbeit">
         <xsl:choose>
            <xsl:when test="position()=1">
               <xsl:text>[Unter Mitarbeit von </xsl:text>
            </xsl:when>
         </xsl:choose>
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>] </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>; </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:if test="titel">
         <em><xsl:value-of select="titel" /></em>
         <xsl:if test="untertitel">
            <xsl:text> -- </xsl:text>
            <em><xsl:value-of select="untertitel" /></em>
         </xsl:if><xsl:text>; </xsl:text>
      </xsl:if>

      <xsl:if test="auflage">
         <xsl:value-of select="auflage" />
         <xsl:choose>
            <xsl:when test="jahr">
               <xsl:text>, </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>; </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:if>

      <xsl:for-each select="jahr">
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>; </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>, </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:if test="verlag">
         <xsl:value-of select="verlag" />
         <xsl:choose>
            <xsl:when test="ort">
               <xsl:text>, </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>; </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:if>

      <xsl:for-each select="ort">
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>; </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>, </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:for-each select="isbn">
         <xsl:choose>
            <xsl:when test="position()=1">
               <xsl:text>ISBN&#160;</xsl:text>
            </xsl:when>
         </xsl:choose>
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>; </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>, </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:if test="umfang">
         <xsl:value-of select="umfang" />;
      </xsl:if>

      <xsl:for-each select="zugabe">
         <xsl:choose>
            <xsl:when test="position()=1">
               <xsl:text>mit </xsl:text>
            </xsl:when>
         </xsl:choose>
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>; </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>, </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:if test="ausstattung">
         <xsl:value-of select="ausstattung" />;
      </xsl:if>

      <xsl:if test="format">
         <xsl:value-of select="format" />;
      </xsl:if>

      <xsl:if test="sprache">
      </xsl:if>

      <xsl:for-each select="kategorie">
         <xsl:choose>
            <xsl:when test="position()=1">
               <br /><u><xsl:text>Kategorie</xsl:text></u>
               <xsl:text>: </xsl:text>
            </xsl:when>
         </xsl:choose>
         <xsl:value-of select="." />
         <xsl:choose>
            <xsl:when test="position()=last()">
               <xsl:text>; </xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text>, </xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:for-each>

      <xsl:if test="$obpreis">
         <xsl:for-each select="preis">
            <br /><u><xsl:text>Preis</xsl:text>
            <xsl:if test="@bei">
               <xsl:text> bei </xsl:text><xsl:value-of select="@bei" />
            </xsl:if>
            <xsl:if test="@am">
               <xsl:text> am </xsl:text><xsl:value-of select="@am" />
            </xsl:if>
            </u><xsl:text>: </xsl:text>
            <xsl:value-of select="." />
            <xsl:if test="@gebunden='ja'"> 
               <xsl:text> (mit Preisbindung)</xsl:text>
            </xsl:if>
            <xsl:if test="@gebunden='nein'"> 
               <xsl:text> (ohne Preisbindung)</xsl:text>
            </xsl:if>
            <xsl:text>; </xsl:text>
         </xsl:for-each>
      </xsl:if>

      <xsl:if test="bemerkung">
         <xsl:for-each select="bemerkung">
            <br /><u>Anmerkung</u>:
            <xsl:value-of select="." />
         </xsl:for-each>
      </xsl:if>

      <xsl:if test="$obbild">
         <xsl:for-each select="bild">
            <br /><u>Bild
            <xsl:if test="./@bei">
               <xsl:text> (</xsl:text>
               <xsl:value-of select="./@bei" />
               <xsl:text>)</xsl:text>
            </xsl:if>
            </u><xsl:text>: </xsl:text>
            <xsl:element name="a">
               <xsl:attribute name="href">
                  <xsl:value-of select="." />
               </xsl:attribute>
               <code><xsl:value-of select="." /></code>
            </xsl:element>
         </xsl:for-each>
      </xsl:if>

      <xsl:if test="$obbeschreibung">
         <xsl:for-each select="beschreibung">
            <br /><u><xsl:text>Beschreibung bei </xsl:text>
            <xsl:value-of select="./@bei" /></u>:<br />
            <xsl:apply-templates mode="beschreibung"/>
         </xsl:for-each>
      </xsl:if>
      </dd>
   </xsl:template>

   <xsl:template match="p" mode="beschreibung">
      <p><xsl:apply-templates mode="beschreibung"/></p>
   </xsl:template>

   <xsl:template match="ul" mode="beschreibung">
      <ul><xsl:apply-templates mode="beschreibung"/></ul>
   </xsl:template>

   <xsl:template match="li" mode="beschreibung">
      <li><xsl:apply-templates mode="beschreibung"/></li>
   </xsl:template>

   <xsl:template match="br" mode="beschreibung">
      <br />
   </xsl:template>

   <xsl:template match="b" mode="beschreibung">
      <strong><xsl:apply-templates mode="beschreibung"/></strong> 
   </xsl:template>

   <xsl:template match="i" mode="beschreibung">
      <em><xsl:apply-templates mode="beschreibung"/></em> 
   </xsl:template>

   <xsl:template match="tt" mode="beschreibung">
      <code><xsl:apply-templates mode="beschreibung"/></code>
   </xsl:template>

</xsl:stylesheet>


