<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 18, 2015 at 6:23 AM, Ihe Onwuka <span dir="ltr"><<a href="mailto:ihe.onwuka@gmail.com" target="_blank">ihe.onwuka@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span><font color="#888888"><div><br></div></font></span></div></blockquote></span><div>It's how it's presented to the experienced programmer that is the issue. My metaphor is that an XSLT processor converts an XML document to a stream of events which you have to write handlers for in the form of template rules. However that only covers XSLT's push paradigm and although I'd like to say push is all you need I don't think it's true, sometimes you have to pull. </div></div></div></div>
</blockquote></div><br></div><div class="gmail_extra">I should have added that the processor has built in event handlers so you only need to write handlers for required functionality that is at variance with the default for that node type.</div><div class="gmail_extra"><br></div><div class="gmail_extra">A non-programmer has no problem accepting this but it is alien to the experienced programmer for processing that  he has not explicitly controlled to occur and it screws them up because they like to step through code with debuggers. In fact that is often their prime modus operandi</div></div>