Fix for Tooling problem. We need to push the current ElemTextLiteral in the currentElements stack

diff --git a/src/org/apache/xalan/transformer/TransformerImpl.java b/src/org/apache/xalan/transformer/TransformerImpl.java
index 7511d1d..2c10ea7 100644
--- a/src/org/apache/xalan/transformer/TransformerImpl.java
+++ b/src/org/apache/xalan/transformer/TransformerImpl.java
@@ -2035,31 +2035,35 @@
     ElemTemplateElement t = elem.getFirstChildElem();
 
     if (null == t)
-      return;
-      
+      return;      
+    
     if(elem.hasTextLitOnly() && org.apache.xalan.processor.TransformerFactoryImpl.m_optimize)
-    {
+    {      
       char[] chars = ((ElemTextLiteral)t).getChars();
       try
       {
-        // %TBD% Have to push stuff on for tooling...
+        // Have to push stuff on for tooling...
+        this.pushElemTemplateElement(t);
         m_resultTreeHandler.characters(chars, 0, chars.length);
       }
       catch(SAXException se)
       {
         throw new TransformerException(se);
       }
+      finally
+      {
+        this.popElemTemplateElement();
+      }
       return;
     }
 
-    XPathContext xctxt = m_xcontext;
-
 //    // Check for infinite loops if we have to.
 //    boolean check = (m_stackGuard.m_recursionLimit > -1);
 //
 //    if (check)
 //      getStackGuard().push(elem, xctxt.getCurrentNode());
 
+    XPathContext xctxt = m_xcontext;
     xctxt.pushSAXLocatorNull();
     int currentTemplateElementsTop = m_currentTemplateElementsTop;
     m_currentTemplateElementsTop++;