This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Section 3.15.5 of Structures talks about constraints on values of type ID and IDREF and IDREFS. It needs to cover unions and lists of such values, but it almost certainly should not cover all values of types constructed from ID or IDREFS: otherwise the integer 123 gets put into the ID/IDREF tables whenever it appears as a value of a type declared as union of ID and integer. At its meeting of 2005-09-28, the Working Group decided we need to track this as a separate issue.
I think (speaking for myself) that the right way to solve this problem is to develop, within the Working Group and within the spec, a clearer and cleaner way of talking about the types (plural) of values and the type (singular? or types plural?) of an element or attribute. Ultimately, what we want to say is that atomic values of type ID and IDREF go into the relevant tables. We don't currently have a good way of saying it in any simple form.
Proposal: only add a value to ID/IDREF table when it's actually validated using ID/IDREF or a type derived from them. Resolution: adopted at 2006-10-17 telecon.