Skip to content

Commit 7799c1e

Browse files
authored
Merge pull request #441 from metafacture/440-doNotTrimControlField
Do not trim control field values in MARCXML handler.
2 parents 89793c7 + df6a862 commit 7799c1e

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ else if (DATAFIELD.equals(localName)) {
126126
getReceiver().endEntity();
127127
}
128128
else if (CONTROLFIELD.equals(localName)) {
129-
getReceiver().literal(currentTag, builder.toString().trim());
129+
getReceiver().literal(currentTag, builder.toString());
130130
}
131131
else if (RECORD.equals(localName) && checkNamespace(uri)) {
132132
getReceiver().endRecord();

metafacture-biblio/src/test/java/org/metafacture/biblio/marc21/MarcXmlHandlerTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,20 @@ public void shouldFindTagAttributeAtSecondPositionInControlFieldElement()
7777
verify(receiver).literal("001", fieldValue);
7878
}
7979

80+
@Test
81+
public void issue440_shouldNotRemoveWhitespaceFromControlFields() throws SAXException {
82+
final AttributesImpl attributes = new AttributesImpl();
83+
attributes.addAttribute(NAMESPACE, "tag", "tag", "CDATA", "008");
84+
85+
final String fieldValue = " t20202020au |||||||||||| ||||ger d";
86+
87+
marcXmlHandler.startElement(NAMESPACE, CONTROLFIELD, "", attributes);
88+
marcXmlHandler.characters(fieldValue.toCharArray(), 0, fieldValue.length());
89+
marcXmlHandler.endElement(NAMESPACE, CONTROLFIELD, "");
90+
91+
verify(receiver).literal("008", fieldValue);
92+
}
93+
8094
@Test
8195
public void issue233ShouldNotRemoveWhitespaceFromLeader()
8296
throws SAXException {

0 commit comments

Comments
 (0)