Hi Folks, Below is a slight twist on something that Eric Raymond wrote [1]. I welcome your thoughts on this topic. What schemas have you seen that have excessive layering? /Roger XML Schema make abstraction easy — perhaps too easy. It encourage data architectures with thick glue and elaborate layers. This can be good when the problem domain is truly complex and demands a lot of abstraction, but it can backfire badly if schema designers end up doing simple things in complex ways just because they can. Too many layers destroy transparency: It becomes too difficult to see down through them and mentally model what the data design is actually doing. The Rules of Simplicity, Clarity, and Transparency get violated wholesale, and the result is a data design full of obscure bugs and continuing maintenance problems. This tendency is probably exacerbated because a lot of educational courses teach thick layering as a way to satisfy the Rule of Representation. In this view, having lots of abstract types is equated with embedding knowledge in your data. The problem with this is that too often, the ‘smart data’ in the glue layers is not actually about any natural entity in whatever the schema is representing — it's just about being glue. (One sure sign of this is a proliferation of abstract subclasses or ‘mixins’.) [1] http://www.catb.org/esr/writings/taoup/html/unix_and_oo.html