Hi,
what's the purpose of having IterationSelectionManager and
IterationPayloadManager?
I can only see Named~ and TypedNamed.
Wouldn't a simple method overload in SelectionFactory be enough for just
giving the option of type checking?
Or do we assume some other use case for that?
Also, the names don't fit - it's not manager, rather some kind of
filter, or getter.
Also, how about splitting SelectionFactory to VarStack and
CurrentPayloadManager? The variable stack and "current payload" seem to
be related only indirectly, by concept - at least in the current
implementation.
And lastly, I'd rename "current payload" to something like
"cursor"
(resembling DB result iteration) or "current item" or "current
element"
(which is how XSLT refers to iterated nodes). Payload rather evokes that
there's some wrapper around it, which is not.
Thanks,
Ondra