XML News from Saturday, September 10, 2005

The W3C XML Core Working Group has released the final recommendation of xml:id Version 1.0. This spec defines an xml:id attribute that should always be recognized as an ID, regardless of the presence or absence of a DTD or schema. There've been no substantive changes in the spec since the propose recommendation a few moths ago, just editorial cleanups.

Unfortunately, this scheme is pretty badly incompatible with canonical XML, which likes to inherit attributes in the XML namespace onto descendant elements, thus moving xml:id's from one element to another. This has downstream effects on XML digital signatures and XML encryption. Canonical XML should not have assumed that all attributes in the XML namespace would act like xml:lang and xml:space; but it did; and canonical XML is now a four-year old deployed recommendation; so now we're stuck with another messy inconsistency between specs. At some point, we're really going to need to go through all of these and sand down these rough edges to produce XML 2.0.

It will take a while for software to catch up to this. XOM 1.1 is one of the few libraries that does already recognize xml:id. xml:id was the last blocker before final release. Now that the final version of xml:id is out, expect a release candidate of XOM 1.1 in a few days. (There are also a couple of inconsistencies with Xerces-J 2.7.1 I have to work out.)