Extensibly Extensible

Reading370 words2 minutes to read

Well, I know that I haven’t been talking much about web stuff lately, so I figured that I might as well make up for it with a doozie…

Yesterday, the W3C released a shiny new recommendation called XML 1.1, and another called Namespaces in XML 1.1. The changes in XML 1.1 are seemingly minimal, and appear to primarily affect certain character entities defined in newer versions of Unicode.

The W3C’s XML 1.0 Recommendation was first issued in 1998, and despite the issuance of many errata culminating in a Third Edition of 2004, has remained (by intention) unchanged with respect to what is well-formed XML and what is not. This stability has been extremely useful for interoperability. However, the Unicode Standard on which XML 1.0 relies for character specifications has not remained static, evolving from version 2.0 to version 4.0 and beyond. Characters not present in Unicode 2.0 may already be used in XML 1.0 character data. However, they are not allowed in XML names such as element type names, attribute names, enumerated attribute values, processing instruction targets, and so on. In addition, some characters that should have been permitted in XML names were not, due to oversights and inconsistencies in Unicode 2.0. Namespaces, however, have been completely revamped, from what I can tell. From what I understand, instead of having namespaces add support for certain tags, it will instead forbid support for certain tags. The W3C says it best:

The overall philosophy of names has changed since XML 1.0. Whereas XML 1.0 provided a rigid definition of names, wherein everything that was not permitted was forbidden, XML 1.1 names are designed so that everything that is not forbidden (for a specific reason) is permitted. Since Unicode will continue to grow past version 4.0, further changes to XML can be avoided by allowing almost any character, including those not yet assigned, in names.

I’m just curious as to how this will effect news syndication feed formats like RSS 1.0, RSS 2.0, and Atom. Whereas the first two seem to be pretty much complete, Atom looks like it will continue to develop. From what it seems, XML 1.0 will continue to be the best bet for syndication formats. You never know though.

Ryan Parman

Ryan Parman is an experienced software engineer, open source evangelist, and passionate user advocate currently living in Seattle. He is the creator of and , and worked on DevOps and Security at . He is now bringing learning into the digital age as an Engineering Lead and Site Reliability Engineer at . Ryan's aptly-named blog, , is where he writes about ideas longer than .