[XML-SIG] Re: getElementsByTagName interpretation

Uche Ogbuji uogbuji@fourthought.com
Sun, 25 Jun 2000 10:14:19 -0600


>     Where this falls down is .getElementByTagName('X'), which returns a
>     NodeList containing all 'X' elements in the tree. If this is live,
>     then every time you modify the DOM tree by adding, deleting, or moving
>     an element, you have to ask "Are there any .getElementByTagName()
>     NodeLists out there that would change as a result of this?" If you
>     consider a change that moves or deletes many elements, such as
>     deleting a chapter from a book, this seems quite expensive and
>     time-consuming.
> 
> Another nasty situation I can think of is stepping through a NodeList deleting
> the nodes as you step through... in a "live" list, the list you're stepping
> through would be changing as you step... The obvious answer is to step last to
> first, but it's one more argument against "live"ness.

The DOM WG's answer to this is "use NodeIterator or TreeWalker", which is 
required to handle this situation gracefully.

-- 
Uche Ogbuji                               Principal Consultant
uche.ogbuji@fourthought.com               +01 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python