You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/10/17 21:05:37 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/templates ElemValueOf.java
sboag 00/10/17 12:05:37
Modified: java/src/org/apache/xalan/templates ElemValueOf.java
Log:
Remove isDot optimization, generally clean up the code.
Revision Changes Path
1.4 +16 -70 xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java
Index: ElemValueOf.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ElemValueOf.java 2000/10/02 02:43:07 1.3
+++ ElemValueOf.java 2000/10/17 19:05:37 1.4
@@ -65,6 +65,7 @@
import org.apache.xalan.utils.QName;
import org.apache.xalan.res.XSLTErrorResources;
import org.apache.xalan.transformer.TransformerImpl;
+import org.apache.xalan.transformer.ResultTreeHandler;
/**
* <meta name="usage" content="advanced"/>
@@ -158,11 +159,6 @@
return m_disableOutputEscaping;
}
- /**
- * Optimization to tell if pattern is a simple ".".
- */
- private boolean isDot = false;
-
/**
* Get an integer representation of the element type.
*
@@ -202,75 +198,25 @@
if(TransformerImpl.S_DEBUG)
transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);
- if(isDot)
+ XObject value = m_selectExpression.execute(transformer.getXPathContext(),
+ sourceNode, this);
+
+ if(TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireSelectedEvent(sourceNode,
+ this, "select", m_selectExpression, value);
+ String s = value.str();
+ int len = s.length();
+ if(len > 0)
{
- String s;
-
- int t = sourceNode.getNodeType();
- if(((Node.COMMENT_NODE ==t) ||
- (Node.PROCESSING_INSTRUCTION_NODE == t)))
+ ResultTreeHandler hth = transformer.getResultTreeHandler();
+ if(m_disableOutputEscaping)
{
- s = sourceNode.getNodeValue();
+ hth.startNonEscaping();
+ hth.characters(s.toCharArray(), 0, len);
+ hth.endNonEscaping();
}
else
- {
- s = org.apache.xpath.DOMHelper.getNodeData(sourceNode);
- }
-
- if(TransformerImpl.S_DEBUG)
- transformer.getTraceManager().fireSelectedEvent(sourceNode,
- this, "select", m_selectExpression, new XString(s));
-
- if(null != s)
- {
- int len = s.length();
- if(len > 0)
- {
- if(m_disableOutputEscaping)
- {
- transformer.getResultTreeHandler().startNonEscaping();
- }
- transformer.getResultTreeHandler().characters(s.toCharArray(), 0, s.length());
- if(m_disableOutputEscaping)
- {
- transformer.getResultTreeHandler().endNonEscaping();
- }
- }
- }
-
- }
- else
- {
- XObject value = m_selectExpression.execute(transformer.getXPathContext(),
- sourceNode, this);
-
- if(TransformerImpl.S_DEBUG)
- transformer.getTraceManager().fireSelectedEvent(sourceNode,
- this, "select", m_selectExpression, value);
- if(null != value)
- {
- int type = value.getType();
- if(XObject.CLASS_NULL != type)
- {
- String s = value.str();
- if(null != s)
- {
- int len = s.length();
- if(len > 0)
- {
- if(m_disableOutputEscaping)
- {
- transformer.getResultTreeHandler().startNonEscaping();
- }
- transformer.getResultTreeHandler().characters(s.toCharArray(), 0, s.length());
- if(m_disableOutputEscaping)
- {
- transformer.getResultTreeHandler().endNonEscaping();
- }
- }
- }
- }
- }
+ hth.characters(s.toCharArray(), 0, len);
}
}