Page 1 of 1

Customised XSL:FO Transformation Issue

Posted: Wed Aug 24, 2022 12:32 am
by reetan
Hi
I'm new to Oxygen but am very familiar with XSL:FOs. I've created an XSL:FO that works in an external development environment but i'm getting an unhelpful error message when I transform within Oxygen. Below is the error message that is displaying. I've looked at the xml_xslt file that is produced and this does not contain any errors.

Andy direction or assistance of what can be causing the error would be greatly appreciated.

Reeta

The process 'Apache FOP' ended with code: 1.
The error was:
ERROR - Exception
org.apache.fop.apps.FOPException: java.util.NoSuchElementException
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:296)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:116)
at org.apache.fop.cli.Main.startFOP(Main.java:183)
at org.apache.fop.cli.Main.main(Main.java:214)
Caused by: java.util.NoSuchElementException: null
at org.apache.fop.layoutmgr.LMiter.next(LMiter.java:69)
at org.apache.fop.layoutmgr.LMiter.next(LMiter.java:27)
at org.apache.fop.layoutmgr.AbstractLayoutManager.setCurrentChildLM(AbstractLayoutManager.java:132)
at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:278)
at org.apache.fop.layoutmgr.list.ListItemContentLayoutManager.getNextKnuthElements(ListItemContentLayoutManager.java:235)
at org.apache.fop.layoutmgr.list.ListItemLayoutManager.getNextKnuthElements(ListItemLayoutManager.java:290)
at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:503)
at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:296)
at org.apache.fop.layoutmgr.list.ListBlockLayoutManager.getNextKnuthElements(ListBlockLayoutManager.java:103)
at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:225)
at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:121)
at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:270)
at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:694)
at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:451)
at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:407)
at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:148)
at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:607)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.xinclude.XIncludeHandler.endElement(XIncludeHandler.java:1091)
at org.apache.xerces.impl.XMLNSDocumentScannerImplXerces.scanEndElement(XMLNSDocumentScannerImplXerces.java:673)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:319)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1647)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:325)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
at net.sf.saxon.event.Sender.send(Sender.java:142)
at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:370)
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:293)
... 3 common frames omitted

Re: Customised XSL:FO Transformation Issue

Posted: Wed Aug 24, 2022 7:16 am
by Radu
Hi Reeta,

Do you have a file with the ".fo" extension? If not, please change the extension of the file to ".fo". After this, when you open the file in Oxygen and click the "Configure Transformation Scenarios" toolbar button there should be a predefined "FO PDF" transformation scenario that you can use for publishing.

Regards,
Radu

Re: Customised XSL:FO Transformation Issue

Posted: Thu Aug 25, 2022 12:08 am
by reetan
FO is attached for any assistance.
MAXManager.xml_xslt.zip

Re: Customised XSL:FO Transformation Issue

Posted: Thu Aug 25, 2022 8:53 am
by Radu
Hi,
I can reproduce the problem. In the Oxygen Preferences->"XML / PDF Output / FO Processors" page you can check the "Enable output to the built-in FOP" checkbox and then publish again to see in a console all problems reported by the Apache FOP processor.
The fatal problem seems to be this one:

Code: Select all

ERROR - Exception
org.apache.fop.apps.FOPException: java.util.NoSuchElementException
	at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:296)
	at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:116)
	at org.apache.fop.cli.Main.startFOP(Main.java:183)
	at org.apache.fop.cli.Main.main(Main.java:214)
Caused by: java.util.NoSuchElementException: null
	at org.apache.fop.layoutmgr.LMiter.next(LMiter.java:69)
	at org.apache.fop.layoutmgr.LMiter.next(LMiter.java:27)
	at org.apache.fop.layoutmgr.AbstractLayoutManager.setCurrentChildLM(AbstractLayoutManager.java:132)
	at
I found two bugs logging it on the Apache FOP issues list:
https://issues.apache.org/jira/browse/FOP-2776
https://issues.apache.org/jira/browse/FOP-2828

maybe the discussions on those issues might help you understand where the failure is and how it could be avoided.
But I'm afraid we do not have control over various limitations the Apache FOP processor may have.
As a workaround maybe you can try to use the commercial Antenna House XSL-FO processor for publishing, it can be configured in the Oxygen "FO Processors" preferences page:
https://www.oxygenxml.com/doc/versions/ ... ssors.html

Regards,
Radu

Re: Customised XSL:FO Transformation Issue

Posted: Fri Aug 26, 2022 2:17 am
by reetan
Thanks, issue has been resolved