From 3ab5d752c8c2e52a16597cdc10c3a79e031a8692 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Tue, 26 Jan 2021 15:29:45 +0100 Subject: [PATCH] mnore work on order-x --- .../main/java/org/mustangproject/validator/EPart.java | 2 +- .../org/mustangproject/validator/XMLValidator.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/validator/src/main/java/org/mustangproject/validator/EPart.java b/validator/src/main/java/org/mustangproject/validator/EPart.java index b3f715bc..b56268a3 100644 --- a/validator/src/main/java/org/mustangproject/validator/EPart.java +++ b/validator/src/main/java/org/mustangproject/validator/EPart.java @@ -1,5 +1,5 @@ package org.mustangproject.validator; public enum EPart { - fx, xr, pdf, none + fx, ox, xr, pdf, none } diff --git a/validator/src/main/java/org/mustangproject/validator/XMLValidator.java b/validator/src/main/java/org/mustangproject/validator/XMLValidator.java index 5ac6e220..5d20e272 100644 --- a/validator/src/main/java/org/mustangproject/validator/XMLValidator.java +++ b/validator/src/main/java/org/mustangproject/validator/XMLValidator.java @@ -172,6 +172,7 @@ public class XMLValidator extends Validator { context.setProfile(booking.getNodeValue()); } + boolean isOrderX = false; boolean isMiniumum = false; boolean isBasic = false; boolean isBasicWithoutLines = false; @@ -185,6 +186,15 @@ public class XMLValidator extends Validator { // urn:cen.eu:en16931:2017 // urn:cen.eu:en16931:2017:compliant:factur-x.eu:1p0:basic + if (root.getNodeName().equalsIgnoreCase("rsm:SCRDMCCBDACIOMessageStructure")) { + context.setVersion("1"); + isOrderX=true; + isBasic = context.getProfile().contains("basic"); + isEN16931 = context.getProfile().contains("comfort"); + isExtended = context.getProfile().contains("extended"); + validateSchema(zfXML.getBytes(StandardCharsets.UTF_8), "ox09/comfort/SCRDMCCBDACIOMessageStructure_100pD20B.xsd", 99, EPart.ox); + + } if (root.getNodeName().equalsIgnoreCase("rsm:CrossIndustryInvoice")) { // ZUGFeRD 2.0 or Factur-X context.setVersion("2");