In our organization we have business application and it uses xlst for over 10 years to transform the data between the systems. So with time these file transformations:
XML->XSL->XML become very time consuming.
So the input XML become 100MB - 200MB. But now we have 2,3,4 GB of xml, mainly during system synchronization so we want to replace the xslt (version 1.0) with something more advanced technology. In the future with the biggest data structures this number can even rise.
For that reason I researched different approaches but wonder which is the best:
- Rewrite the xslt transformations from version 1.0 to 2.0 (3.0?) and use the fastest processor in order to reduce the time and the memory consumption.( We have over 30 transformations with 1000 lines of rules for transformation/templates.) Implement the best practices for xslt traformations .
2. Use Xquery for transformation. Here is said that for searching data in big xml files XQuery is good. But we need to transfor the whole xml and to make big xml to xml transformation. So here I am wondering if this is good.
Use VTD-XML The world's fastest XML parser. It has java support for XML over 2GB
VTDGenHuge vgh = new VTDGenHuge();
http://vtd-xml.sourceforge.net/codeSample/cs12.html
com.ximpleware Standard VTD-XML supporting up to 2GB document size com.ximpleware.extended Extended VTD-XML supporting up to 256GB document size
- Etc..