Hallo,
ich wollte ein eigenes XSLT schreiben was HTML in FO konvertiert um Web-Seiten später über FOP in PDF oder TIFF umzuwandeln.
Das XSLT reagiert jedoch nicht auf die Zeile 22
Das Zu bearbeitende Dokument ist eine HTML-Seite die vorher mit JTidy in ein gültiges XHTML-Dokument umgewandelt wurde. Hier mal die ersten Zeilen des XHTML-Dokumentes:
Ich hab die Transformation sowohl mit Saxon B8.9 wie auch mit Xalan 2.7.0 ausgeführt. Das Ergebnis sieht dann jeweils entsprechend aus:
In dieser Ausgabe Fehlt jedoch die Zeile 32 aus dem XSLT.
Ich Poste hier auch mal die Debug-Ausgaben der Transformationen.
Saxon:
und Xalan:
Danke schon mal im vorraus
Heiko
ich wollte ein eigenes XSLT schreiben was HTML in FO konvertiert um Web-Seiten später über FOP in PDF oder TIFF umzuwandeln.
Das XSLT reagiert jedoch nicht auf die Zeile 22
Code:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/> <xsl:include href="pagelayout.xslt" /> <xsl:template match="/"> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:call-template name="page-layout-A4" /> <fo:page-sequence master-reference="A4"> <fo:flow flow-name="xsl-region-body"> <fo:block> <!-- Daten für PDF --> <xsl:apply-templates select="html" /> </fo:block> </fo:flow> </fo:page-sequence> </fo:root> </xsl:template> <xsl:template match="html"> <fo:block> <xsl:text>html</xsl:text> </fo:block> </xsl:template> </xsl:stylesheet>
Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator" /> <title /> </head> <body> Hallo Heiko, <br /> [...] </body> </html>
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?> <fo:root xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="0.5cm"> <fo:region-body /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <fo:flow flow-name="xsl-region-body"> <fo:block /> </fo:flow> </fo:page-sequence> </fo:root>
Ich Poste hier auch mal die Debug-Ausgaben der Transformationen.
Saxon:
Code:
<trace saxon-version="8.9" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <source node="/" line="0" file="012-message.xhtml"> <xsl:template match="/" line="13" module="toPDF.xslt"> <xsl:template name="page-layout-A4" line="5" module="pagelayout.xslt"> <ATTR name="master-name" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="page-height" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="page-width" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="margin-top" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="margin-bottom" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="margin-left" line="7" module="pagelayout.xslt"> </ATTR> <ATTR name="margin-right" line="7" module="pagelayout.xslt"> </ATTR> </xsl:template> <ATTR name="master-reference" line="18" module="toPDF.xslt"> </ATTR> <ATTR name="flow-name" line="19" module="toPDF.xslt"> </ATTR> </xsl:template> </source><!-- / --> </trace>
Code:
file:///D:/workspace/sdp/xhtml2pdf/testdata/../xslt/toPDF.xslt Line #13, Column #27: template match='/' STARTDOCUMENT file:///D:/workspace/sdp/xhtml2pdf/xslt/pagelayout.xslt Line #5, Column #38: template name='page-layout-A4' STARTELEMENT: fo:root STARTELEMENT: fo:layout-master-set STARTELEMENT: fo:simple-page-master STARTELEMENT: fo:region-body ENDELEMENT: fo:region-body ENDELEMENT: fo:simple-page-master ENDELEMENT: fo:layout-master-set STARTELEMENT: fo:page-sequence STARTELEMENT: fo:flow Selected source node '#document', at file 'file:///D:/workspace/sdp/xhtml2pdf/testdata/pdf/012-message.xhtml', line #-1, column #-1 file:///D:/workspace/sdp/xhtml2pdf/testdata/../xslt/toPDF.xslt Line #22, Column #44: apply-templates, select='null': [empty node list] STARTELEMENT: fo:block ENDELEMENT: fo:block ENDELEMENT: fo:flow ENDELEMENT: fo:page-sequence ENDELEMENT: fo:root ENDDOCUMENT --------- Umsetzung von pdf\012-message.xhtml über ..\xslt\toPDF.xslt betrug 1.051 Millisekunden
Heiko
Comment