OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Excessive layering in XML Schemas

Not specific to XSD, but I have often resisted excessive layering in object model designs and I have usually ended up regretting it. The real world is complex, and you ignore the complexity at your peril.

Michael Kay

On 10 Aug 2015, at 13:10, Costello, Roger L. <costello@mitre.org> wrote:

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

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS