W3C home > Mailing lists > Public > whatwg@whatwg.org > March 2005

[whatwg] Repetition Model (was: WF2 changes: uri->url, ERROR_* constants dropped; status update)

From: Dean Edwards <dean@edwards.name>
Date: Wed, 23 Mar 2005 19:39:35 +0000
Message-ID: <4241C5F7.6030504@edwards.name>
Jim Ley wrote:
> On Wed, 23 Mar 2005 17:32:28 +0000, Dean Edwards <dean at edwards.name> wrote:
> 
>>I like the repetition model but maybe it needs more work. But not much
>>more. I feel we are very close to a simple yet useful mechanism. If we
>>did separate it into a separate module then we would have time to tweak
>>it...
> 
> 
> My current view, which I've not had time to fully write up yet, is
> that the repetition model proposed is effectively unimplementable in
> IE in an efficient manner.
> 
> The requirement to iterate over every element in the document looking
> for the attribute, and the requirement to iterate over every attribute
> in every element in the template looking to perform the substitution
> when inserting make it all very, very slow (the IE attributes
> collection contains more than just the attributes defined, and setting
> attributes like name are not actually well supported)
> 

Yes you would have to iterate over each element to attach the repetition 
template interface. Olav Junker Kj?r provided a solution to this speed 
this up a little:

* {
behavior:expression((this.repeat)?"url(repetitionElement.htc)":"");
display: expression((this.repeat=="template")?"none":this.display);
}

this is an order of magnitude quicker than using DOM methods. Another 
alternative is to require the author to attach the repetition interface. 
Not that big a deal really...

Your point about substitution is valid for a large amount of repeats. 
This is something that maybe needs more discussion. One alternative to 
looping over all attributes is to use "outerHTML" and a RegExp.

> I think whilst it's a good generic solution, implementing it in script
> for a specific solution gives such a large performance improvement
> that the IE script emulation approach will be impractical.
> 

I think that performance only becomes a problem for a large number of 
repeats, say a hundred or so.

-dean
Received on Wednesday, 23 March 2005 11:39:35 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:58:39 UTC