I had a couple of buddies ask for help recently around JET (I have an article if you need an intro). JET has the ability to load EMF-based models as input, not only XML models. To work with an EMF-based model, you simply need to set the modelLoader in the org.eclipse.jet.transform extension point to org.eclipse.jet.emf and when you’re given an EMF model for input, you can use normal XPath expressions in JET to evaluate the model (‘/’ will evaluate to your resource’s getContents() method).
JET is pretty cool stuff if you’re in the EMF crowd. 🙂