From 63f33cabc7e031d58dc7a5def582dadd3e2a433b Mon Sep 17 00:00:00 2001 From: jstaerk Date: Tue, 16 Nov 2021 21:07:04 +0100 Subject: [PATCH] Do not trim trailing whitespace in XML submitted by the user, e.g. for XRechnung Skonto in PaymenttermsDescription --- History.md | 1 + .../org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java | 7 ++++--- .../org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index a6ceeb0a..ec62d50a 100644 --- a/History.md +++ b/History.md @@ -2,6 +2,7 @@ - Fixed an error validation UBL files - unknown root elements will now throw type 3 errors - added some tests +- Do not trim trailing whitespace in XML submitted by the user, e.g. for XRechnung Skonto in PaymenttermsDescription 2.3.1 ======= diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java index 2a8b8eb4..a5bd0457 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java @@ -47,7 +47,7 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr protected byte[] zugferdData; private String paymentTermsDescription; - protected Profile profile = Profiles.getByName("COMFORT", 1); + protected Profile profile = Profiles.getByName("COMFORT", 1); /** @@ -93,6 +93,7 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr } try { final OutputFormat format = OutputFormat.createPrettyPrint(); + format.setTrimText(false); final XMLWriter writer = new XMLWriter(sw, format); writer.write(document); res = sw.toString().getBytes("UTF-8"); @@ -439,7 +440,7 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr paymentTermsXml += "" + paymentTerms.getDescription() + ""; if (dueDate != null) { paymentTermsXml += ""; - paymentTermsXml += DATE.udtFormat(dueDate) ; + paymentTermsXml += DATE.udtFormat(dueDate); paymentTermsXml += ""; } @@ -454,7 +455,7 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr if (discountTerms.getBaseDate() != null) { final Date baseDate = discountTerms.getBaseDate(); paymentTermsXml += ""; - paymentTermsXml += DATE.udtFormat(baseDate) ; + paymentTermsXml += DATE.udtFormat(baseDate); paymentTermsXml += ""; paymentTermsXml += "" diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index fa7c5e02..f4996ff0 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -89,6 +89,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { } try { final OutputFormat format = OutputFormat.createPrettyPrint(); + format.setTrimText(false); final XMLWriter writer = new XMLWriter(sw, format); writer.write(document); res = sw.toString().getBytes("UTF-8");