Hallo,
ich habe gerade ein XSL-FO-Beispiel aus einem Buch abgetippt und habe folgende Fehlermeldung erhalten, mit der ich nichts anfangen kann.
Ich habe schon mehrfach das Beispiel aus dem Buch mit dem Quelltext, den ich erhalten habe, verglichen und ich finde keinen Fehler. Bei der Syntax-Prüfung in AltovaXMLSpy bekomme ich auch die Meldung, dass die Syntax in Ordnung ist.
[Error]javax.xml.transform.TransformerConfigurationException:javax.xml.
transform.TransformerException:javax.xml.transform.TransformerException:
"Es wurde ein Knotentest erwartet, der entweder NCName:* oder QName entspricht."
Der Quelltext:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output encoding="ISO-8859-1" method="xml" />
<xsl:template match="">
fo:root
<!-- Dokumentvorlagen-->
fo:layout-master-set
<!-- Seitenvorlage -->
<fo:simple-page-master master-name="A4" page-height="29.7cm" margin-top="1cm" margin-bottom="2cm margin-left="2.5cm" margin-right="2.5cm">
<!-- ... -->
<!-- Druckbare Fläche -->
<fo:region-body region-name="xsl-region-body"
margin-bottom="1.5cm" margin-left="3.5cm" margin-top="1.5cm" margin-right="3.5cm" background-color="wheat">
<xsl:apply-templates />
</fo:region-body>
</fo:simple-page-master>
<!-- Seitenverlaufsvorlage-->
<fo:page-sequence-master master-name="Kapitel"> <fo:repeatable-page-master-reference master-reference="A4" maximum-repeats="8" />
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- Seitenverlauf-->
<fo:page-sequence master-reference="Kapitel">
<fo:flow flow-name="xsl-region-body" background-color="thistle">
<fo:block font-family="Times" font-size="15pt">
<!-- Hier wird das Template Textschleife aufgerufen -->
<xsl:call-template name="Textschleife">
<xsl:with-param name="Wert" select=" 'Dies ist Blindtext. Er braucht nicht gelesen zu werden.' " />
<xsl:with-param name="Grenze" select="100" />
</xsl:call-template>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<!-- Vorlage Textschleife -->
<xsl:template name="Textschleife">
<xsl:param name="Grenze" />
<xsl:param name="Zaehler" select="1" />
<xsl:param name="Wert" select=" ' ' " />
<xsl:value-of select="$Wert" />
<xsl:if test="not($Grenze=$Zaehler)">
<xsl:call-template name="Textschleife">
<xsl:with-param name="Zaehler" select="$Zaehler+1" />
<xsl:with-param name="Wert" select="$Wert" />
<xsl:with-param name="Grenze" select="$Grenze" />
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Vielen Dank schon mal für Eure Hilfe.
Viele Grüße,
verenice