Fabric is a code generation framework for Java, C and C++. It can parse arbitrary XML Schema and WSDL files to build a tree structure. Subsequently a module API allows to walk the tree for custom code generation.
Unlike many other frameworks, Fabric does not write output instantly, but creates virtual code in a so-called workspace. Thus developers can add further code at any time and in any order, until then the file is serialized to disk.
Another nifty feature of Fabric is its powerful module architecture, which permits cascading calls to different modules in a single generator run.