Skip to content

Commit cffc5b9

Browse files
committed
Resolve #273: merge branch 'eberhardtj-xmlencoder-with-custom-header'
2 parents a457567 + 087e20b commit cffc5b9

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

metafacture-xml/src/main/java/org/metafacture/xml/SimpleXmlEncoder.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public final class SimpleXmlEncoder extends DefaultStreamPipe<ObjectReceiver<Str
6565
private static final String BEGIN_CLOSE_ELEMENT = "</";
6666
private static final String END_CLOSE_ELEMENT = ">";
6767

68-
private static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
68+
private static final String XML_HEADER = "<?xml version=\"%s\" encoding=\"%s\"?>\n";
6969
private static final String XMLNS_MARKER = " xmlns";
7070

7171
private final StringBuilder builder = new StringBuilder();
@@ -75,6 +75,9 @@ public final class SimpleXmlEncoder extends DefaultStreamPipe<ObjectReceiver<Str
7575
private Map<String, String> namespaces = new HashMap<String, String>();
7676
private boolean writeRootTag = true;
7777
private boolean writeXmlHeader = true;
78+
private String xmlHeaderEncoding = "UTF-8";
79+
private String xmlHeaderVersion = "1.0";
80+
7881
private boolean separateRoots;
7982

8083
private Element element;
@@ -116,6 +119,10 @@ public void setWriteXmlHeader(final boolean writeXmlHeader) {
116119
this.writeXmlHeader = writeXmlHeader;
117120
}
118121

122+
public void setXmlHeaderEncoding(final String xmlHeaderEncoding) { this.xmlHeaderEncoding = xmlHeaderEncoding; }
123+
124+
public void setXmlHeaderVersion(final String xmlHeaderVersion) { this.xmlHeaderVersion = xmlHeaderVersion; }
125+
119126
public void setWriteRootTag(final boolean writeRootTag) {
120127
this.writeRootTag = writeRootTag;
121128
}
@@ -208,7 +215,7 @@ private void sendAndClearData() {
208215

209216
private void writeHeader() {
210217
if (writeXmlHeader) {
211-
builder.append(XML_HEADER);
218+
builder.append(String.format(XML_HEADER, xmlHeaderVersion, xmlHeaderEncoding));
212219
}
213220
if (writeRootTag) {
214221
builder.append(BEGIN_OPEN_ELEMENT);

0 commit comments

Comments
 (0)