Hi, Tomas. Tomas Studva <[EMAIL PROTECTED]> wrote on 2007-10-10 04:59:28 PM: > 1, > In ElemApplyTemplates when matching node against template there is code > case DTM.TEXT_NODE: > [HZ: Deleted code] > > There is some default template, sroot.getDefaultTextRule(), but it is > not executed and instead direct call to > dtm.dispatchCharactersEvents(child, rth,false); is performed. > Why?(optimization?)
Yes, that's an optimization because that particular template rule is invoked so often. > 2, In ElemApplyTemplates after template is found, is set on stacks and > so on and params are processed, follows code with comment > // And execute the child templates. > // Loop through the children of the template, > // calling execute on > // each of them. [HZ: Deleted code] > which directly executes children of matched template insted of executing > template. Why? It looks to me like somebody - Scott Boag very early on, probably - did that to eliminate the extra step of recursively invoking the execute method on the xsl:template element. I'm guessing it was done that way to increase the amount of recursive processing that could be done without causing a Java StackOverflowException. Thanks, Henry ------------------------------------------------------------------ Henry Zongaro XSLT Processors Development IBM SWS Toronto Lab T/L 969-6044; Phone +1 905 413-6044 mailto:[EMAIL PROTECTED]