frenchcancan: DINA A4 Quer mit XSLT FO

Hallo!
obwohl ich ein Buch über XSLT Fo lese, habe ich noch einige Grunmdsätzliche Sachen nicht verstanden:
ich möchte eine XML Seite mit dem Internet Explorer ansehen und dann ausdrucken.
Beim Druck soll das Papierformat DINA4Quer sein.
Dafür habe ich eine XSLT geschrieben:(siehe unten)

Trotzdem ist meine Seite im Internet Explorer ind er Druckvorschau immer noch DinA4 Hoch.
Kann mir jemand sagen, warum? Ist es nicht gedacht, um den Druck qeur zu haben vom IE aus?
Danke für Eure Hilfe, ich verzweifle und halte mich damit seit TAgen auf!

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

<!-- STYLESHEET fuer die Stellenauslastung DIN A4 Quer-->
<!-- *****************************************************
** Parameter
***************************************************** -->
<!-- Blattgroessen -->
<xsl:param name="Papierbreite">297mm</xsl:param>
<xsl:param name="Papierhoehe">210mm</xsl:param>
<!-- Raender - Oben Rechts Unten Links -->
<xsl:param name="Seiten-Rd-Inhalt-rechts">10mm 7mm 18mm 18mm</xsl:param>
<xsl:param name="Seiten-Rd-Inhalt-links">10mm 18mm 18mm 7mm</xsl:param>
<xsl:param name="Body-Rd-Inhalt-rechts">20mm 30mm 0mm 0mm</xsl:param>
<xsl:param name="Body-Rd-Inhalt-links">20mm 0mm 0mm 30mm</xsl:param>
<!-- Typografie -->
<xsl:param name="Font-Familie">Arial Unicode MS</xsl:param>
<xsl:param name="Schriftgroesse-Text">10pt</xsl:param>
<xsl:param name="Schriftgroesse-Titel">16pt</xsl:param>
<!-- *****************************************************
** Templates
***************************************************** -->
<!-- *****************************************************
** Layout-master-set - Seitenfolgen
***************************************************** -->
<xsl:template match="/">
fo:root
fo:layout-master-set
<fo:simple-page-master margin="{$Seiten-Rd-Inhalt-rechts}" master-name="Vorgabeseite.Inhalt-rechts">
<xsl:attribute name="page-height" ><xsl:value-of select="$Papierhoehe" /></xsl:attribute>
<xsl:attribute name="page-width" ><xsl:value-of select="$Papierbreite" /></xsl:attribute>
<fo:region-body margin="{$Body-Rd-Inhalt-rechts}"/><fo:region-before region-name="Inhalt-rechts-davor" extent="10mm" display-align="before" border-afterstyle=" solid" border-after-width="1pt" />
</fo:simple-page-master>
<fo:simple-page-master margin="{$Seiten-Rd-Inhalt-links}" master-name="Vorgabeseite.Inhalt-links">
<xsl:attribute name="page-height" >
<xsl:value-of select="$Papierhoehe" />
</xsl:attribute>
<xsl:attribute name="page-width" >
<xsl:value-of select="$Papierbreite" />
</xsl:attribute>
<fo:region-body margin="{$Body-Rd-Inhalt-links}" />
<fo:region-before region-name="Inhalt-links-davor" extent="10mm" display-align="before" border-afterstyle=" solid" border-after-width="1pt"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="Inhalt-Seiten">
fo:repeatable-page-master-alternatives
<fo:conditional-page-master-reference masterreference="Vorgabeseite.Inhalt-rechts" odd-oreven="odd"/>
<fo:conditional-page-master-reference masterreference="Vorgabeseite.Inhalt-links" odd-oreven="even"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="Inhalt-Seiten">
<fo:static-content flow-name="Inhalt-rechts-davor">
<fo:block text-align="right">Seite fo:page-number/</fo:block>
</fo:static-content>
<fo:static-content flow-name="Inhalt-links-davor">
<fo:block text-align="left">Seite fo:page-number/</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
fo:blockxsl:apply-templates/</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<!-- *****************************************************
** Inhaltsteil - Block-Elemente
***************************************************** -->
<xsl:template match="*">
<fo:block font-family="{$Font-Familie}" font-size="{$Schriftgroesse-Text}">
xsl:apply-templates/
</fo:block>
</xsl:template>
<!-- *****************************************************
** Inhaltsteil - Ueberschriften
***************************************************** -->
<xsl:template match="Title">
<fo:block font-family="{$Font-Familie}" font-size="{$Schriftgroesse-Titel}" font-weight="bold" space-before="10mm" space-after="4mm"
keep-with-next.within-page="always">
xsl:apply-templates/
</fo:block>
</xsl:template>

</xsl:stylesheet>

  1. Moin!

    Trotzdem ist meine Seite im Internet Explorer ind er Druckvorschau immer noch DinA4 Hoch.
    Kann mir jemand sagen, warum? Ist es nicht gedacht, um den Druck qeur zu haben vom IE aus?

    Da der Internet Explorer es noch nicht mal schafft, Querdruck auszugeben, wenn man es mit CSS wünscht, glaube ich kaum, dass er sich bei XSLT anders verhält.

    Dein Problem ist also nicht dein XSLT, sondern der schwache Browser. Ich würde dir für Druckformatierungen ja Opera empfehlen (Opera kann von den Druckformatierungen in CSS das Meiste) - nur kann der clientseitig kein XSL, sondern das muß auf dem Server verwendet werden, um dann XML und CSS auszugeben.

    - Sven Rautenberg

  2. Hallo!
    obwohl ich ein Buch über XSLT Fo lese, habe ich noch einige Grunmdsätzliche Sachen nicht verstanden:
    ich möchte eine XML Seite mit dem Internet Explorer ansehen und dann ausdrucken.

    Das muss du vergessen. Keine! der normalen Web-Browser kann XSL-FO darstellen.
    Du kannst sowas z.B. mit dem "XSL Formatter" http://www.antennahouse.com/ oder mit "X-Smiles" http://www.xsmiles.org/ machen.

    Grüße
    Thomas

  3. Hallo,

    obwohl ich ein Buch über XSLT Fo lese, habe ich noch einige Grunmdsätzliche Sachen nicht verstanden:
    ich möchte eine XML Seite mit dem Internet Explorer ansehen und dann ausdrucken.

    Installiere den "XMLmind FO Converter" (http://www.xmlmind.com/foconverter/ -- die Personal Edition reicht aus, am besten die Version incl. Java-Runtime verwenden). Der mitgelieferte grafische Aufsatz "XSL Utility" (http://www.xmlmind.com/foconverter/xslutility.html) ermöglicht die komfortable Umwandlung von XML-Inhalten nach HTML, XML, Text, RTF, PDF. Im Paket enthalten sind der XSLT-Prozessor Saxon und der XSL-Formatter FOP.

    Die erhaltenen Ausgabeformate lassen sich dann beliebig publizieren, im beschriebenen Fall sollte es eine PDF-Ausgabe sein.

    MfG, Thomas