Interesting approach to data-binding with XPath, instead of the more traditional approach of using schemas. It looks like, using this technique, you will quite quickly build up a fairly large number of XPath expressions that need to be maintained.
Might I suggest that a tool similar to SketchPath could help with this. SketchPath is designed to generate, debug, test and manage large libraries of XPath expressions using a graphical interface. SketchPath is a .NET application, but something similar could of course also be done in Java, if it hasn't been done already?