I've actually noticed that problem (id xxx already exists) even when we have been able to manually verify that an id hasn't been used twice in the document. fop seems to have a bug that if a block spans pages,and that block has an id associated with it, then fop tries to create two destinations with the same id, which triggers the error above. The only way were able to resolve it was to hack the fop source code to fix it ... Thanks Riz ---------------------------------------- Rizwan Virk CTO CambridgeDocs [EMAIL PROTECTED] personal: [EMAIL PROTECTED]
________________________________ From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tue 4/5/2005 1:56 PM To: [email protected] Subject: Re: FOPException: The id "N1056F" already exists in this document [EMAIL PROTECTED] wrote: > Is the ID assigned in the source file or generated (perhaps by > generate-id) at run time? If the former, then I would guess that your > problem arises from one or more index terms not having unique IDs in the > source file. DocBook uses generate-id(). The problem is most likely due to relayouting an object, which in turn is caused either by a keep property or column rebalancing because of a span="all" block. Unfortunately, the DocBook XSLT creates an ID for almost every FO, whether it is referenced or not. Furthermore, there seems to be no way to get rid of the quite liberally used keeps. Common suggestions: - Don't use multicolumn layouts with DocBook. - Try to filter out unreferenced IDs, for example with another XSL transformation. - Insert forced page breaks at various points and see whether the problem goes away. Examining the DocBook XSLT output for the ID in question may provide hints where forced page breaks could be useful. - Kill the ID manually, if it's a one-off document generation. - If you are stuck, for example because the ID is referenced, use another XSLFO processor. Geez, this should go into the FAQ sometimes. J.Pietschmann --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
