This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 4538 - [UPD] Section 3.1.11 upd:rename: Impact of DTD
Summary: [UPD] Section 3.1.11 upd:rename: Impact of DTD
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: Update Facility (show other bugs)
Version: Working drafts
Hardware: PC Windows XP
: P2 minor
Target Milestone: ---
Assignee: Andrew Eisenberg
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-04 23:36 UTC by Michael Rys
Modified: 2007-08-09 22:42 UTC (History)
0 users

See Also:


Attachments

Description Michael Rys 2007-05-04 23:36:29 UTC
What if DTDs are supported in DM, and new name is typed as ID in the DTD, or name typed as ID in DTD gets renamed (same for IDREF/S).
Comment 1 Don Chamberlin 2007-05-11 23:57:29 UTC
Michael,
I think this case is covered. Renaming a node invokes upd:removeType() on the node, which sets its "id" and "idref" properties to False. These properties can be recovered by subsequent revalidation.
--Don Chamberlin
Comment 2 Michael Rys 2007-06-12 16:09:32 UTC
I agree that this is covered that way. I still think that adding an editorial note along the line of 

NOTE: Renaming an node invokes upd:removeType() on the
node, which untypes it and sets its "id" and "idref" properties to False. 

would be very useful for the understanding of the spec.
Comment 3 Don Chamberlin 2007-08-09 22:41:55 UTC
Michael,
I have accepted and implemented this editorial suggestion. However, I did it in a more general way than you suggested. Loss of the "id" property by a rename expression is only one small example of the general rule that updating expressions cause a loss of type information from the affected nodes. I have added the following note to Section 2.4:

Note: In general, updating expressions cause a loss of type information from nodes that are affected by the update. Type information for these nodes may be recovered by a revalidation process at the end of the snapshot. For more details on type loss and recovery, see the update primitives associated with each updating expression; see also [3.2.4 upd:removeType] and [3.2.3 upd:revalidate].

Regards,
Don Chamberlin