I've now gotten a bit further. I start Xalan transforming some XML into a SAXResult object constructed with the FOP Driver's Content Handler.

This gave me a NullPointerException, because the Driver only sets the StreamRenderer on the FOTreeBuilder when calling one of the two render() methods. (Which is not necesarry when using the ContentHandler instead.) Therefore I used the following hack to make things work:

StreamRenderer streamRenderer = new StreamRenderer(new FileOutputStream("c:\\baz.pdf"), driver.getRenderer());
((FOTreeBuilder)handler).setStreamRenderer(streamRenderer);


But I still get a NullPointerException. I cannot, however, see where it is thrown, as Xalan eats all original exceptions.

If serialize the excact same series of SAX events into a file and run FOP as a command-line program on this file - everything works dandy.

So what this boils down to is: I can get FOP to process the XML as long as it comes from an XMLReader (Xerces), but it won't process the excact same XML when it comes from Xalan.

I suspect that the problem could be namespace-related. But what can I do differently with the Driver/FOTreeBuilder?


-dennis


Dennis Thrysoe - Netnord A/S wrote:

> Keiron Liddle wrote:
>
>> On 2001.12.22 21:53 Dennis Thrysoe - Netnord A/S wrote:
>>
>>> Hi,
>>>
>>> Is there an easy way of embedding FOP, including a stylesheet
>>> transformation?
>>>
>>> Using the Driver class doesn't seem to allow this (or did I miss
>>> something?).
>>>
>>> If I use Xalan to generate results to the ContentHandler, that the
>>> Driver instance returns, I get an error:
>>>
>>> Unknown formatting object http://www.w3.org/XSL/Format/1.0^root
>>
>>
>>
>> You have the wrong namespace, it should be:
>> http://www.w3.org/1999/XSL/Format
>
>
> That's what I originally tried, but then I got (the same):
>
> building formatting object tree
> setting up fonts
> WARNING: Unknown formatting object http://www.w3.org/1999/XSL/Format^root
>
>
> Any help still very much appreciated...
>
> -dennis




Reply via email to