Change summary
src/eu/siacs/conversations/utils/XmlHelper.java | 12 ++++++++++++
src/eu/siacs/conversations/xml/Element.java | 13 +++----------
src/eu/siacs/conversations/xml/Tag.java | 4 +++-
3 files changed, 18 insertions(+), 11 deletions(-)
Detailed changes
@@ -0,0 +1,12 @@
+package eu.siacs.conversations.utils;
+
+public class XmlHelper {
+ public static String encodeEntities(String content) {
+ content = content.replace("&", "&");
+ content = content.replace("<", "<");
+ content = content.replace(">", ">");
+ content = content.replace("\"", """);
+ content = content.replace("'", "'");
+ return content;
+ }
+}
@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
+import eu.siacs.conversations.utils.XmlHelper;
+
public class Element {
protected String name;
protected Hashtable<String, String> attributes = new Hashtable<String, String>();
@@ -116,7 +118,7 @@ public class Element {
startTag.setAtttributes(this.attributes);
elementOutput.append(startTag);
if (content != null) {
- elementOutput.append(encodeEntities(content));
+ elementOutput.append(XmlHelper.encodeEntities(content));
} else {
for (Element child : children) {
elementOutput.append(child.toString());
@@ -132,15 +134,6 @@ public class Element {
return name;
}
- private String encodeEntities(String content) {
- content = content.replace("&", "&");
- content = content.replace("<", "<");
- content = content.replace(">", ">");
- content = content.replace("\"", """);
- content = content.replace("'", "'");
- return content;
- }
-
public void clearChildren() {
this.children.clear();
}
@@ -5,6 +5,8 @@ import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
+import eu.siacs.conversations.utils.XmlHelper;
+
public class Tag {
public static final int NO = -1;
public static final int START = 0;
@@ -84,7 +86,7 @@ public class Tag {
tagOutput.append(' ');
tagOutput.append(entry.getKey());
tagOutput.append("=\"");
- tagOutput.append(entry.getValue());
+ tagOutput.append(XmlHelper.encodeEntities(entry.getValue()));
tagOutput.append('"');
}
}