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?
nicolas
nicolas