I am working within a enterprise architecture that is processing a large amount of XML messages. We have recently been given the requirement to perform some calculations on data contained in those XML messages and add some results to the message header before passing the message out of the enterprise to an external consumer. Our architecture is based on the JBoss SOA-P and I am currently evaluating JBoss Drools 5.2.0 for performing these message operations.
I know that I can simply hydrate a POJO from the XML, execute the rules on it, and add the appropriate result. If possible, however, I would like to remove compile-time dependencies on the XML message structure due to dynamic requirements around the schema as well as significant hurdles in deploying new compiled code to our production environment (read: red tape). I would ideally like to use XPath evaluations on the raw XML in the .drl rules. Some searching turned up the SXC project, which appears to be exactly what I need, but there is very little information on how to use it and it seems to be dormant since 2007. Additionally, it has been compiled against Drools 4.0.4 and I am required to use 5.2.0.
Does anyone know of a good way to evaluate XPath expressions against XML in Drools rules? Alternatives to XPath that allow XML structure changes to be compensated for in Drools rules at runtime are also welcome.
Thanks!