<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  
  <!-- by T. Meinike 07/2012 | artikel_pdf.xsl | Ausgabe von XSL-FO bzw. PDF -->
    
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    
  <!-- Haupttemplate / FO-Grundgerüst -->
  <xsl:template match="Artikel">
      
    <fo:root>
        
      <fo:layout-master-set>
          
        <!-- Seitendefinition -->
        <fo:simple-page-master master-name="A4-hochkant" page-width="21cm" page-height="29.7cm"
          margin-top="0.5cm" margin-bottom="0.75cm" margin-left="1.5cm" margin-right="1cm">
            
          <!-- nur ein Seitenbereich -->
          <fo:region-body margin-top="1cm"/>
            
        </fo:simple-page-master>
          
      </fo:layout-master-set>
        
      <!-- Seitenabfolge / Inhalte für die eigentlichen Seiten -->
      <fo:page-sequence master-reference="A4-hochkant">

        <!-- Inhaltsausgabe der ausgewählten XML-Daten -->
        <fo:flow flow-name="xsl-region-body">
            
          <!-- Titel, Untertitel, Autor ausgeben -->
          <fo:block font-size="24pt" font-family="Times, serif" font-weight="bold"><xsl:value-of select="Titel"/></fo:block>
          <fo:block font-size="18pt" font-family="Times, serif" font-weight="bold" margin-top="0.5cm"><xsl:value-of select="Untertitel"/></fo:block>
          <fo:block font-size="14pt" font-family="Times, serif" margin-top="0.25cm">Von <fo:inline font-style="italic"><xsl:value-of select="Autor"/></fo:inline></fo:block>
          <!-- Inhalte verarbeiten / weitere Templates anwenden -->
          <xsl:apply-templates select="Inhalt"/>
            
        </fo:flow>
          
      </fo:page-sequence>
        
    </fo:root>
      
  </xsl:template>
    
  <!-- Template für Inhalt -->
  <xsl:template match="Inhalt">
    <xsl:apply-templates/>
  </xsl:template>

  <!-- Template für Absatz -->
  <xsl:template match="Absatz">
    <fo:block font-size="12pt" margin-top="0.25cm"  font-family="Times, serif">
      <xsl:apply-templates/>
    </fo:block>
  </xsl:template>

  <!-- Template für externes Bild -->
  <xsl:template match="Bild">
    <fo:block margin-top="0.5cm" margin-bottom="0.5cm">
      <fo:external-graphic src="url('{Name}')" content-width="3cm"/>
      <fo:block font-size="10pt" font-family="Times, serif"><xsl:value-of select="Text"/></fo:block>
    </fo:block>
  </xsl:template>

  <!-- Template für Hervorhebung -->
  <xsl:template match="Hervorhebung">
    <fo:inline font-weight="bold" font-family="Times, serif"><xsl:value-of select="."/></fo:inline>
  </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>