mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 23.04.2024 19:31 Benutzername: Passwort: Auto-Login

Thema: kolumnentitel xsl vom 25.04.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> kolumnentitel xsl
Autor Nachricht
anpeter
Threadersteller

Dabei seit: 24.06.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 25.04.2007 08:12
Titel

kolumnentitel xsl

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich ich bin gerade an der XML-Umwandlung per XSL-T und XSL:FO und komme gerade nicht so recht weiter und hoffe, da hier einige sehr fähige Leute unterwegs sind, Hilfe zu bekommen.

Das Problem ist folgendes: ich habe eine XML-Datei die in ein PDF transformiert werden soll. Dabei soll es, wie in vielen Büchern, einen Kolumnentitel geben (wenn möglich lebend). Dieser Kolumnentitel soll aus der XML-Datei "gezogen" werden (später auch mal als Attribut) und in der "region-before" der XSL:FO-Datei übergeben werden. Das ich auf allen Seiten den gleichen Kolumnentitel habe, klappt soweit, nur einen "dynamischen" bekomme ich nicht hin. Der Kolumnentitel sollte sich nach der XML-Struktur richten. Ich bin leider kein Programmierer und kenne mich daher auch mit Variablen usw. nicht so dolle aus. Die Ausgangsdateien habe ich mal beigelegt. Schonmal vielen Dnak für die Hilfe. Damit wäre mir schon sehr geholfen.

Die XML-Datei (stark vereinfacht):
Code:

<?xml version="1.0" encoding="utf-8"?>
<buch>
<titel>Kolumnentitel</titel>
<kapitel>
<kapitelnummer>1</kapitelnummer>
<kapitelname>erstes Kapitel...</kapitelname>
</kapitel>
<!-- weiterer Inhalt -->
<kapitel>
<kapitelnummer>2</kapitelnummer>
<kapitelname>zweites Kapitel...</kapitelname>
</kapitel>
<!-- weiterer Inhalt -->
</buch>


Und hier die XSL-Datei (ebenfalls stark vereinfacht):
Code:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">

<!-- Seitenmaster -->
<xsl:template match="/">
<fo:root>
<fo:simple-page-master master-name="linke_seite" margin-top="20mm" margin-bottom="20mm" margin-left="25mm" margin-right="15mm" page-height="297mm" page-width="210mm">
<fo:region-body margin-top="20mm" margin-bottom="20mm" margin-left="20mm" margin-right="20mm"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="10mm"/>
<fo:region-start extent="20mm"/>
<fo:region-end extent="20mm"/>
</fo:simple-page-master>

<fo:simple-page-master master-name="rechte_seite" margin-top="20mm" margin-bottom="20mm" margin-left="15mm" margin-right="25mm" page-height="297mm" page-width="210mm">
<fo:region-body margin-top="20mm" margin-bottom="20mm" margin-left="20mm" margin-right="20mm"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="10mm"/>
<fo:region-start extent="20mm"/>
<fo:region-end extent="20mm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="doppelseite">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="linke_seite" odd-or-even="even"/>
<fo:conditional-page-master-reference master-reference="rechte_seite" odd-or-even="odd"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>

<!-- Doppelseite -->
<fo:page-sequence master-reference="doppelseite" initial-page-number="1">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-family="Times" font-size="10pt" border-after-style="solid" border-width="0.3mm">
<xsl:apply-templates select="//kapitel"/>
</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="end">
<fo:inline font-family="Times" font-size="9pt" text-align="end" border-after-style="solid" border-width="0.3mm">
<fo:page-number/>
</fo:inline>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block>
<xsl:text>hier weitere Inhalt</xsl:text></fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>

<!-- Templates fuer Inhalt -->
<xsl:template match="kapitel">
<xsl:value-of select="kapitelnummer"/>
<xsl:text> | </xsl:text>
<xsl:value-of select="kapitelname"/>
</xsl:template>

</xsl:stylesheet>       
  View user's profile Private Nachricht senden
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.