Hallo,
Könntest du mal etwas mehr Code zeigen? So wird das zum Rätselraten. Out of Memory hat nicht unbedingt etwas mit Sonderzeichen zu tun. Meistens liegt es an einem nicht gerade optimalen Stylesheet. Zudem könntest du auch mal versuchen, deinen output zu "kontrollieren". Dir Ergebnisse in möglichen Zwischenschritten anschauen und verfolgen, ob irgendwo ziem,lich viel Daten "erstellt" werden - aber so ganz ohne Code bleibt es halt nur Rätselraten.
Gruß, H.
Hallo Holger,
vielen Dank für deine Antwort. Was meinst du mit "kontrollieren"?
Du meinst sicher den Code vom Stylesheet, oder? Das sieht so aus (ist eine Testdatei):
<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:param name="order_language_file_content"/> <xsl:param name="order_language_file_content"/> <xsl:param name="systemdatum"/> <xsl:param name="order_language"/> <xsl:param name="user_country"/> <xsl:param name="isoCode"/>
<xsl:template match='/'> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> fo:layout-master-set <fo:simple-page-master page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="1.5cm" margin-right="0.5cm" master-name="first">
<fo:region-body margin-top="1cm" margin-bottom="1.5cm"/> <fo:region-before extent="1cm"/> <fo:region-after extent="1.5cm"/> </fo:simple-page-master> </fo:layout-master-set>
<xsl:for-each select='/saison/spieltag[@spnr>=15]' > <xsl:variable name='sp_nr' select='@spnr' /> <fo:page-sequence master-reference="first"> <fo:static-content flow-name="xsl-region-before"> <fo:block line-height="14pt" font-size="14pt" text-align="start">Spieltag: <xsl:value-of select='$sp_nr' /> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-after"> <fo:block line-height="14pt" font-size="10pt" text-align="end">Page fo:page-number/</fo:block> </fo:static-content>
<fo:flow flow-name="xsl-region-body" font-family='arialuni' font-size='12pt'>
<fo:block space-before.optimum="3pt" space-after.optimum="3pt"> Paarungen </fo:block>
<fo:table border-style="solid" border-width="0pt" border-color="red" table-layout="fixed"> <fo:table-column column-width="0.75cm"/> <fo:table-column column-width="4cm"/> <fo:table-column column-width="0.2cm"/> <fo:table-column column-width="4cm"/> <fo:table-column column-width="0.5cm"/>
<xsl:apply-templates select='/saison/spieltag[@spnr=$sp_nr]/paar' />
</fo:table-body> </fo:table >
<fo:block space-before.optimum="18pt" space-after.optimum="3pt"> Tips </fo:block>
<!-- fo:table-and-caption
fo:table-caption fo:block Tips </fo:block> </fo:table-caption> -->
<fo:table border-style="solid" border-width="0pt" border-color="blue" table-layout="fixed"> <fo:table-column column-width="3cm"/>
<fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/>
<fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/>
<fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/> <fo:table-column column-width="1cm"/>
fo:table-cell fo:block <xsl:value-of select="$order_language_file_content/TranslationOrderPrint/Header/ListOfItem/Item/Row[30]"/> Test polnische Zeichen</fo:block> </fo:table-cell>
<xsl:for-each select="/saison/spieltag[@spnr=$sp_nr]/paar"> fo:table-cell <fo:block background-color='yellow' text-align='center' start-indent='2mm' end-indent='2mm'> <xsl:value-of select="@pid" /> </fo:block> </fo:table-cell> </xsl:for-each> </fo:table-row>
<!-- xsl:apply-templates select='/saison/spieltag[@spnr=$sp_nr]/paar[@pid=0]/tips' / --> <xsl:apply-templates select='/saison/spieltag[@spnr=$sp_nr]' mode='tips' />
</fo:table-body> </fo:table> <!-- </fo:table-and-caption > -->
</fo:flow>
</fo:page-sequence> </xsl:for-each> </fo:root> </xsl:template>
<xsl:template match='spieltag'> <!-- xsl:value-of select='@spnr' / -->
<xsl:apply-templates select='paar' />
<!-- fo:table-row> fo:table-cell fo:block - </fo:block> </fo:table-cell> </fo:table-row -->
</xsl:template>
<xsl:template match='paar'>
<fo:table-row space-before.optimum='2mm'> fo:table-cell <fo:block background-color='yellow' text-align='center' start-indent='2mm' end-indent='2mm'> <xsl:value-of select="@pid" /> </fo:block> </fo:table-cell>
<xsl:variable name="hid" select="heim" /> <xsl:variable name="gid" select="gast" />
fo:table-cell fo:block <xsl:value-of select="//vereine/v[@vid=$hid]/vname" /> </fo:block> </fo:table-cell>
fo:table-cell fo:block : </fo:block> </fo:table-cell>
fo:table-cell fo:block <xsl:value-of select="//vereine/v[@vid=$gid]/vname" /> </fo:block> </fo:table-cell>
fo:table-cell <fo:block font-weight='650' font-family='arialuni' start-indent='2mm'> <xsl:value-of select="result" /> </fo:block> </fo:table-cell>
</fo:table-row> </xsl:template>
<xsl:template match='spieltag' mode="tips">
<fo:table-row space-before.optimum='5mm' space-after.optimum='5mm'> fo:table-cell fo:blockr e s u l t</fo:block> </fo:table-cell>
<xsl:for-each select='paar'> <xsl:apply-templates select="result" /> </xsl:for-each> </fo:table-row>
<xsl:for-each select='paar[@pid=0]'>
<xsl:for-each select='tips/tip'>
<fo:table-row space-before.optimum='5mm'>
<xsl:variable name='t_id' select='@tid' />
fo:table-cell fo:block <xsl:value-of select="//tipper/t[@tid=$t_id]/tname" /> </fo:block> </fo:table-cell>
<xsl:apply-templates select="../../../paar[@pid=0]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=1]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=2]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=3]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=4]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=5]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=6]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=7]/tips/tip[@tid=$t_id]" /> <xsl:apply-templates select="../../../paar[@pid=8]/tips/tip[@tid=$t_id]" /> </fo:table-row>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template match='result'>
fo:table-cell <fo:block text-align='center' font-family='arialuni' font-size='13' font-weight='normal'> <xsl:value-of select="." /> </fo:block> </fo:table-cell> </xsl:template>
<xsl:template match='result___' mode="pur">
<xsl:value-of select="." />
<!-- xsl:apply-templates select="htore" / --> <!-- xsl:apply-templates select="gtore" / -->
</xsl:template>
<xsl:template match='tips'> <xsl:for-each select="tip[@tid='0']"> <xsl:variable name="id" select='@tid' />
fo:table-cell fo:block <xsl:value-of select="//tipper/t[@tid=$id]/tname" /> </fo:block> </fo:table-cell>
<xsl:apply-templates select="../tip[@tid='0']" /> <xsl:apply-templates select="../tip[@tid='1']" /> <xsl:apply-templates select="../tip[@tid='2']" /> <xsl:apply-templates select="../tip[@tid='3']" />
</fo:table-row>
</xsl:for-each> </xsl:template>
<xsl:template match='tip'>
fo:table-cell xsl:choose <xsl:when test="res=1"> <fo:block text-align='center' background-color="blue" color='yellow' font-family="arialuni" start-indent="2mm" end-indent="2mm" font-weight="650"> <!-- <xsl:value-of select="../../@pid" />, <xsl:value-of select="@tid" />, --> <xsl:value-of select="vor" /> </fo:block> </xsl:when> xsl:otherwise <fo:block text-align="center" font-family="arialuni" font-weight="150"> <!-- <xsl:value-of select="../../@pid" /> , <xsl:value-of select="@tid" />, --> <xsl:value-of select="vor" /> </fo:block> </xsl:otherwise> </xsl:choose> </fo:table-cell> </xsl:template>
</xsl:stylesheet>
Vielen Dank für weitere Anregungen.
Grüße,
aragorna