From 188448e8856f257584d64fd0f3941f9856589d82 Mon Sep 17 00:00:00 2001 From: apenski Date: Thu, 26 Oct 2017 13:52:51 +0200 Subject: [PATCH] Provide Maven based distribution packaging --- .gitignore | 2 +- configurations/xrechnung/assembly.xml | 23 ++ configurations/xrechnung/pom.xml | 71 ++++ configurations/xrechnung/resources/report.xsd | 265 ++++++++++++++ configurations/xrechnung/test/report.sch | 51 +++ configurations/xrechnung/test/report.sch.xsl | 337 ++++++++++++++++++ dist/assembly.xml | 36 ++ dist/pom.xml | 106 ++++++ pom.xml | 87 +++++ validationtool/pom.xml | 30 +- 10 files changed, 987 insertions(+), 21 deletions(-) create mode 100644 configurations/xrechnung/assembly.xml create mode 100644 configurations/xrechnung/pom.xml create mode 100644 configurations/xrechnung/resources/report.xsd create mode 100644 configurations/xrechnung/test/report.sch create mode 100644 configurations/xrechnung/test/report.sch.xsl create mode 100644 dist/assembly.xml create mode 100644 dist/pom.xml create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore index 21d3671..5625f84 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ # Package Files # *.jar -src/test/generated +**/generated # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* diff --git a/configurations/xrechnung/assembly.xml b/configurations/xrechnung/assembly.xml new file mode 100644 index 0000000..bb3f3a4 --- /dev/null +++ b/configurations/xrechnung/assembly.xml @@ -0,0 +1,23 @@ + + konfiguration + + zip + + false + + + ${project.basedir} + / + + test/report.sch + test/report.sch.xsl + resources/report.xsd + + + + + + + \ No newline at end of file diff --git a/configurations/xrechnung/pom.xml b/configurations/xrechnung/pom.xml new file mode 100644 index 0000000..53356bf --- /dev/null +++ b/configurations/xrechnung/pom.xml @@ -0,0 +1,71 @@ + + + + + 4.0.0 + + pom + + de.kosit + validationtool-base + 1.0.0 + ../../ + + + KoSIT XRechnung Konfiguration + + + xrechnung + KoSIT XML Prüftool zur Prüfung von XML Dateien gegenüber definierten Szenarien. + + + + + + + maven-assembly-plugin + 3.1.0 + + + assemble + package + + single + + + + assembly.xml + + true + false + + target/ + target/assembly/work + + + + + + + + + \ No newline at end of file diff --git a/configurations/xrechnung/resources/report.xsd b/configurations/xrechnung/resources/report.xsd new file mode 100644 index 0000000..0f4af32 --- /dev/null +++ b/configurations/xrechnung/resources/report.xsd @@ -0,0 +1,265 @@ + + + + + Dieses Schema beschreibt die Struktur von Berichten, mit denen die Prüfung und Bewertung elektronischer Dokumente + nachvollziehbar dokumentiert wird. + + + + + + + Prüfbericht (das einzige Wurzelelement in diesem Schema) + + + + + + Angaben zum Prüftool, mit welchem dieser Prüfbericht erstellt wurde + + + + + Der Zeitpunkt, an dem die Prüfung des Dokuments begann. + + + + + Angaben zur eindeutigen Identifikation des geprüften Dokumentes + + + + + + Dieses Kindelement gibt an, dass das für das geprüfte Dokument ein Szenario (ein Dokumenttyp) + erkannt wurde, für welches weitere Prüfschritte durchgeführt wurden. + + + + + + + In diesem Element können ausgewählte extrahierte Inhaltsdaten des geprüften Dokuments in + strukturierter Form abgelegt werden. + + + + + Für jeden durchgeführten Validierungsschrittes (z. B. einer Prüfung + gegen eine Schematron-Datei) wird ein entsprechendes + validationStepResult-Element angelegt. + + + + + + + + Dieses Kindelement gibt an, dass das für das geprüfte Dokument kein Szenario + erkannt wurde. + + + + + + Angaben zu einer ggf. fehlgeschlagen Prüfung auf XML-Wohlgeformtheit + + + + + + + + + Dieses Kindelement enthält eine Empfehlung zur Annahme oder Ablehnung des geprüften Dokuments auf Grundlage der Validierungsergebnisse. + + + + + + Dieses Attribut ist genau dann 'true', wenn ein Szenario (Dokumenttyp) erkannt wurde und das Attribut valid für alle zugeordneten + Validierungsschritt-Ergebnisse (rep:scenarioMatched/rep:validationStepResult) den Wert 'true' hat. + + + + + Die Version dieses Dokumenttyps (Prüfbericht). + + + + + + + + + + + + + + + + + + + + + + + + + + Die Empfehlung zum weiteren Umgang mit dem Dokument. + + + + Die Existenz dieses Kindelements bedeutet, dass die Weiterverarbeitung des geprüften Dokuments empfohlen + wird. + + + + + Die Existenz dieses Kindelements bedeutet, dass die Ablehnung des geprüften Dokuments empfohlen + wird. + + + + + + + + + Dient der eindeutigen Identifikation des geprüften Dokuments anhand einer Dokumentenreferenz und seines Hashwertes. + + + + + Angaben zum Hashwert des geprüften Dokuments. + + + + + + Bezeichnung des Algorithmus, mit welchem der Hashwert berechnet wurde. + + + + + Der Hashwert des geprüften Dokuments bei Anwendung des bezeichneten Algorithmus. + + + + + + + + Eine von der prüfenden Organisationseinheit festgelegte, möglichst eindeutige Referenz des geprüften + Dokuments. + + + + + + + + + + Prüfberichtsweit eindeutige Id dieser spezifischen Validierungsmeldung + + + + + (Fehler-)Code der Validierungsmeldung, wie er sich aus der zugrundeliegenden + Prüfung ergibt. + + + + + Art der Meldung: Fehler (error), Warnung (warning) oder Information + (information). + + + + + Zeilennummer der auslösenden Stelle im geprüften Dokument (falls bekannt). + + + + + Spaltennummer der auslösenden Stelle im geprüften Dokument (falls bekannt). + + + + + XPath-Ausdruck, welcher die auslösenden Stelle im geprüften Dokument eindeutig + bestimmt (falls bekannt). + + + + + + + + + + Ein oder mehrere HTML-Dokumente, welche die Empfehlung zum weiteren Umgang mit dem Dokument + begründen. Die HTML-Dokumente müssen im Attribut 'data-report-type' des Wurzelelements eine Typ-ID für den Bericht tragen. + + + + + + + + + + + + + + + + Resource(n), mit welchen dieser Validierungsschritt durchgeführt wurde. Dies ist + ein Zitat aus der zugrunde liegenden Prüftoolkonfiguration. + + + + + Eine Meldung, welche sich aus validierungsschritt ergeben hat. + + + + + + Prüfberichtsweit eindeutige Id dieser spezifischen Validierungsergebnisse. + + + + + Konformitätsbewertung der Ergebnisse dieses Validierungsschrittes. Das Attribut ist + genau dann 'true', wenn kein Kindelement message mit error level 'error' oder 'warning' vorliegt. + + + + + + + + + + + + + + + + + + + + + + diff --git a/configurations/xrechnung/test/report.sch b/configurations/xrechnung/test/report.sch new file mode 100644 index 0000000..9846493 --- /dev/null +++ b/configurations/xrechnung/test/report.sch @@ -0,0 +1,51 @@ + + + + + + + + + VARL version must be 1.0.0. + + + + + + If no scenario matched, then the report must be flagged invalid. + + + If any validation step has been flagged invalid, then the report must be flagged invalid. + + + If a scenario matched and no validation step has been flagged invalid, then the report must be flagged valid. + + + + + + + If xsd is valid then schematron checks have to be performed. + + + If xsd is invalid then schematron checks must not be performed. + + + + + + If a validation step has errors or warnings, it must be flagged invalid. + + + If a validation step has no errors or warnings, it must be flagged valid. + + + + + + Some kind of error location must be given. + + + + \ No newline at end of file diff --git a/configurations/xrechnung/test/report.sch.xsl b/configurations/xrechnung/test/report.sch.xsl new file mode 100644 index 0000000..6bc78b7 --- /dev/null +++ b/configurations/xrechnung/test/report.sch.xsl @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + *: + + [namespace-uri()=' + + '] + + + + [ + + ] + + + + / + + @ + + + @*[local-name()=' + + ' and namespace-uri()=' + + '] + + + + + + + + + / + + + [ + + ] + + + + /@ + + + + + + + / + + + [ + + ] + + + + /@ + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + U + + U + + + + U. + + n + + + + U. + + _ + + _ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Schematron rule violation on VARL version must be 1.0.0. (@varlVersion='1.0.0') + + + + + + + + + + + + + + + + + + + + Schematron rule violation on If no scenario matched, then the report must be flagged invalid. (@valid='false') + + + + + + + + + + + + + Schematron rule violation on If any validation step has been flagged invalid, then the report must be flagged invalid. (@valid='false') + + + + + + + + + + + + + Schematron rule violation on If a scenario matched and no validation step has been flagged invalid, then the report must be flagged valid. (@valid='true') + + + + + + + + + + + + + + + + + + + + Schematron rule violation on If xsd is valid then schematron checks have to be performed. (rep:validationStepResult[@id = 'val-sch.1']) + + + + + + + + + + + + + Schematron rule violation on If xsd is invalid then schematron checks must not be performed. (empty(rep:validationStepResult[@id = 'val-sch.1'])) + + + + + + + + + + + + + + + + + + + + Schematron rule violation on If a validation step has errors or warnings, it must be flagged invalid. (@valid = 'false') + + + + + + + + + + + + + Schematron rule violation on If a validation step has no errors or warnings, it must be flagged valid. (@valid = 'true') + + + + + + + + + + + + + + + + + + + + Schematron rule violation on Some kind of error location must be given. (@lineNumber or @xpathLocation) + + + + + + + + + diff --git a/dist/assembly.xml b/dist/assembly.xml new file mode 100644 index 0000000..109a99a --- /dev/null +++ b/dist/assembly.xml @@ -0,0 +1,36 @@ + + distribution + + dir + zip + + false + + + ${project.parent.basedir} + / + + README* + LICENSE* + + + + ${project.build.directory}/xrechnung + / + + + + + / + false + runtime + ${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension} + + ${project.groupId}:validationtool + + + + + \ No newline at end of file diff --git a/dist/pom.xml b/dist/pom.xml new file mode 100644 index 0000000..3c4e712 --- /dev/null +++ b/dist/pom.xml @@ -0,0 +1,106 @@ + + + + + 4.0.0 + + de.kosit + validationtool-base + 1.0.0 + ../ + + validationtool-dist + pom + KoSIT XML Prüftool Distribution + KoSIT XML Prüftool zur Prüfung von XML Dateien gegenüber definierten Szenarien. + + + + UTF-8 + + + + + de.kosit + validationtool + ${project.version} + standalone + + + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.9 + + + unpack + package + + unpack + + + ${project.build.directory}/xrechnung + + + ${project.groupId} + xrechnung + ${project.version} + zip + + + + + + + + maven-assembly-plugin + 3.1.0 + + + assemble + package + + single + + + + assembly.xml + + true + true + target/ + target/assembly/work + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..eb42e79 --- /dev/null +++ b/pom.xml @@ -0,0 +1,87 @@ + + + + + 4.0.0 + + 3.0 + + de.kosit + validationtool-base + 1.0.0 + pom + KoSIT XML Prüftool + KoSIT XML Prüftool zur Prüfung von XML Dateien gegenüber definierten Szenarien. + + + andreas.penski + Andreas Penski + ]init[ AG + https://www.init.de + + + fabian.buettner + Fabian Büttner + KoSIT + http://www.kosit.de + + + + + + UTF-8 + + + + validationtool + configurations/xrechnung + dist + + + + + + + full-distribution + + + + standalone + + + + + + + org.apache.maven.plugins + maven-release-plugin + 2.5.3 + + v@{project.version} + + + + + + + + \ No newline at end of file diff --git a/validationtool/pom.xml b/validationtool/pom.xml index f11e643..e43c244 100644 --- a/validationtool/pom.xml +++ b/validationtool/pom.xml @@ -25,26 +25,17 @@ 3.0 - de.kosit - validationtool - 1.0.0 - KoSIT XML Prüftool - KoSIT XML Prüftool zur Prüfung von XML Dateien gegenüber definierten Szenarien. - - - andreas.penski - Andreas Penski - ]init[ AG - https://www.init.de - - - fabian.buettner - Fabian Büttner - KoSIT - http://www.kosit.de - - + KoSIT XML Prüftool Implementierung + + + de.kosit + validationtool-base + 1.0.0 + ../ + + validationtool + KoSIT XML Prüftool zur Prüfung von XML Dateien gegenüber definierten Szenarien. UTF-8 @@ -52,7 +43,6 @@ 1.16.16 9.7.0-15 1.7.25 -