Robin Berjon

XML Bad Practices

Overcomplexity

Overcomplexity is a really general issue that applies equally to software architecture, and arguably to life in general. There is however something specific to be said about vocabulary design here: adding an element to a specification is simple.

This is not a force to be ignored. XML being by nature extensible, it is tantalisingly easy to believe that functionality can be added to a language simply by adding an element. When working on a specification, one will often hear: "Well, it's simple. Look. Just add in a <feature param1='this' param2='that'/> element and wow! BAM! It rocks!"

That it is not the case is obvious when looking at the work of others, but all of a sudden becomes less clear when it's the feature one wants. As a rule of thumb, before proposing any new feature, one should thumb through old drafts of SVG Full 1.2 and meditate a little on the frailty of life when caught stuck with a roomful of implementers carrying screwdrivers.

This article is part of a series on XML Bad Practices.