[whatwg] Re: repetition model

Ian Hickson ian at hixie.ch
Fri Jun 25 08:37:53 PDT 2004

On Thu, 24 Jun 2004, Malcolm Rowe wrote:
> Oh, agreed, but compared to the 'other' parts of the spec, which are
> either codification of existing practice or incremental advances, the
> replication model has got to be the most complex part [to implement].

Not really. It looks it, but it's actually pretty straight-forward. Unlike
parts of CSS that are defined in terms of constraints, where implementing
the constraints means working out how they interact, the repetition model
is simply explained in terms of steps, so the implementation can simply
follow what the spec says and then it all falls together and works.

> I was particularly thinking of the interaction between the replication
> model, the DOM, events, and so on; I suspect that there are edge cases
> that aren't properly defined, simply because the functionality hits a
> lot of areas. I will admit that I haven't taken a detailed look at it
> recently, and so I'm probably worrying about nothing.

As far as I know there can't be edge cases that aren't defined, because
the specification is not explained in terms of constraints, but in terms
of certain events triggering certain actions, and the list of steps that
those actions must involve.

> For the user, it's fine. No disagreement there. The implementation is
> what's complicated. It modifies the DOM based on events, fires events by
> itself, and generally has a potential for un-interoperability (is that a
> word?)  that's higher than any other single feature in the spec.

I don't deny that it's possible for that part of the spec to have bugs,
but I do doubt that it is the most likely to be buggy. I'd expect things
like the min/max/step attributes to have many more bugs.

> It also doesn't play nice with non-WF2 UAs. While it will be possible to
> emulate some of it with script, we're never going to support it on lynx
> (or on IE6 with scripting disabled).

Actually, you can. Here's an example of a WF2-compliant document that
works in HTML4-compliant non-WF2 UAs (e.g. Mozilla), by replicating the
repeating code on the server:


And in a WF2 UA, that would work even better, since the client wouldn't
have to hit the server for each request.

(Having said that, the version of Lynx I have here fails to default
unexpected values on the the <button> type attribute according to the
spec, so it doesn't work on that page.)

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list