2008-10-30: This work on direct translation of the pre-NIAC2008 NeXus MetaDTD XML templates into Java is now considered obsolete, in favour of EObject bindings to the NeXML Schema generated with the Eclipse XSD API from the NeXus XML templates. Note however that very similar and very useful UML class and instance models can be created by reverse-engineering the NeXML Schema from XSD and/or reverse-engineering the EMF Java bindings into UML.
[ARCHIVAL] NeXusBean Java components in UML
Once one has converted the NeXus Meta-DTDs "templates" into Java NeXusBean components one can easily reverse-engineer them into graphical, associative Unified Modelling Language (UML)TM using a tool like Magicdraw UMLTM.
Here is a simple example, the former (pre NIAC2006) NXgeometry and associated data items (inner elements) and other NX classes:
Here is a very detailed example, the former (pre NIAC2006) NXdetector:
Q: So if I have a UML tool I can build a neutron beam instrument graphically using NeXusBean components instead of messing with XML files or even Java code ?
A: Yes ! However, you still need to extract your "NeXus machine instance" from the XMI files written by your UML tool. I am working on stylesheets to do that for Magicdraw UMLTM.
Q: TRICK QUESTION: Do I need to learn Unified Modelling Language (UML)TM to command modern software engineering and get real ?
A: Yes. No tricks will get you there. One cannot sneak around the great IT mountain, one cannot quantum tunnel through it, one can only climb the mountain. So begin the journey, you may even enjoy the graphical trip ...

