Ich habe ein Problem mit einem XSLT/XSL-FO-Vorlage, wenn ich eine andere Vorlage importieren:TransformerException wenn xsl: import statt xsl: include
Hauptvorlage sieht wie folgt aus:
<xsl:stylesheet version="2.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" indent="yes"/>
<xsl:import href="../BAUSTEINE/KopfUndFussteil.xsl" />
<xsl:template match="documentData">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- Seitendefinition -->
<fo:simple-page-master page-height="297mm" page-width="210mm"
margin="5mm 25mm 5mm 25mm" master-name="PageMaster">
<fo:region-body margin-top="4cm" margin-bottom="4cm" margin-left="1cm" margin-right="1cm"/>
<fo:region-before extent="1cm"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="PageMaster">
<fo:static-content flow-name="xsl-region-before">
<xsl:call-template name="kopf_statisch" />
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<xsl:call-template name="fussteil" />
</fo:static-content>
<fo:flow flow-name="xsl-region-body" >
<xsl:call-template name="body" />
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template name="kopf_statisch">
<fo:block></fo:block>
</xsl:template>
<xsl:template name="fussteil">
<fo:block>
<xsl:call-template name="KopfUndFussteilEUFZ" />
</fo:block>
</xsl:template>
<xsl:template name="body">
<fo:block>Body</fo:block>
</xsl:template>
Wie Sie sehen können, habe ich die Vorlage in Subtemplates aufgeteilt (dieses Beispiel ist hier auf das Minimum reduziert). Im so genannten "Fußteil" rufe ich eine Vorlage auf, die aus dem "KopfUndFussteil.xsl" importiert werden soll. Das sieht so aus:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template name="KopfUndFussteilEUFZ">
Block2
</xsl:template>
</xsl:stylesheet>
So ziemlich einfach. Als ich die Subtemplate BEINHALTEN
<xsl:include href="../BAUSTEINE/KopfUndFussteil.xsl" />
Alle mit funktioniert gut - keine Fehler auftreten, "Block2" -Text in Ziel PDF
Aber gemacht, als ich
<xsl:import href="../BAUSTEINE/KopfUndFussteil.xsl" />
Ich benutze den folgenden Fehler erhalten:
javax.xml.transform.TransformerException: ElemTemplateElement-Fehler: KopfUndFussteilEUFZ
Also, tut anybo dy haben eine Idee was ist das Problem mit der Import-Anweisung? Ich benutze Xalan 2.7.2
Vielen Dank im Voraus! Heiko
Vielen Dank! Funktioniert! – Heiko