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 

Reply via email to