Skip to content

Commit cdbde42

Browse files
committed
Fix pretty printing of marc:leader (#550)
1 parent 9c0b4af commit cdbde42

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

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

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,11 +437,11 @@ private void writeEscaped(final String str) {
437437
private void writeLeader() {
438438
final String leader = leaderBuilder.toString();
439439
if (leaderBuilder.length() > 0) {
440-
prettyPrintIndentation();
440+
prettyPrintIndentationLeader();
441441
writeTagLeader(Tag.leader::open);
442442
writeRawLeader(leader);
443443
writeTagLeader(Tag.leader::close);
444-
prettyPrintNewLine();
444+
prettyPrintNewLineLeader();
445445
}
446446
}
447447

@@ -462,12 +462,25 @@ private void prettyPrintIndentation() {
462462
}
463463
}
464464

465+
private void prettyPrintIndentationLeader() {
466+
if (formatted) {
467+
final String prefix = String.join("", Collections.nCopies(indentationLevel, INDENT));
468+
writeRawLeader(prefix);
469+
}
470+
}
471+
465472
private void prettyPrintNewLine() {
466473
if (formatted) {
467474
builder.append(NEW_LINE);
468475
}
469476
}
470477

478+
private void prettyPrintNewLineLeader() {
479+
if (formatted) {
480+
writeRawLeader(NEW_LINE);
481+
}
482+
}
483+
471484
private void sendAndClearData() {
472485
getReceiver().process(builder.toString());
473486
builder.delete(0, builder.length());

0 commit comments

Comments
 (0)