- From: Dean Edwards <dean@edwards.name>
- Date: Wed, 23 Mar 2005 19:39:35 +0000
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