I've just noticed that the reload function in the awt viewer is broken. This also breaks all the widgets which rely on it, such as the scaling and scrolling mode ones. This is a fairly recent regression. It's not a c
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.fop.apps.InputHandler.render(InputHandler.java:123) at org.apache.fop.render.awt.viewer.PreviewPanel$Reloader.run(PreviewPanel.java:331) --------- javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:469) at org.apache.fop.apps.InputHandler.render(InputHandler.java:120) at org.apache.fop.render.awt.viewer.PreviewPanel$Reloader.run(PreviewPanel.java:331) Caused by: org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.fop.fo.FObj.checkId(FObj.java:142) at org.apache.fop.fo.pagination.PageSequence.startOfNode(PageSequence.java:141) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:262) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) ... 2 more --------- org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.fop.fo.FObj.checkId(FObj.java:142) at org.apache.fop.fo.pagination.PageSequence.startOfNode(PageSequence.java:141) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:262) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) at org.apache.fop.apps.InputHandler.render(InputHandler.java:120) at org.apache.fop.render.awt.viewer.PreviewPanel$Reloader.run(PreviewPanel.java:331) --------- javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:469) at org.apache.fop.apps.InputHandler.render(InputHandler.java:120) at org.apache.fop.render.awt.viewer.PreviewPanel$Reloader.run(PreviewPanel.java:331) Caused by: org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.fop.fo.FObj.checkId(FObj.java:142) at org.apache.fop.fo.pagination.PageSequence.startOfNode(PageSequence.java:141) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:262) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) ... 2 more --------- org.apache.fop.fo.ValidationException: file:///home/richard/fop-head/xml-fop/reportimg.fo:40,60 Property id "N2528" previously used; id values must be unique in document. at org.apache.fop.fo.FObj.checkId(FObj.java:142) at org.apache.fop.fo.pagination.PageSequence.startOfNode(PageSequence.java:141) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:262) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) at org.apache.fop.apps.InputHandler.render(InputHandler.java:120) at org.apache.fop.render.awt.viewer.PreviewPanel$Reloader.run(PreviewPanel.java:331) org.apache.fop.apps.FOPException: Requested page number is out of range: 0; only 0 page(s) available. at org.apache.fop.render.java2d.Java2DRenderer.getPageViewport(Java2DRenderer.java:329) at org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:345) at org.apache.fop.render.awt.viewer.ImageProxyPanel.paintComponent(ImageProxyPanel.java:121) at javax.swing.JComponent.paint(JComponent.java:808) at javax.swing.JComponent.paintChildren(JComponent.java:647) at javax.swing.JComponent.paint(JComponent.java:817) at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787) at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740) at javax.swing.JComponent._paintImmediately(JComponent.java:4685) at javax.swing.JComponent.paintImmediately(JComponent.java:4488) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178) at java.awt.EventQueue.dispatchEvent(EventQueue.java:454) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)