- From: <tng@ca.ibm.com>
- Date: Fri, 1 Dec 2000 15:54:45 -0500
- To: www-dom@w3.org
> followed by rangeA.insertNode(foo), I would expect > > <root>h<foo/>ello</root> > > Range: > start container: h > start offset: 1 > end container: root > end offset: 3 My logicial sense also thinks this way. But reading the spec (DOM Level 2 Traversal and Range Specification): [2.12.1] The only case in which the boundary-point will be changed after the insertion is when the boundary-point and the insertion point have the same container [p.32] and the offset [p.32] of the insertion point is strictly less than the offset [p.32] of the Range's boundary-point. the condition "same container" quite confuses me, and a clarification is recommended. Similarly here is another confusing boundary update scenario, say the document has: <root> hello </root> and rangeB is set as: start container: root start offset: 0 end container: root end offset: 1 now we do a document mutation, and split the Text Node: hello.splitText(1); so the document becomes <root> h ello </root> How is the rangeB being modified after this document mutation? Will it be: start container: root start offset: 0 end container: root end offset: 2 or start container: root start offset: 0 end container: root end offset: 1 ?? The spec says: [2.12.1] Note that when content is inserted at a boundary-point, it is ambiguous as to where the boundary-point should be repositioned if its relative position is to be maintained. There are two possibilities: at the start or at the end of the newly inserted content. We have chosen that in this case neither the container [p.32] nor offset [p.32] of the boundary-point is changed. As a result, the boundary-point will be positioned at the start of the newly inserted content. And the new text node "ello" is indeed a insertion at rangeB's end boundary point. And according to the spec above, the boundary-pint will be positioned at the start of the newly inserted content. Thus sounds like the latter one (i.e. end container: root, end offset: 1) should happen. But again similar to previous example, my logical sense thinks the first one make more sense..... May be I've missed something ..... Any help in clarification appreciated. Thanks! Tinny
Received on Friday, 1 December 2000 15:55:00 UTC