You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by ti...@apache.org on 2010/01/05 02:59:10 UTC
svn commit: r895845 -
/incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
Author: tillw
Date: Tue Jan 5 01:59:09 2010
New Revision: 895845
URL: http://svn.apache.org/viewvc?rev=895845&view=rev
Log:
- escape HTML entities
Modified:
incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
Modified: incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java?rev=895845&r1=895844&r2=895845&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java (original)
+++ incubator/vxquery/trunk/vxquery/src/test/java/org/apache/vxquery/xtest/HTMLFileReporterImpl.java Tue Jan 5 01:59:09 2010
@@ -252,13 +252,42 @@
+ "\"> </a>");
resOut.println(queryDisplayName);
resOut.println("<pre>");
- // TODO need to escape HTML entities
if (res.result != null) {
- resOut.println(res.result);
+ resOut.println(escape(res.result));
} else {
res.error.printStackTrace(resOut);
}
resOut.println("</pre>");
return queryDisplayName;
}
+
+ /* this should not be necessary anymore, when the XQuery serialization
+ * works right
+ */
+ private static String escape(String s) {
+ final char[] ca = s.toCharArray();
+ final int l = ca.length;
+ int start = 0;
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < l; ++i) {
+ switch (ca[i]) {
+ case '<':
+ sb.append(ca, start, i - start);
+ sb.append("<");
+ start = i + 1;
+ break;
+ case '>':
+ sb.append(ca, start, i - start);
+ sb.append(">");
+ start = i + 1;
+ break;
+ case '&':
+ sb.append(ca, start, i - start);
+ sb.append("&");
+ start = i + 1;
+ break;
+ }
+ }
+ return start > 0 ? sb.toString() : s;
+ }
}
\ No newline at end of file