[whatwg] Attribute for holding private data for scripting

Sam Ruby rubys at intertwingly.net
Wed Apr 11 06:04:45 PDT 2007

Anne van Kesteren wrote:
> I think I'd rather have something simple such as 
> prefix_name for extensions made by ECMAScript libraries, etc. (As 
> opposed to an in scope xmlns:prefix="http://..." with prefix:name 
> extensions which work differently in XML.) That would also work better 
> for element extensions. Not any of this should be allowed, but there 
> seems to be some desire to have an ability to introduce "conforming" 
> extension elements / attributes which are implemented using a script 
> library.

This leads into lots of tangents.

1) re: "prefix_name" - how are prefixes registered?  Henri is free to 
correct me if I am wrong, but I gathered that the requirement was for a 
bit of decentralized extensibility, i.e., the notion that anybody for 
any reason could defined an extension for holding private data; and 
furthermore could do so without undo fear of collision.

2) I assert that the existing DOM standard already defines a mechanism 
for decentralized extensibility.  Most relevant to the discussion at 
hand is the getAttributeNS method.  It may not be defined as clearly as 
it could be, but there does seem to be some clues which suggest what the 
original intent was, and the beginnings of an agreement that if more 
browsers were to conform to that intent, that would be a GOOD THING(TM).

3) There already is spec text which indicates how html5 defined elements 
are to be handled with respect to getElementsByTagNameNS.  Perhaps it 
would again be a GOOD THING(TM) if this was also codified for 
attributes.  I believe that this is consistent with what Maciej is 
calling for.

4) One thing that needs to be mentioned is that compliance to the DOM 
standard varies widely.  In the long term, perhaps browser vendors could 
do a better job of this, and perhaps the HTML5 effort can help put a 
focus on this need.  In the short term, however, this can be dealt with 
via JavaScript.  Encapsulating and dealing with browser 
incompatibilities is an all too common use case for JavaScript.

5) I'm not sure where you draw the conclusion that prefix:name 
extensions would work differently than in XML.  While Python's minidom 
does not appear to produce the desired results when I call 
getElementById, it otherwise seems to handle the document identically to 
the way Firefox does:


- Sam Ruby

More information about the whatwg mailing list