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++;