This week's book giveaway is in the Reactive Progamming forum. We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line! See this thread for details.
Well I've never tried your specific use case before but using a style sheet to transform an XML document that meets one schema to another XML document that meets a second schema is quite common. I sugget you start here!
JasperReports provides full flexibility of using a wide variety of datasources including XML.
Acting as a consultant for an energy meter manufacturing company, I designed the XML schema to represent energy consumption data of a metropolitan city. The city had many grid stations, each grid station had several feeders, each feeder was feeding into a number of transformers and eventually each transformer was connected to a few dozen electricity consumers. I used JasperReports to provide a set of very comprehensive reports about the energy consumption data of the entire city consisting of over a million consumers.
So, customized XML is no problem for JasperReports. You can use XPath to map data elements from your XML to JasperReports data fields. Then you design your Jasper report using the data fields.
Please try this recipe and I hope it will show you exactly what you need to do with your customized XML in order to generate a report. And, if you have a spec of time, please let us all know on this forum what you learned from my recipe.