(Cross-posting to fop-user)
On Fri, Dec 02, 2005 at 01:58:39PM +0100, Jeremias Maerki wrote:
> On 02.12.2005 13:39:53 Adam Strzelecki wrote:
> > Hello Jeremias,
> > 3) Last thing I would really appreciate is I would love to generate PDF
> > directly from XML files using stylesheets but FOP XSLT routine is
> > somehow broken so I need to do the conversion with XSLTPROC which does
> > it without the problem.
> > This is the error when I use FOP with:
> > fop -xml myfile.xml -xsl docbook/fo/docbook.xsl -pdf myfile.pdf
> > Compiler warnings:
> > file:/c:/Program%20Files/fop/docbook/fo/formal.xsl: line 433:
> > Attribute 'border-left-style' outside of element.
> > file:/c:/Program%20Files/fop/docbook/fo/formal.xsl: line 434:
> > Attribute 'border-right-style' outside of element.
> > file:/c:/Program%20Files/fop/docbook/fo/formal.xsl: line 435:
> > Attribute 'border-top-style' outside of element.
> > file:/c:/Program%20Files/fop/docbook/fo/formal.xsl: line 436:
> > Attribute 'border-bottom-style' outside of element.
> > ERROR: 'Syntax error in '* or $generate.index != 0'.'
> > FATAL ERROR: 'Could not compile stylesheet'
> > Exception
> > javax.xml.transform.TransformerConfigurationException: Could not compile
> > stylesheet
> > Problem is in the XSL file of DocBook XLS 1.69.1 sheets:
> > docbook/fo/autotoc.xsl
> Sounds more like a problem in either the stylesheet itself or in Xalan
> which FOP calls for doing XSLT. Maybe I should finally install DocBook
> on my machine. :-)
It is indeed not really a FOP issue.
The docbook stylesheets seem to be a pain for most XSLT
processors. Restricting myself to Java XSLT processors, I
have only been successful with Saxon6. Xalan and the Xalan processor
built into Java 5 cannot compile the docbook/fo stylesheets.
This can be achieved by putting saxon.jar first in the classpath. It
must come before xalan.jar, in order to configure the Transformer
factory to use Saxon. Unfortunately, this is not possible with the
current fop shell script, because it puts the CLASSPATH variable at
the end of the class path. (Sometimes this is what you want, here
it is not.) The fop.bat batch file ignores the CLASSPATH variable
Another issue I have with FOP and Docbook is that FOP out of the box
does not use catalogs. I think we should do something about this. It
is unrealistic to expect Docbook users to write their own startup Java
file. They want something that works from the command line. But before
we try, it would be useful to hear how other people use FOP with
home page: http://www.leverkruid.nl