Jump to content
We've recently updated our Privacy Statement, available here ×

problem while compiling jrxml


tekin

Recommended Posts

Hi,

I am the chief programmer of German Hospital in Istanbul.

We are now preparing an application component to produce executive reports. Some 4 years ago we have worked on a similar project and haven't had no problems at all.

We prepare report designs with iReports, plan is to keep the xml's on server, compile them as necessary, fill the reports at the server-side and send them off to the requester.

The problem we are having is that we get a java.lang.reflect.InvocationTargetException in JRXmlLoader class at loadXML() method. The exception is thrown when the loader requests digester to parse the file.

I traced the exception to apache commons-digester Digester class's getXMLReader() method and found a note from the developer stating: "there is a bug in JAXP/XERCES that prevent the use of a parser that contains a schema with a DTD".

I wonder if there's a cure for this? Or else is there any alternative method to compile report designs?

Best regards,

Cem.

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 month later...

Hi,

There is problem while compiling jrxml with Jasperreports 3.5.1.

For example, I use jasperreports-3.5.1-project.zip, try to run sampls\templates, and give command ant compile, get exception,

 

 

 

Code:
Error compiling report design : D:\source\JasperReports\jasperreports-3.5.1\demo\samples\templates\Styles.jrxmlnet.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null".    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:242)    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:225)    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:213)    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167)    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:151)    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:107)    at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:398)    at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:252)    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)    at java.lang.reflect.Method.invoke(Method.java:597)    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)    at org.apache.tools.ant.Task.perform(Task.java:348)    at org.apache.tools.ant.Target.execute(Target.java:357)    at org.apache.tools.ant.Target.performTasks(Target.java:385)    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)    at org.apache.tools.ant.Main.runBuild(Main.java:698)    at org.apache.tools.ant.Main.startAnt(Main.java:199)    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)Caused by: org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null".    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1621)    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1900)    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1316)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)    at org.apache.commons.digester.Digester.parse(Digester.java:1548)    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:238)
Link to comment
Share on other sites

Well, at first let's unite 2 discussion threads (on of them on Project Tracker) cause it's starting going a bit messy

--------------------------------------------------------------------------------------------------------------------

hongwei
20/05/2009 10:33 AM

Cannot compile JRXML with jasperreports-3.5.1.jar,

for example, try to run samples/templates, give command
ant compile, get exception,

Error compiling report design : D:\source\JasperReports\jasperreports-3.5.1\demo\samples\templates\Styles.jrxml
net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null".
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:242)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:225)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:213)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:151)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:107)
    at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:398)
    at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:252)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    at org.apache.tools.ant.Main.runBuild(Main.java:698)
    at org.apache.tools.ant.Main.startAnt(Main.java:199)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null".
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1621)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1900)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1316)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.apache.commons.digester.Digester.parse(Digester.java:1548)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:238)

Best wishes
Hongwei

--------------------------------------------------------------------------------------------------------------------

andfedotov
20/05/2009 11:19 AM

Hongwei, I have no problem with compiling this report.
Looks like it's something wrong with the jrxml file itself (XML Parser complains on DOCTYPE). Have you ever edited it?..
Try the original file - it should be ok

--------------------------------------------------------------------------------------------------------------------

hongwei
20/05/2009 01:53 PM

I have also no problem with compiling jrxml using jasperreports-2.0.4.jar, which uses jaspereports.dtd.
but using jasperreports-3.5.1.jar, which uses jasperreports.xsd have problem.
for example, in file samples/templates/Styles.jrxml, which uses xml schema jasperreports.xsd, the root element is:
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" [^]
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" [^]
        xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports [^] http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" [^]
        name="Styles" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" whenNoDataType="AllSectionsNoDetail">
...
</jasperReport>

so it does not work.

Best wishes
Hongwei

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...