Better match of diagram wording with description

This commit is contained in:
Renzo Kottmann 2019-07-01 16:14:55 +02:00
parent 4de317ccb8
commit 41d3fba7fb

View file

@ -2,7 +2,7 @@
The validator itself is just an engine which executes validation according to a certain configuration (see [configuration documentation](docs/configurations.md)). The validator itself is just an engine which executes validation according to a certain configuration (see [configuration documentation](docs/configurations.md)).
The validator takes a sceanrio.xml and the configured directory with all artifacts necessary for validation (scenario repository). Then it performs The validator takes a scenario.xml and the configured directory with all artifacts necessary for validation (scenario repository). Then it performs
the validation and generates a report in XML format. This report is then the input to an XSLT provided by the configuration. the validation and generates a report in XML format. This report is then the input to an XSLT provided by the configuration.
## Separation of concerns ## Separation of concerns
@ -13,9 +13,9 @@ the validation and generates a report in XML format. This report is then the inp
The validator reports valid/invalid, a configuration reports acceptance/rejection! The validator reports valid/invalid, a configuration reports acceptance/rejection!
## General process ## General process
The general process is like this:
The general process is like this:
```mermaid ```mermaid
@ -30,15 +30,23 @@ sequenceDiagram
e->>e: validate Schematron e->>e: validate Schematron
e->>e: create Validator Report e->>e: create Validator Report
e->>+c: execute configuration report generator e->>+c: execute configuration report generator
c->>-e: return XPATH of acceptance message
``` ```
1. *XML-Parsing*: Is the XML instance valid in the basic sense. If not, validation is stopped and the validator report is returned with status *invalid*.
2. *Identifikation of applicable scenario*: The configuration must have a defined scenario which matches the XML instance (it is an XPATH expression). If no scenario matches, validation is stopped and the validator report is returned with status *invalid*.
3. *XML-Schema validation*: The XML instance must be valid according to the configured XSD. If not, validation is stopped and the validator report is returned with status *invalid*.
4. *Schematron validation*
5. *Aggregation of validation results*: All results are aggregated into the validation report:
* In case there is a single *error* or *warning* the report will have status erhält*invalid*, otherwise the status will be *valid*.
1. *parse XML*:
Is the XML instance valid in the basic sense. If not, validation is stopped and the validator report is returned with status *invalid*.
2. *select scenario*:
The configuration must have a defined scenario which matches the XML instance (it is an XPATH expression). If no scenario matches, validation is stopped and the validator report is returned with status *invalid*.
3. *validate XML-Schema*:
The XML instance must be valid according to the configured XSD. If not, validation is stopped and the validator report is returned with status *invalid*.
4. *validate Schematron*
5. *create Validator Report*:
All results are aggregated into the validation report:
* Depending on the configuration in the scenario, if there is a single *error* or *warning* the report will have status *invalid*, otherwise the status will be *valid*.
6. *execute configuration report generator*
The Validator will search for the XSLT as configured in scenario.xml and execute it with the Validator Report as input