- From: Fred L. Drake, Jr. <fdrake@acm.org>
- Date: Fri, 1 Nov 2002 17:18:12 -0500
- To: www-dom@w3.org
Given that I know at least Ray is listening, I'll ask a few questions about the intentions for the setIdAttribute*() methods being added to the Element interface. Let's start with a minimal sample document: <!DOCTYPE e [ <!ATTLIST e id ID #IMPLIED> ]> <e id="me" attr="you"/> Let's also presume we have a Level 3 Document representing this document: doc = parse(...) e = doc.documentElement a1 = e.getAttributeNode("id") a2 = e.getAttributeNode("attr") If at this point we make the call: e.setIdAttribute("attr") then... what happens? The draft is clear that doc.getElementById("you") should return the document element in this case. What about doc.getElementById("me")? Is it still considered an ID? The specification should be explicit about the interaction with the "Validity constraint: One ID per Element Type" constraint (XML 1.0 2nd ed., section 3.3.1), validation features, and this method. Next question: Is the "ID-ness" of the attribute associated with the element node, the attribute node, their association, or the association between the element and the attribute *name*? If the attribute node is removed from the element and added to a different element, is it still an ID? If the attribute node is replaced with another of the same name, does the new attribute node become an ID, is the original ID restored, or does the element end up with no ID? I hope these questions make sense! A simpler question, also related to IDs: Is there any expectation that an attribute or method will be added that allows an application to get the ID of an element without having to loop over the attribute nodes and check the isId attribute? -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> PythonLabs at Zope Corporation
Received on Friday, 1 November 2002 17:18:48 UTC