That's what I liked with ArchGenXML. The code is quite good.
At least as good as code for Plone components can be. I heard it has improved a lot since I left Plone-land, but, when I worked with it, there was a required level of confusion in your code for it to work with all layers of Zope and Plone.
I assume UML diagrams can render very clean code for Django and Zope 3.