Just created an RELAG-NG (“compact”) grammar for editing JRXML files.
I used trang for that, and the “input module” was a sample JRXML file. Yes, that means: occasionally some JRXML file will have tags or attributes, that my jasperreport.rnc does not know yet. But then re-running trang on an additional sample file is not really a big job.
I really love editing XML.
I re-ordered and “grouped” the XML pieces for the elements in my sample reports. That helps to clean up some things, that got a little messy over the time. In the end you recognize, how much duplicate code you have.
You may want to fight the redundancy problems through JRXML subreports.
I actually made my JRXML a “here document” for a shell script. A couple of hours later I knew, that a perl script is the better approach. Another couple of hours later there were plenty little parameterized “here documents“. I have solved my redundancy problem here through “looping over lists of configurations”.
Leave a Reply