in src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java [58:120]
static void xmlEncodeTextAsPCDATA(String text, boolean forAttribute, char quoteChar, Writer n) throws IOException {
if (text == null) {
return;
}
int length = text.length();
if (forAttribute) {
n.append(quoteChar);
}
for (int i = 0; i < length; i++) {
char c = text.charAt(i);
switch (c) {
case '&':
n.append("&");
break;
case '<':
n.append("<");
break;
case '>': // FIX for sourceforge bug #802520 ("]]>" needs encoding)
n.append(">");
break;
case '"':
if (forAttribute) {
n.append(""");
} else {
n.append(c);
}
break;
case '\'':
if (forAttribute) {
n.append("'");
} else {
n.append(c);
}
break;
case '\r':
if (forAttribute) {
if (i == (length - 1) || text.charAt(i + 1) != '\n') {
n.append(" ");
}
} else {
n.append(c);
}
// but skip the \r in \r\n
break;
case '\n':
if (forAttribute) {
n.append(" ");
}
break;
default:
n.append(c);
break;
}
}
if (forAttribute) {
n.append(quoteChar);
}
}