itplr-kosit / validator

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

Dokument "verarbeiten oder nicht" nicht aus dem Validation Result ablesbar #85

Open thomaspkd opened 3 years ago

thomaspkd commented 3 years ago

Im Visualisierungs-Projekt wird die Empfehlung eine Xrechnung zu verarbeiten auf Grund der Anzahl der Errors in der Validierung generiert. Hierbei scheint zw. zwei verschiendenen "errors" unterschieden zu werden.

   <xsl:variable name="e1" as="xs:integer" select="count(//rep:message[@level eq 'error'])"/>
   <xsl:variable name="e2" as="xs:integer" select="count(//rep:message[rep:custom-level(.) eq 'error'])"/>

Laut dem default-report gibt es u.a. den Zustand

 <xsl:when test="$e1 gt 0 and $e2 eq 0">
          >Bewertung: Es wird empfohlen das Dokument anzunehmen und zu verarbeiten, da die vorhandenen Fehler derzeit toleriert werden.</p>
      </xsl:when>

Das würde doch bedeuten, wenn normale "erros" vorhanden sind, aber keine "custom-errors" wäre das Dokument auch weiter zu verarbeiten.

Im Result des Validators lassen sich diese Unterschiede allerdings nicht ermitteln, da dort alle Fehler in den FailedAsserts zusammen enthalten sind, hier aber nicht unterschieden werden kann, ob es sich um einen custom-level handelt oder nicht.

Um zu entscheiden, ob das Dokument weiterverarbeitet werden sollte oder nicht (äquivalent zum HTML-Report), bräuchte man diese Information. Allein der "acceptRecommondation" Rückgabewert spiegelt dieses, soweit ich weiß auch nicht wieder.

Lässt sich der Typ des Errors trotzdem irgendwie aus dem Result der Validierung ablesen?

In meinem konkreten Fall werden im HTML-Report "warning (error)" und "error" ausgewiesen, das Flag im FailedAssert im Result ist aber immer "fatal". So dass man es daran leider auch nicht unterscheiden kann.

Gibt es hier eine "saubere" Möglichkeit die Empfehlung der Weiterverarbeitung der XRechnung an Hand des Validation - Results zu ermitteln?

Validator : 1.4.1 Rules: 2.0.1