<?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 | artikel_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 ausgehend vom Wurzelelement -->
  <xsl:template match="Artikel">
    <!-- HTML-Grundgerüst erzeugen -->
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Beispielartikel</title>
      </head>
      <body>          
        <!-- Titel, Untertitel, Autor ausgeben -->
        <h1><xsl:value-of select="Titel"/></h1>
        <h2><xsl:value-of select="Untertitel"/></h2>
        <p>Von <em><xsl:value-of select="Autor"/></em></p>
        <!-- Inhalte verarbeiten / weitere Templates anwenden -->
        <xsl:apply-templates select="Inhalt"/>            
      </body>
    </html>
  </xsl:template>


  <!-- Template für Inhalt -->
  <xsl:template match="Inhalt">
    <xsl:apply-templates/>
  </xsl:template>


  <!-- Template für Absatz -->
  <xsl:template match="Absatz">
    <p><xsl:apply-templates/></p>
  </xsl:template>


  <!-- Template für externes Bild -->
  <xsl:template match="Bild">
    <p>
      <img src="{Name}" alt="{Text}" width="150"/><br />
      <xsl:value-of select="Text"/>
    </p>      
  </xsl:template>


  <!-- Template für Hervorhebung -->
  <xsl:template match="Hervorhebung">
    <strong><xsl:value-of select="."/></strong>
  </xsl:template>


  <!-- Template für Textknoten (ggf. gemischt mit Hervorhebungen in den Absätzen) -->
  <xsl:template match="text()">
    <xsl:value-of select="."/>
  </xsl:template>

</xsl:stylesheet>