You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mk...@apache.org on 2003/03/07 20:05:48 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java
mkwan 2003/03/07 11:05:48
Modified: java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
AbstractTranslet.java
java/src/org/apache/xalan/xsltc/runtime/output Tag:
XSLTC_DTM StreamOutput.java
Log:
XSLTC_DTM performance work
Improvement in StreamOutput.escapeString(). Do not create the StringBuffer
if there is nothing to escape.
This change needs to be put back to the new serializer if it uses the same
code.
Revision Changes Path
No revision
No revision
1.33.2.10 +4 -3 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/AbstractTranslet.java
Index: AbstractTranslet.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/AbstractTranslet.java,v
retrieving revision 1.33.2.9
retrieving revision 1.33.2.10
diff -u -r1.33.2.9 -r1.33.2.10
--- AbstractTranslet.java 3 Mar 2003 15:51:41 -0000 1.33.2.9
+++ AbstractTranslet.java 7 Mar 2003 19:05:48 -0000 1.33.2.10
@@ -545,8 +545,9 @@
throws TransletException {
if (string != null)
{
- final int length = string.length();
- handler.characters(string.toCharArray(), 0, length);
+ //final int length = string.length();
+ //handler.characters(string.toCharArray(), 0, length);
+ handler.characters(string);
}
}
No revision
No revision
1.23.2.3 +25 -5 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamOutput.java
Index: StreamOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamOutput.java,v
retrieving revision 1.23.2.2
retrieving revision 1.23.2.3
diff -u -r1.23.2.2 -r1.23.2.3
--- StreamOutput.java 30 Jan 2003 18:41:49 -0000 1.23.2.2
+++ StreamOutput.java 7 Mar 2003 19:05:48 -0000 1.23.2.3
@@ -350,37 +350,57 @@
protected String escapeString(String value) {
final char[] ch = value.toCharArray();
final int limit = ch.length;
- StringBuffer result = new StringBuffer();
+ StringBuffer result = null;
int offset = 0;
for (int i = 0; i < limit; i++) {
switch (ch[i]) {
case '&':
+ if (result == null) {
+ result = new StringBuffer();
+ }
result.append(ch, offset, i - offset).append(AMP);
offset = i + 1;
break;
case '"':
+ if (result == null) {
+ result = new StringBuffer();
+ }
result.append(ch, offset, i - offset).append(QUOT);
offset = i + 1;
break;
case '<':
+ if (result == null) {
+ result = new StringBuffer();
+ }
result.append(ch, offset, i - offset).append(LT);
offset = i + 1;
break;
case '>':
+ if (result == null) {
+ result = new StringBuffer();
+ }
result.append(ch, offset, i - offset).append(GT);
offset = i + 1;
break;
case '\n':
+ if (result == null) {
+ result = new StringBuffer();
+ }
result.append(ch, offset, i - offset).append(CRLF);
offset = i + 1;
break;
}
}
- if (offset < limit) {
- result.append(ch, offset, limit - offset);
+ if (result == null) {
+ return value;
+ }
+ else {
+ if (offset < limit) {
+ result.append(ch, offset, limit - offset);
+ }
+ return result.toString();
}
- return result.toString();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org