From 740a880276af2a555cc8800d1818561a15232e39 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:15:40 +0200 Subject: [PATCH 01/14] Release documentation update --- README.md | 38 +++++++++++++++++++++----------------- docs/cli.md | 46 ++++++++++++++++++++++++---------------------- docs/daemon.md | 8 +++++--- 3 files changed, 50 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 50e3354..cf6d9f7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # KoSIT Validator + - [Introduction](#introduction) - [Validation Configurations](#validation-configurations) * [Third Party Validation Configurations](#third-party-validation-configurations) @@ -9,17 +10,18 @@ - [Packages](#packages) ## Introduction -The validator is an XML validation engine to validate and process XML files in various formats. It basically does the following in order: -1. identify actual xml format -1. validate the xml file (using schema and schematron rules) -1. generate a custom report / extract custom data from the xml file +The validator is an XML validation engine to validate and process XML files in various formats. It basically does the following in order: + +1. identify actual XML format +1. validate the XML file (using schema and schematron rules) +1. generate a custom report / extract custom data from the XML file 1. compute an acceptance status (according the supplied schema and rules) -The validator depends on self defined [scenarios](docs/configurations.md) which are used to fully configure the process. -It always creates a [validation report in XML](docs/configurations.md#validators-report). The actual content of this is controlled by the scenario. +The validator depends on self defined [scenarios](docs/configurations.md) in order to fully configure the whole process. +It always creates a [validation report in XML](docs/configurations.md#validators-report). The actual content of the report can also be controlled by the scenario. -See [architecture](docs/architecture.md) for information about the actual validation process. +See [architecture](docs/architecture.md) for information about the whole validation process. ## Validation configurations @@ -30,7 +32,7 @@ All configurations are self-contained modules which are deployed and developed o ### Third party validation configurations -Currently, there are two public third party validation configurations available. +Here are two public third party validation configurations available which might serve as examples: * Validation Configuration for [XRechnung](http://www.xoev.de/de/xrechnung): * Source code is available on [GitHub](https://github.com/itplr-kosit/validator-configuration-xrechnung) @@ -43,29 +45,31 @@ Currently, there are two public third party validation configurations available. The validator can be used in three different ways: -* as standalone application running from the cli +* as standalone application running from the CLI * as library embedded within a custom application * as a daemon providing a http interface -### Standalone Command-Line Interface +### Standalone Command Line Interface (CLI) + +**Important hint**: since v1.5.1 the filename has been changed from `validationtool-*` to `validator-*` The general way using the CLI is: ```shell -java -jar validationtool--standalone.jar -s -r +java -jar validator--standalone.jar -s -r [OPTIONS] [FILE] [FILE] [FILE] ... ``` The help option displays further CLI options to customize the process: ```shell -java -jar validationtool--standalone.jar --help +java -jar validator--standalone.jar --help ``` A concrete example with a specific validator configuration can be found on [GitHub](https://github.com/itplr-kosit/validator-configuration-xrechnung) -The [CLI documentation](./docs/cli.md) shows further configuration options. +The [CLI documentation](./docs/cli.md) shows further configuration options. ### Application User Interface (API / embedded usage) @@ -93,7 +97,7 @@ will thus not be resolved transitively. You can also start the validator as a HTTP-Server. Just start it in _Daemon-Mode_ with the `-D` option. ```shell -java -jar validationtool--standalone.jar -s -D +java -jar validator--standalone.jar -s -D ``` @@ -103,7 +107,7 @@ The [daemon documentation](./docs/daemon.md) shows more usage details and furthe The validator distribution contains the following artifacts: -1. **validationtool-``.jar**: Java library for embedded use within an application -1. **validationtool-`-standalone.jar**: Uber-JAR for standalone usage containing all dependencies in one jar file. This file comes with JAXB *embedded* and can be used with Java 8 and Java >= 11) -1. **validationtool-`-java8-standalone.jar**: Uber-JAR for standalone usage with Java JDK 8 containing all dependencies in one jar file. This file file *does not* contain JAXB and depends on the bundled version of the JDK. +1. **validator-``.jar**: Java library for embedded use within an application +1. **validator-`-standalone.jar**: Uber-JAR for standalone usage containing all dependencies in one jar file. This file comes with JAXB *embedded* and can be used with Java 8 and Java >= 11) +1. **validator-`-java8-standalone.jar**: Uber-JAR for standalone usage with Java JDK 8 containing all dependencies in one jar file. This file file *does not* contain JAXB and depends on the bundled version of the JDK. 1. **libs/***: directory containing all (incl. optional) dependencies of the validator diff --git a/docs/cli.md b/docs/cli.md index 071f6da..492bedc 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -1,27 +1,29 @@ -# Validator CLI +# Validator Command Line Interface (CLI) -The validator comes with a commandline interface (CLI) which allows validating any number of input xml files. +The `validator` comes with a command line interface (CLI) which allows validating any number of input XML files. + +**Important hint**: since v1.5.1 the filename has been changed from `validationtool-*` to `validator-*` The general way using the CLI is: ```shell -java -jar validationtool--standalone.jar -s [OPTIONS] [FILE] [FILE] [FILE] ... +java -jar validator--standalone.jar -s [OPTIONS] [FILE] [FILE] [FILE] ... ``` -The validator can also read the xml file from the standard input - -```shell script -# via redirection -java -jar validationtool--standalone.jar -s [OPTIONS] < my-input.xml - -# read from pipe -cat my-input.xml | validationtool--standalone.jar -s [OPTIONS] -``` - -The help option displays further CLI options to customize the process: +The validator can also read the XML file from the standard input ```shell -java -jar validationtool--standalone.jar --help +# via redirection +java -jar validator--standalone.jar -s [OPTIONS] < my-input.xml + +# read from pipe +cat my-input.xml | validator--standalone.jar -s [OPTIONS] +``` + +The help option displays further CLI options: + +```shell +java -jar validator--standalone.jar --help ``` You can also use multiple scenario configurations and multiple repositories with resources for these. The validator either supports @@ -29,17 +31,17 @@ supplying the parameters in order or using named configuration. Valid usages are ```shell # multiple scenarios, implicit repository -java -jar validationtool--standalone.jar -s -s [OPTIONS] [FILE] +java -jar validator--standalone.jar -s -s [OPTIONS] [FILE] # multiple scenarios, single defined repository -java -jar validationtool--standalone.jar -s -s -r [OPTIONS] [FILE] +java -jar validator--standalone.jar -s -s -r [OPTIONS] [FILE] # multiple scenarios, multiple repositories ordered -java -jar validationtool--standalone.jar -s -r -s -r [OPTIONS] [FILE] -java -jar validationtool--standalone.jar -s -s -r -r [OPTIONS] [FILE] +java -jar validator--standalone.jar -s -r -s -r [OPTIONS] [FILE] +java -jar validator--standalone.jar -s -s -r -r [OPTIONS] [FILE] # multiple scenarios, multiple repositories (named) -java -jar validationtool--standalone.jar -s "NAME1=" -s "NAME2=" -r "NAME1=" -r "NAME2=" [OPTIONS] [FILE] +java -jar validator--standalone.jar -s "NAME1=" -s "NAME2=" -r "NAME1=" -r "NAME2=" [OPTIONS] [FILE] ``` ## Special features @@ -57,7 +59,7 @@ generated reports. This is mainly useful for scenario developers. Ask KoSIT for | code | description | |-|-| -| 0 | All validated xml files are acceptable according to the scenario configurations | +| 0 | All validated xml files are acceptable according to the scenario configurations or application usage was requested | | positive integer | Number of rejected (e.g. not acceptable) xml files according to the scenario configurations| | -1 | Parsing error. The commandline arguments specified are incorrect | -| -2 | Configuration error. There is an error loading the configuration and/or validation targets | +| -2 | Configuration error. There is an error loading the configuration and/or validation targets | diff --git a/docs/daemon.md b/docs/daemon.md index 04f3b92..a0f8f66 100644 --- a/docs/daemon.md +++ b/docs/daemon.md @@ -8,8 +8,10 @@ and should work with OpenJDK based distributions. Keep this in mind, if you want To use the validator daemon as is, start the _Daemon-Mode_ with the `-D` option and supply a suitable [validator configuration](configurations.md). +**Important hint**: since v1.5.1 the filename has been changed from `validationtool-*` to `validator-*` + ```shell -java -jar validationtool--standalone.jar -s -D +java -jar validator--standalone.jar -s -D ``` Per default the HTTP-Server listens on _localhost_ at Port 8080. @@ -17,7 +19,7 @@ Per default the HTTP-Server listens on _localhost_ at Port 8080. You can configure the daemon with `-H` for IP Adress and `-P` for port number: ```shell -java -jar validationtool--standalone.jar -s -D -H 192.168.1.x -P 8081 +java -jar validator--standalone.jar -s -D -H 192.168.1.x -P 8081 ``` ## Customized usage @@ -135,5 +137,5 @@ The daemon provides a simple GUI when issuing `GET` requests providing the follo The GUI can be disabled using the API (see above) or via CLI: ```shell script -java -jar validationtool--standalone.jar -s -D --disable-gui +java -jar validator--standalone.jar -s -D --disable-gui ``` From 269862503e7be5d7779645193ab92e88c29b872a Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:27:42 +0200 Subject: [PATCH 02/14] Added Maven Central plugin --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index 85cdba0..7dc53c7 100644 --- a/pom.xml +++ b/pom.xml @@ -639,6 +639,10 @@ + + org.sonatype.central + central-publishing-maven-plugin + From f4f0d9ecebe5367e750315ae38c490eafa8d5f29 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:28:37 +0200 Subject: [PATCH 03/14] [maven-release-plugin] prepare release v1.5.1 --- pom.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 7dc53c7..bb844f1 100644 --- a/pom.xml +++ b/pom.xml @@ -15,15 +15,14 @@ ~ limitations under the License. --> - + 4.0.0 KoSIT XML Prüftool Implementierung org.kosit validator - 1.5.1-SNAPSHOT + 1.5.1 KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -724,7 +723,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - release/1.5.x + v1.5.1 https://github.com/itplr-kosit/validator From eb7fc87f07ca291802f9632b574a4833537aed1f Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:29:22 +0200 Subject: [PATCH 04/14] [maven-release-plugin] prepare for next development iteration --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bb844f1..2035e2a 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.kosit validator - 1.5.1 + 1.5.2-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. From 90b860d8eca6581db34f758cb0e72b709776ff5b Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:29:32 +0200 Subject: [PATCH 05/14] [maven-release-plugin] rollback the release of v1.5.1 --- pom.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 2035e2a..7dc53c7 100644 --- a/pom.xml +++ b/pom.xml @@ -15,14 +15,15 @@ ~ limitations under the License. --> - + 4.0.0 KoSIT XML Prüftool Implementierung org.kosit validator - 1.5.2-SNAPSHOT + 1.5.1-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -723,7 +724,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - v1.5.1 + release/1.5.x https://github.com/itplr-kosit/validator From be30c80617b9229ec635904b9299299854ce758b Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:31:24 +0200 Subject: [PATCH 06/14] [maven-release-plugin] prepare release v1.5.1 --- pom.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 7dc53c7..bb844f1 100644 --- a/pom.xml +++ b/pom.xml @@ -15,15 +15,14 @@ ~ limitations under the License. --> - + 4.0.0 KoSIT XML Prüftool Implementierung org.kosit validator - 1.5.1-SNAPSHOT + 1.5.1 KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -724,7 +723,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - release/1.5.x + v1.5.1 https://github.com/itplr-kosit/validator From 2dd5e0dbb0263c9fb7ee761f3b8e35a8b4e18fa9 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:31:26 +0200 Subject: [PATCH 07/14] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bb844f1..255eceb 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.kosit validator - 1.5.1 + 1.5.2-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -723,7 +723,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - v1.5.1 + release/1.5.x https://github.com/itplr-kosit/validator From da42b9e404450686d2c22238cc1dfa1bdad0f6e8 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:31:41 +0200 Subject: [PATCH 08/14] [maven-release-plugin] rollback the release of v1.5.1 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 255eceb..7dc53c7 100644 --- a/pom.xml +++ b/pom.xml @@ -15,14 +15,15 @@ ~ limitations under the License. --> - + 4.0.0 KoSIT XML Prüftool Implementierung org.kosit validator - 1.5.2-SNAPSHOT + 1.5.1-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. From 4a15af6ef237f19df72e25c16faf7a157bde2b4a Mon Sep 17 00:00:00 2001 From: Renzo Kottmann Date: Fri, 29 Aug 2025 10:32:39 +0200 Subject: [PATCH 09/14] [maven-release-plugin] rollback the release of v1.5.1 --- pom.xml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 7dc53c7..7214bfe 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ KoSIT XML Prüftool Implementierung org.kosit - validator + validationtool 1.5.1-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -464,12 +464,6 @@ maven-surefire-plugin 3.5.3 - - - java.net.useSystemProxies - true - - -Dfile.encoding=UTF-8 ${jacocoSurefire} @@ -639,10 +633,6 @@ - - org.sonatype.central - central-publishing-maven-plugin - From cf10fa09e5bafce8f81314b7265188ebfc9f9c34 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:44:12 +0200 Subject: [PATCH 10/14] Changed back to validator --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7214bfe..5c57768 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ KoSIT XML Prüftool Implementierung org.kosit - validationtool + validator 1.5.1-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. From e444a606953b1d3a85e3994d5aacd68a7aee22ef Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Fri, 29 Aug 2025 10:45:58 +0200 Subject: [PATCH 11/14] Re-added latest POM changes --- pom.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pom.xml b/pom.xml index 5c57768..00674f8 100644 --- a/pom.xml +++ b/pom.xml @@ -466,6 +466,12 @@ -Dfile.encoding=UTF-8 ${jacocoSurefire} + + + java.net.useSystemProxies + true + + @@ -633,6 +639,10 @@ + + org.sonatype.central + central-publishing-maven-plugin + From 05079676b54a93e4354feee426cba237ecf0f887 Mon Sep 17 00:00:00 2001 From: Renzo Kottmann Date: Fri, 29 Aug 2025 10:47:10 +0200 Subject: [PATCH 12/14] Changed name in pom.xml --- pom.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 00674f8..f095bfb 100644 --- a/pom.xml +++ b/pom.xml @@ -19,12 +19,12 @@ xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - KoSIT XML Prüftool Implementierung + KoSIT XML Validator org.kosit validator 1.5.1-SNAPSHOT - + KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -67,7 +67,7 @@ 12.8 2.0.17 - + project.local @@ -185,7 +185,7 @@ true - + @@ -202,13 +202,13 @@ org.apache.maven.plugins maven-gpg-plugin 3.2.8 - + - - + + org.apache.maven.plugins maven-resources-plugin 3.3.1 @@ -216,7 +216,7 @@ ISO-8859-1 - + org.codehaus.mojo build-helper-maven-plugin @@ -727,9 +727,9 @@ release/1.5.x https://github.com/itplr-kosit/validator - + https://github.com/itplr-kosit/validator - + Apache License, Version 2.0 From fc31e98da969c5a2021d85d74ad21385c654e209 Mon Sep 17 00:00:00 2001 From: Renzo Kottmann Date: Fri, 29 Aug 2025 10:52:10 +0200 Subject: [PATCH 13/14] [maven-release-plugin] prepare release v1.5.1 --- pom.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index f095bfb..b61f8f8 100644 --- a/pom.xml +++ b/pom.xml @@ -15,15 +15,14 @@ ~ limitations under the License. --> - + 4.0.0 KoSIT XML Validator org.kosit validator - 1.5.1-SNAPSHOT + 1.5.1 KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -724,7 +723,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - release/1.5.x + v1.5.1 https://github.com/itplr-kosit/validator From 1e6f96dfad5b32e63e5f8c0dc3acb2218b06b011 Mon Sep 17 00:00:00 2001 From: Renzo Kottmann Date: Fri, 29 Aug 2025 10:52:23 +0200 Subject: [PATCH 14/14] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b61f8f8..18ef47e 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.kosit validator - 1.5.1 + 1.5.2-SNAPSHOT KoSIT XML Validator against XSD and Schematron based on defined scenarios. @@ -723,7 +723,7 @@ scm:git:https://github.com/itplr-kosit/validator.git scm:git:https://projekte.kosit.org/kosit/validator.git - v1.5.1 + release/1.5.x https://github.com/itplr-kosit/validator