I'm in the process of migrating an application from FOP 0.17 to 0.20.3. This 
application uses a SAX pipeline to apply an XSLT transformation (XML -> 
XSL-FO) and feed it into FOP's Driver directly through its ContentHandler.

FOP does not display any error message but the generated PDF file is 2 KB 
shorter than when generated from the same FO document read from a file and 
Acrobat Reader complains that "the file is damaged and could not be repaired".

Is this a known bug ?
(I had a look at both FOPServlet and XSLTInputHandler and realized the latter 
does not use a SAX pipeline but stores the FO document in a temporary file or 
buffer before returning it to the former.)

I had a look at FOP's code to try to find a fix and came up with the following 
question: Why does Starter set the SAX feature 
"http://xml.org/sax/features/namespace-prefixes"; to true in method 
setParserFeature ?
Using this feature makes the SAX event stream received from a SAX parser 
different from the one received from an XSLT processor. Apparently, 
FOTreeBuilder does not care about this feature as it uses the Namespace URI 
and the local name to look-up the maker objects. But maybe other classes do care.

Can this namespace prefix thing be related to my problem ? Is the use of 
namespace prefixes required for FOP ? Can this be fixed so that output from 
XSLT processors be acceptable as SAX input ?



To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to