Edi: XSL zum Erstellen eins PDF in Querformat

Hallo,
ich nutze ein xsl um ein PDF zu erstellen. Allerdings ohne
<fo:root ...>
fo:layout-master-set
  <fo:simple-page-master master-name="A4-landscape" page-height="21cm" page-width="29.7cm" [..]>
zu verwenden.
Ich habe praktisch ein Standard xsl mit nur einigen fo:Anweisungen. Hier ein Auszug aus meinem XSL:
<?xml version="1.0" encoding="ISO-8859-15"?>
<xsl:stylesheet version="1.1"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
  <xsl:decimal-format name="eu" decimal-separator="," grouping-separator="."/>
  <xsl:output method="pdf" encoding="ISO-8859-15" />
  <xsl:variable name="DATE_SEPARATOR">.</xsl:variable>

<xsl:template match="DATEN">
    xsl:choose
      <xsl:when test="$TOTRECORDS>'0'">
        fo:block
          Ausdruck Stammdaten
          <xsl:if test="$TIPOANAG='E'"> Auslandslieferanten</xsl:if>
          <xsl:if test="$TIPOANAG='F'"> Lieferanten</xsl:if>
          <xsl:if test="$TIPOANAG='C'"> Kunden</xsl:if>
          <xsl:if test="$TIPOANAG='D'"> Angestellte</xsl:if>
        </fo:block>
.....

Wie kann ich auf diese Art den Ausdruck in PDF auf Querformat einstellen?

Danke
Edmund Schöpf

  1. Hallo Edi,

    ich nutze ein xsl um ein PDF zu erstellen. Allerdings ohne
    <fo:root ...>
    fo:layout-master-set
      <fo:simple-page-master master-name="A4-landscape" page-height="21cm" page-width="29.7cm" [..]>
    zu verwenden.

    Gibt es dafür Gründe? FO-Dokumente sind nach der FO-Spezifikation zu erstellen, ansonsten wird diese wohl kein Formatierer entsprechend umsetzen und fo:root ist das Wurzelelement.

    Ich habe praktisch ein Standard xsl mit nur einigen fo:Anweisungen. Hier ein Auszug aus meinem XSL:

    »» <?xml version="1.0" encoding="ISO-8859-15"?>  
    
    > <xsl:stylesheet version="1.1" ...
    
    

    XSLT 1.1 als Working Draft von 2001?

    »» <xsl:output method="pdf" encoding="ISO-8859-15" />

    Welcher XSLT-Prozessor unterstützt diese Ausgabemethode? XSLT 1.0 definiert die Methoden html, xml und text und XSLT 2.0 fügt noch xhtml hinzu. Prozessoren können aber eigene Erweiterungen durchaus mitbringen.

      
    
    >         <fo:block>  
    >           Ausdruck Stammdaten  
    >           <xsl:if test="$TIPOANAG='E'"> Auslandslieferanten</xsl:if>  
    >           <xsl:if test="$TIPOANAG='F'"> Lieferanten</xsl:if>  
    >           <xsl:if test="$TIPOANAG='C'"> Kunden</xsl:if>  
    >           <xsl:if test="$TIPOANAG='D'"> Angestellte</xsl:if>  
    >         </fo:block>
    
    

    Das liefert ein fo:block-Element, welches gern Bestandteil einer Region wäre, etwa von fo:region-body.

    Wie kann ich auf diese Art den Ausdruck in PDF auf Querformat einstellen?

    Nutze die von FO zur Verfügung gestellten Techniken und verwende dann den Formatierer Deiner Wahl (FOP, Antenna House XSL Formatter, RenderX XEP usw.).

    Grüße,
    Thomas