diff --git a/validator/src/main/java/org/mustangproject/validator/XMLValidator.java b/validator/src/main/java/org/mustangproject/validator/XMLValidator.java
index 5e8ce312..e7615f33 100644
--- a/validator/src/main/java/org/mustangproject/validator/XMLValidator.java
+++ b/validator/src/main/java/org/mustangproject/validator/XMLValidator.java
@@ -536,12 +536,15 @@ public class XMLValidator extends Validator {
}
ESeverity severity;
+ Node failNode = currentFailNode.getAttributes().getNamedItem("flag");
+ String failVal = failNode == null ? null : failNode.getNodeValue();
if (defaultSeverity == ESeverity.notice) {
severity = defaultSeverity;
- } else if (currentFailNode.getAttributes().getNamedItem("flag") != null
- && "warning".equals(currentFailNode.getAttributes().getNamedItem("flag").getNodeValue())) {
+ } else if ("warning".equals(failVal)) {
// the XR issues warnings with flag=warning
severity = ESeverity.warning;
+ } else if ("information".equals(failVal)) {
+ severity = ESeverity.notice;
} else {
severity = ESeverity.error;
}
diff --git a/validator/src/test/java/org/mustangproject/validator/ZUGFeRDValidatorTest.java b/validator/src/test/java/org/mustangproject/validator/ZUGFeRDValidatorTest.java
index 4adb787b..5e28bdec 100644
--- a/validator/src/test/java/org/mustangproject/validator/ZUGFeRDValidatorTest.java
+++ b/validator/src/test/java/org/mustangproject/validator/ZUGFeRDValidatorTest.java
@@ -202,7 +202,7 @@ public class ZUGFeRDValidatorTest extends ResourceCase {
assertThat(res).valueByXPath("count(//notice)")
.asInt()
- .isEqualTo(0);
+ .isEqualTo(1);
assertThat(res).valueByXPath("/validation/summary/@status")
.asString()
.isEqualTo("valid");// expect to be valid because XR notices are, well, only notices
@@ -216,14 +216,14 @@ public class ZUGFeRDValidatorTest extends ResourceCase {
assertThat(res).valueByXPath("count(//error)")
.asInt()
- .isEqualTo(5);
+ .isEqualTo(4);
assertThat(res).valueByXPath("count(//warning)")
.asInt()
.isEqualTo(1);
assertThat(res).valueByXPath("count(//notice)")
.asInt()
- .isEqualTo(0); // 12 notices RE XRechnung 3.0
+ .isEqualTo(1); // 12 notices RE XRechnung 3.0
assertThat(res).valueByXPath("/validation/summary/@status")
.asString()
.isEqualTo("invalid");// expect to be valid
diff --git a/validator/src/test/resources/validXRV30.xml b/validator/src/test/resources/validXRV30.xml
index adffb992..5a78754a 100644
--- a/validator/src/test/resources/validXRV30.xml
+++ b/validator/src/test/resources/validXRV30.xml
@@ -102,6 +102,32 @@
+
+
+ Zeitlose Diensleistung
+
+
+ Zeitlose Diensleistung
+
+
+
+ 0.00
+
+
+
+ 1
+
+
+
+ VAT
+ S
+ 7
+
+
+ 0.00
+
+
+
04011000-12345-03