Monday, December 11, 2006

XML is not extensible

XML does not deserve the "X" in its name.

Extensible means (to me) that it can be extended beyond its original design scope by adding new mechanisms.

I claim that this is not the case. XML has pre-defined syntax (begin/end tags with attributes that can be set within a tag). As such you can define any tags you want, and add any attributes you want, but that's not extensibility, it's in the original design.

There's no way I can see to extend the format without rewriting all the existing XML parsers.


  1. Chill Out!

    XML is extensible by adding additional layers of meaning on top of it... Such as namespaces, schemas, signing and all that.

    I certainly agree that the XML ecosystem is rife with antipatterns -- that XML toolsets are atrocious, and that XML is often used incorrectly. Anything that has "WS" in the name should have the W flipped upside down... "Web Services" was a Microsoft plot to use standards organizations to slow the development of web services several years.

    That said, Tim Bray's original XML spec was 40 pages of very clear technical writing... And XML is clear step up from CSV, just don't use it to replace your relational database.

  2. This is a matter of definition. If "extensible" means to allow the introduction of new concepts and language features, then I'm quite happy that XML is not extensible.

    I'm reading this site because I'm also thinking that XML is not the best solution for everything, but I do recognize that it has its strengths. And I think, the biggest strength of all is being extensible in their way without being extensible in your way. Because this is the only way to allow new languages based on XML which can be parsed, displayed, edited, validated (...) without modification to the tools.