itplr-kosit / validator

Validates XML documents with XML Schema and Schematron
Apache License 2.0
80 stars 42 forks source link

Validierung der Rules / Assertions, die auf < und/oder auf > basieren, werden ignoriert #77

Closed marvindoering closed 3 years ago

marvindoering commented 3 years ago

Nach Überprüfung einer im ZRE fehlgeschlagenen XRechnung, hat sich herausgestellt, dass Regeln aus der XSL-Datei „EN16931-CII-validation.xsl“ über den KoSIT Validator nicht anschlagen, obwohl sie theoretisch müssten.

Das Test-Szenario lautete wie folgt:

Eine XRechnung mit mehreren IncludeNotes auf Positionsebene hätte nach einer Validierung mit dem KoSIT Validator eine Warning ausgeben laut der Regel: SR-039. Laut KoSIT Validator ist jedoch alles in Ordnung.

Vor Anpassung der XSL-Datei:

image

image

Nach Anpassung der XSL-Datei:

image

image

Nach Eliminierung der \< (<) aus der XSL-Datei „EN16931-CII-validation.xsl“ für die Regel: SR-039 hat der KoSIT Validator auch die entsprechende Warning ausgegeben.

Die XSL Spezifikation gibt die Verwendung von HTML Entitys frei, sodass die XSL-Datei aus meiner Sicht valide ist.

Problem ist aus meiner Sicht die Verarbeitung der XSL-Dateien mithilfe der Saxon-Library oder zumindest die Input-Funktionen des Validators.

Denn die Operatoren =, !=, or, and können vom Validator verarbeitet werden, nur die Operatoren <, >, <=, >= respektive \<, \>, \<=, \>= anscheinend nicht.

Getestet mit: KoSIT Validator: validationtool-1.4.1 Validator Konfiguration: validator-configuration-xrechnung_2.0.1_2020-12-31

Anpassungen.zip ohne Anpassungen.zip

marvindoering commented 3 years ago

Nach erneuter Prüfung ergab sich, dass der Pfad zur Prüfstelle inkorrekt ist.

Für die Regel SR-039 ist der aktuelle Pfad: /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:IncludedNote

Der eigentliche Pfad zur Prüfstelle ist jedoch der folgende: /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument/ram:IncludedNote

Moved to: https://github.com/ConnectingEurope/eInvoicing-EN16931/issues/269