… and maybe it should be renamed to
#withAllElementsDo: ?
On 30.08.2011, at 00:01, Levente Uzonyi wrote:
On Mon, 29 Aug 2011, Nicolas Anquetil wrote:
In XML-Parser-Nodes we have:
XMLNodeWithElements
XMLDocument
XMLElement
A document is composed of elements that can hold recursively other elements
XMLNodeWithElements implements (in protocol enumerating)
allElementsDo: aBlock
"Descend depth-first visiting each element with aBlock."
self hasElements
ifTrue: [self elementsDo: [:each | each allElementsDo: aBlock]]
Looks perfectly normal to me
But then:
XMLElement implements (in protocol searching !)
allElementsDo: aBlock
"See superclass version."
aBlock value: self.
super allElementsDo: aBlock.
which means that
anXMLElement allElementsDo: [...]
runs first on itself and then on its elements ?!?
Seems counter intuitive to me.
Should I remove this?
IMHO you shouldn't, because it is enumerating the whole tree, which is exactly what
I'd expect from this method. But the method should be recategorized.
Levente
nicolas