mark nottingham

QNames are Evil

Saturday, 6 December 2003


How’s this analogy:

Putting QNames into your XML content is like using TCP packets as delimiters in an application protocol.

Both can be technically done, but they force an awareness of the special problems they bring up in software layers and intermediaries that could otherwise function in a generic fashion.

Anybody got a better one?


james anderson said:


have you ever considered that tools which model qnames as text might be broken? to continue your analogy, they are like implementing binary arithmetic where the base is bound to an application variable.

Friday, December 19 2003 at 11:12 AM

Clinton Gallagher said:

A QName is analogous to a clef [1] and as such is music to my ears.

Those software developers that have learned to read and write music intuitively understand that the notion of the QName is centuries old.

Thus, I see QNames as a beneficial orchestral element that will become increasingly valuable and most certainly increasingly contentious as XML continues to be adopted by the world at large which is for the most part very much concerned with such constructs as they apply to copyright, trademark, service marks and branding in general.


Wednesday, October 20 2004 at 3:40 AM

Ben West said:

Pointing out western music notation as an example of good engineering must be a joke. The system for western music notation is incredibly poorly engineered. It’s hard to read, difficult to write, and very difficult to learn. It’s also completely arbitrary. For example, there are 12 acceptable pitches, but we only have 7 proper names for notes. What did we do with the remaining five? We gave them two names each. If anything this example just further proves why qnames (and bad engineering in general) are harmful.

Monday, February 12 2007 at 8:26 AM