diff --git a/metafacture-xml/src/main/java/org/metafacture/xml/SimpleXmlEncoder.java b/metafacture-xml/src/main/java/org/metafacture/xml/SimpleXmlEncoder.java index cff74368e..c0a944918 100644 --- a/metafacture-xml/src/main/java/org/metafacture/xml/SimpleXmlEncoder.java +++ b/metafacture-xml/src/main/java/org/metafacture/xml/SimpleXmlEncoder.java @@ -53,6 +53,7 @@ public final class SimpleXmlEncoder extends DefaultStreamPipe> { public static final String ATTRIBUTE_MARKER = "~"; + public static final String DEFAULT_VALUE_TAG = ""; private static final String NEW_LINE = "\n"; private static final String INDENT = "\t"; @@ -73,7 +74,7 @@ public final class SimpleXmlEncoder extends DefaultStreamPipe namespaces = new HashMap(); private boolean writeRootTag = true; private boolean writeXmlHeader = true; diff --git a/metafacture-xml/src/test/java/org/metafacture/xml/SimpleXmlEncoderTest.java b/metafacture-xml/src/test/java/org/metafacture/xml/SimpleXmlEncoderTest.java index cf7a3d8d6..d4b2c6197 100644 --- a/metafacture-xml/src/test/java/org/metafacture/xml/SimpleXmlEncoderTest.java +++ b/metafacture-xml/src/test/java/org/metafacture/xml/SimpleXmlEncoderTest.java @@ -19,12 +19,14 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import org.metafacture.framework.helpers.DefaultObjectReceiver; +import org.metafacture.framework.helpers.DefaultXmlPipe; + import java.util.HashMap; import java.util.Map; import org.junit.Before; import org.junit.Test; -import org.metafacture.framework.helpers.DefaultObjectReceiver; /** * Tests for class {@link SimpleXmlEncoder}. @@ -251,6 +253,22 @@ public void issue379_testShouldEncodeConfiguredValueLiteralsAsText() { getResultXml()); } + @Test + public void issue379_testShouldNotEncodeUnconfiguredValueLiteralsAsText() { + simpleXmlEncoder.startRecord(""); + simpleXmlEncoder.literal(DefaultXmlPipe.DEFAULT_VALUE_TAG, VALUE); + simpleXmlEncoder.endRecord(); + simpleXmlEncoder.closeStream(); + + assertEquals("" + + "" + + "" + + "value" + + "" + + "", + getResultXml()); + } + @Test public void testShouldEncodeMarkedLiteralsAsAttributes() { simpleXmlEncoder.startRecord("");