Type: New Feature
Affects Version/s: ODF 1.3
Fix Version/s: ODF 1.3
Currently, xml:ids (19:914) are not required to be stable over the lifetime of a document. So long as an application maintains the links established by use of xml:ids and serializes those, it is free to generate or save xml:ids it encounters.
That approach was adopted before the first TC meeting on 16 December 2002. (https://lists.oasis-open.org/archives/tc-announce/200211/msg00001.html) A few days before that, PC Magazine reported its editor's choice for the year:
"Dell Dimension 8250 - 2.8-Ghz Pentium 4, 512 RDRAM, 7,210-rpm 200GB hard drive, ATI Radeon 9700 Pro graphics card, DVD-ROM and DVD-RW drives, two USB L1 and six USB 2.0 ports, one FireWire port, 18-inch LCD. (Brown, Bruce. PC Magazine. 12/3/2002, Vol. 21 Issue 21, p102. 9p. 4 Color Photographs, 9 Charts.)"
As of December, 2011, PC Magazine reported its editor's choice as:
"HP Pavilion p7-1167cb - 3.1GHz Intel Core i5-2400 processor, 8GB of RAM, 7200-rpm 1TB hard drive, AMD Radeon HD 6450 (512MB) discrete graphics card, DVD+-RW, four USB 2.0 ports, audio-in and -out, a mic jack, Ethernet, and VGA and DVI-D video outputs, 25-inch LCD monitor (HP 2511x). (Shoemaker, Natalie. PC Magazine. Dec2011, Vol. 30 Issue 12, p1-1. 1p.)"
I suspect this is one of those decisions that was influenced by our appreciation of the hardware capabilities implementers would face while implementing ODF. The change in "average" hardware is enough to merit reconsideration of the stability of xml:ids.
Benefits from stable xml:ids:
1) Stable reference points for change tracking
2) Detection of non-change tracked deletions (operation pointer no longer has a target)
3) Centralized change tracking (request only operations after timestamp or xml:id sequence)
4) Changes to changes by different applications detectable but not resolved by ODF.
Not to mention that stable xml:ids would be an incentive to fix all the referencing in ODF 1.3 to use xml:ids and not names, etc.
I have proposed using a 32-bit number below as that allows addressing up to 4,294,967,295 items. There is a lot of experience with compressing 32-bit numbers. Should we bump that up to 64? Just to avoid revisiting the issue any time soon?
I prepended odf to the string to meet the requirements of NCNAME in XML Schema Part 2, Datatypes, http://www.w3.org/TR/xmlschema-2/#ID