atom feed10 messages in org.apache.xmlgraphics.fop-usersRe: fop: problem with dyn:evaluate
FromSent OnAttachments
KrisKomOct 3, 2009 12:30 pm 
J.PietschmannOct 5, 2009 2:00 pm 
Krishna KomoravoluOct 6, 2009 2:49 pm 
KrisKomOct 6, 2009 9:49 pm 
Manuel MallOct 7, 2009 3:23 am 
Jonathan LevinsonOct 7, 2009 7:25 am.bat
Jonathan LevinsonOct 7, 2009 7:28 am.bat, .zip, .txt
Jonathan LevinsonOct 7, 2009 7:33 am.example, .zip, .txt
Krishna KomoravoluOct 7, 2009 10:44 pm 
Krishna KomoravoluOct 8, 2009 2:10 pm 
Subject:Re: fop: problem with dyn:evaluate
From:J.Pietschmann (
Date:Oct 5, 2009 2:00:41 pm

On 03.10.2009 21:30, KrisKom wrote: [snip]

I used xsl:for-each to loop over RoleTypes/* elements to define table columns, and then dynamically constructed XPath expression (using dyn:evaluate of exslt) to obtain data for the cells that correspond to the roles (dev, qa, and doc).

My xsl stylesheet works as expected if I run it through a pro-processor (xsltproc) to generate .fo, and then use fop to convert this .fo into a pdf. But, when I use fop directly (i.e. single step: fop -xml blah.xml -xsl blah.xsl -pdf out.pdf), I'm getting weird results - only the first column's data (i.e. the first sub-element of 'RoleTypes', in this example - 'dev') and rest of the colums are blank. Is this a bug with fop (as it seems to recognize dyn:evaluate, but doesn't do a complete job)??

FOP uses the default XSLT processor from your Java installation. Chances are, it doesn't recognize certain EXSLT constructs.

You can try to use the XSLT function system-property() to check what kind of processor is used, e.g. <xsl:value-of select="system-property('xsl:vendor')"/> should give you a hint, looking up other, vendor specific properties might get you further. You can use other Java based XSLT processors with FOP, simply get the necessary jar files, add them to the CLASSPATH, and set the java system property javax.xml.transform.TransformerFactory to the processor's transformer factory class.