diff --git a/src/main/org/apache/tools/ant/util/DOMElementWriter.java b/src/main/org/apache/tools/ant/util/DOMElementWriter.java index 4c8cec6ad..527295d9e 100644 --- a/src/main/org/apache/tools/ant/util/DOMElementWriter.java +++ b/src/main/org/apache/tools/ant/util/DOMElementWriter.java @@ -244,12 +244,12 @@ public class DOMElementWriter { * *

Also ensure that we are not including an ]]> * marker by replacing that sequence with - * &x5d;&x5d;>.

+ * ]]>.

* *

See XML 1.0 2.2 http://www.w3.org/TR/1998/REC-xml-19980210#charsets. and + * href="http://www.w3.org/TR/1998/REC-xml-19980210#charsets">http://www.w3.org/TR/1998/REC-xml-19980210#charsets and * 2.7 http://www.w3.org/TR/1998/REC-xml-19980210#sec-cdata-sect

+ * href="http://www.w3.org/TR/1998/REC-xml-19980210#sec-cdata-sect">http://www.w3.org/TR/1998/REC-xml-19980210#sec-cdata-sect.

*/ public String encodedata(final String value) { @@ -265,7 +265,7 @@ public class DOMElementWriter { int cdEnd = result.indexOf("]]>"); while (cdEnd != -1) { sb.setLength(cdEnd); - sb.append("&x5d;&x5d;>") + sb.append("]]>") .append(result.substring(cdEnd+3)); result = sb.toString(); cdEnd = result.indexOf("]]>"); diff --git a/src/testcases/org/apache/tools/ant/util/DOMElementWriterTest.java b/src/testcases/org/apache/tools/ant/util/DOMElementWriterTest.java index 54e98cdb3..fdc1f00f7 100644 --- a/src/testcases/org/apache/tools/ant/util/DOMElementWriterTest.java +++ b/src/testcases/org/apache/tools/ant/util/DOMElementWriterTest.java @@ -123,11 +123,11 @@ public class DOMElementWriterTest extends TestCase { public void testCDATAEndEncoding() { assertEquals("]>", w.encodedata("]>")); assertEquals("]]", w.encodedata("]]")); - assertEquals("&x5d;&x5d;>", w.encodedata("]]>")); - assertEquals("&x5d;&x5d;>A", w.encodedata("]]>A")); - assertEquals("A&x5d;&x5d;>", w.encodedata("A]]>")); - assertEquals("A&x5d;&x5d;>A", w.encodedata("A]]>A")); - assertEquals("A&x5d;&x5d;>B&x5d;&x5d;>C", + assertEquals("]]>", w.encodedata("]]>")); + assertEquals("]]>A", w.encodedata("]]>A")); + assertEquals("A]]>", w.encodedata("A]]>")); + assertEquals("A]]>A", w.encodedata("A]]>A")); + assertEquals("A]]>B]]>C", w.encodedata("A]]>B]]>C")); } }