jefft 2003/06/21 23:47:40
Modified: src/blocks/fop/samples sitemap.xmap src/blocks/fop/samples/misc minimal.fo.xml Added: src/blocks/fop/samples/misc fix-imagelinks.xsl Log: Add an image to the PDF, to show one way of doing it. Revision Changes Path 1.7 +8 -1 cocoon-2.1/src/blocks/fop/samples/sitemap.xmap Index: sitemap.xmap =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/fop/samples/sitemap.xmap,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- sitemap.xmap 10 Jun 2003 23:58:43 -0000 1.6 +++ sitemap.xmap 22 Jun 2003 06:47:40 -0000 1.7 @@ -52,6 +52,13 @@ <!-- xsl-fo document access --> <map:match pattern="**/*.fo.xml"> <map:generate src="{1}/{2}.fo.xml"/> + <!-- This stylesheet makes image URLs absolute, so that FOP can + display images. {realpath:/} returns the absolute path of the + context root. --> + <map:transform src="misc/fix-imagelinks.xsl"> + <map:parameter name="ctxroot" value="{realpath:/}"/> + <map:parameter name="dir" value="samples/fop/{1}/"/> + </map:transform> <map:serialize type="xml"/> </map:match> 1.2 +4 -1 cocoon-2.1/src/blocks/fop/samples/misc/minimal.fo.xml Index: minimal.fo.xml =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/fop/samples/misc/minimal.fo.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- minimal.fo.xml 1 May 2003 11:23:27 -0000 1.1 +++ minimal.fo.xml 22 Jun 2003 06:47:40 -0000 1.2 @@ -24,6 +24,9 @@ <fo:page-sequence master-reference="main"> <fo:flow flow-name="xsl-region-body"> + <fo:block padding="24pt"> + <fo:external-graphic src="/resources/images/cocoon.gif"/> + </fo:block> <fo:block font-size="18pt"> Congratulations! </fo:block> @@ -33,4 +36,4 @@ </fo:block> </fo:flow> </fo:page-sequence> -</fo:root> \ No newline at end of file +</fo:root> 1.1 cocoon-2.1/src/blocks/fop/samples/misc/fix-imagelinks.xsl Index: fix-imagelinks.xsl =================================================================== <?xml version="1.0" encoding="utf-8"?> <!-- A small stylesheet to make image links in *.fo files absolute. This is currently necessary because FOP doesn't know the 'context' in which it is operating, and so cannot resolve relative URLs. This hack will go away once the Cocoon<->FOP link improves (it's fixed for CVS trunk FOP, but that isn't too usable yet). --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <!-- Absolute path to context root --> <xsl:param name="ctxroot" select="'[ctxroot]'"/> <!-- context-relative path of current directory --> <xsl:param name="dir" select="'[dir]'"/> <xsl:template match="fo:external-graphic/@src"> <xsl:attribute name="src"> <xsl:value-of select="$ctxroot"/> <xsl:choose> <xsl:when test="starts-with(., '/')"> <xsl:value-of select="substring(., 2)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$dir"/> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:template> <!-- Copy across everything else unchanged. --> <xsl:template match="node()|@*" priority="-1"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet>