diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a831e8fe9..4b21cf7ea 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -433,6 +433,7 @@ Tom Eugelink
Tom May
Tomasz Bech
Tomáš Zezula
+Tony Gravagno
Trejkaz Xaoza
Ulrich Schmidt
Uwe Schindler
diff --git a/WHATSNEW b/WHATSNEW
index 23b8e49d3..2cb3c21a0 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -34,6 +34,9 @@ Fixed bugs:
then the forked mode launch would fail.
Bugzilla Report 63958
+ * Fixes an issue in AntStructure where an incorrect DTD was being generated.
+ Github Pull Request #116
+
Other changes:
--------------
diff --git a/contributors.xml b/contributors.xml
index 4e88f276c..8de1b86d1 100644
--- a/contributors.xml
+++ b/contributors.xml
@@ -1783,6 +1783,10 @@
Tomáš
Zezula
+
+ Tony
+ Gravagno
+
Trejkaz
Xaoza
diff --git a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
index 9a7267956..4d8909b7b 100644
--- a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
+++ b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
@@ -324,7 +324,7 @@ public class AntStructure extends Task {
|| !areNmtokens(values)) {
sb.append("CDATA ");
} else {
- sb.append(Stream.of(values).collect(joinAlts));
+ sb.append(Stream.of(values).collect(joinAlts)).append(" ");
}
} catch (final InstantiationException | IllegalAccessException ie) {
sb.append("CDATA ");
@@ -337,7 +337,7 @@ public class AntStructure extends Task {
sb.append("CDATA ");
} else {
sb.append(Stream.of(values).map(Enum::name)
- .collect(joinAlts));
+ .collect(joinAlts)).append(" ");
}
} catch (final Exception x) {
sb.append("CDATA ");