Re: Implementing NodeList

Uhm... If we're going to resolve this by saying NodeList _isn't_ always
"live", I suggest you declare both StableNodeList and NodeList. That forces
the user, and enables the code, to be aware of which situation applies. The
former could be a no-additional-code subclass of the latter. (I thought
about the opposite way around, but decided that "unstable" should be the
default assumption since anything that is content with unstable will work
with stable but the reverse is not necessarily true.)

Caching state and using some version of a "dirty bit" (actually, a bit's
probably not enough; I suspect you'd need something more like a version
counter, propigated up the parent links) might in fact suppress most of the
overhead. Certainly it will address the needs of XSL, where the input tree
is read-mostly and the output tree is write-mostly, so disruptions really
are rare.

Received on Monday, 27 July 1998 20:48:32 UTC