diff --git a/.gitignore b/.gitignore
index 23b183e..a70a722 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,7 +36,6 @@ src/generated
.factorypath
.idea/
.settings/
-.externalToolBuilders/
.vscode
*.code-workspace
*.xpr
@@ -47,9 +46,3 @@ xrechnung
.DS_Store
andre*-simple.xml
somePrefix*.xml
-zz
-
-# 2.0 stuff
-api/
-cli/
-core/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 75032c2..686bdd9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,8 @@
image: maven:latest
-
+
variables:
BUILD_PROPS: "-Dbuild.revision=$CI_COMMIT_SHA -Dbuild.branch=$CI_COMMIT_REF_NAME -Dbuild.number=$CI_PIPELINE_IID -Dfile.encoding=UTF-8 -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false"
- MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true -Xmx6g"
+ MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: " --batch-mode --update-snapshots --errors --fail-at-end --show-version -s .mvn/settings.xml"
MAVEN_CLI_OPTS_CENTRAL: " --batch-mode --show-version -s .mvn/settings-maven-central.xml"
@@ -15,7 +15,6 @@ cache:
paths:
- .m2/repository
-# Basic Java build steps
.java:
stage: build
needs:
@@ -33,6 +32,11 @@ cache:
- target/surefire-reports/*.xml
- target/failsafe-reports/*.xml
+.java_extended:
+ extends: .java
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "schedule"
+
java-11:
extends: .java
image: maven:3-eclipse-temurin-11-alpine
@@ -50,6 +54,10 @@ java-11:
- target/surefire-reports/*.xml
- target/failsafe-reports/*.xml
+java-11-openj9:
+ extends: .java_extended
+ image: maven:3-jdk-11-openj9
+
java-17:
extends: .java
image: maven:3-eclipse-temurin-17-alpine
@@ -58,29 +66,14 @@ java-21:
extends: .java
image: maven:3-eclipse-temurin-21-alpine
+java-24:
+ extends: .java_extended
+ image: maven:3-eclipse-temurin-24-alpine
+
java-25:
extends: .java
image: maven:3-eclipse-temurin-25-alpine
-
-# Rare Java stuff
-.java_extended:
- extends: .java
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule"
-
-# Note: the openj9 images don't exist for Java 17, 21 or 25
-# Removed because the latest public image is 11.0.11 which is not comaptible to the Lombok requirement of 11.0.23
-#java-11-openj9:
-# extends: .java_extended
-# image: maven:3-jdk-11-openj9
-
-# Deploy Java 11 build on Maven Central
-deploy-java-11-snapshot:
- extends: java-11
- script:
- - mvn $MAVEN_CLI_OPTS_CENTRAL -P release-snapshot deploy
-
-# Deploy Java 11 build to KoSIT repository (manually)
+
deploy:
stage: deploy
image: maven:3-eclipse-temurin-11-alpine
@@ -88,14 +81,18 @@ deploy:
- job: java-11
script:
- export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.zip -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dclassifier="distribution" -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
- - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
- - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-javadoc.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dclassifier="javadoc" -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
- - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-standalone.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dclassifier="standalone" -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
- - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-sources.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dclassifier="sources" -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
+ - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.zip -DgroupId=kosit -DartifactId=validator -Dclassifier="distribution" -Dversion=${PROJECT_VERSION} -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
+ - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}.jar -DgroupId=kosit -DartifactId=validator -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
+ - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-javadoc.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="javadoc" -Dversion=${PROJECT_VERSION} -Dpackaging=zip -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
+ - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-standalone.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="standalone" -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
+ - mvn $MAVEN_CLI_OPTS deploy:deploy-file -Dfile=target/validator-${PROJECT_VERSION}-sources.jar -DgroupId=kosit -DartifactId=validator -Dclassifier="sources" -Dversion=${PROJECT_VERSION} -Dpackaging=jar -DrepositoryId="gitlab-maven" -Durl=https://projekte.kosit.org/api/v4/projects/7/packages/maven
when: manual
-# Build Docker images and upload to KoSIT registry
+deploy-snapshot:
+ extends: java-11
+ script:
+ - mvn $MAVEN_CLI_OPTS_CENTRAL -P release-snapshot deploy
+
create-build-image:
stage: deploy
image: docker:latest
@@ -111,22 +108,12 @@ create-build-image:
changes:
- .mvn/createBuildImages.sh
-# Run OWASP checks - expensive so only on main branch
owasp-check:
- stage: test
+ extends: .java
image: maven:3-eclipse-temurin-21-alpine
needs: [ ]
- # set job timeout to 1 hour - it's required when new rules are downloaded
- timeout: 1h
- variables:
- RUNNER_SCRIPT_TIMEOUT: 1h
script:
- mvn $MAVEN_CLI_OPTS $BUILD_PROPS $CI_JOB_TIMESTAMP validate -Powasp-check
- artifacts:
- name: artifacts
- reports:
- codequality:
- - target/dependency-check-report.html
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_REF_NAME == "main"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 802455f..ef56bf3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,21 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## 1.6.2 - 2026-02-17
+## Unreleased
-### Changed
-
-- (BUILD) [GitHub #173]( https://github.com/itplr-kosit/validator/issues/173) The JAR files now contain details on the used third-party component licenses. Thanks to @cech12
-- (BUILD) [GitHub #169](https://github.com/itplr-kosit/validator/issues/169) The `.zip` file created from `maven-assembly-plugin` now contains the correct xml-resolver dependencies. Thanks to @landrix for pointing that out
-- (BUILD) [#179](https://projekte.kosit.org/kosit/validator/-/issues/179) Updated all dependencies to the latest suitable versions
-
-## 1.6.1 - 2026-02-05
-
-### Changed
-
-- (CORE) [#106](https://projekte.kosit.org/kosit/validator/-/issues/106) The `match` element in `scenarios.xml` is required to have at least one character (per XSD change)
-- (BUILD) [#176](https://projekte.kosit.org/kosit/validator/-/issues/176) The Maven Central deployed `pom.xml` properly includes runtime dependencies
-- (BUILD) [#175](https://projekte.kosit.org/kosit/validator/-/issues/175) The `.zip` file created from `maven-assembly-plugin` no longer contains the standalone validator, which reduces its size to 50%
## 1.6.0 - 2025-11-07
diff --git a/NOTICE b/NOTICE
index 669ba21..a1ed12f 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,29 +1,5 @@
KoSIT XML Validator
-Copyright 2017-2026 Koordinierungsstelle für IT-Standards (KoSIT)
+Copyright 2017-2025 Koordinierungsstelle für IT-Standards (KoSIT)
This product includes software developed by
Koordinierungsstelle für IT-Standards ().
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under Apache 2.0
-
-This product includes software developed at
-Fusesource (http://fusesource.github.io/jansi/).
-Licensed under Apache 2.0
-
-This product includes software developed at
-Remko Popma (https://picocli.info/).
-Licensed under Apache 2.0
-
-This product includes software developed at
-Saxonica (https://github.com/Saxonica/Saxon-HE).
-Licensed under MPL 2.0
-
-This product includes software developed at
-Eclipse Foundation (https://github.com/eclipse-ee4j/jaxb-ri).
-Licensed under EDL 1.0
-
-This product includes software developed at
-QOS.ch (https://www.slf4j.org/).
-Licensed under MIT
diff --git a/pom.xml b/pom.xml
index 8a3e450..5d04818 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.kositvalidator
- 1.6.3-SNAPSHOT
+ 1.6.1-SNAPSHOTKoSIT XML Validator against XSD and Schematron based on defined scenarios.
@@ -38,18 +38,17 @@
UTF-8
- 3.27.7
- 2.21.0
- 3.20.0
+ 3.27.3
+ 2.20.0
+ 3.18.00.8.13
- 4.0.4
- 4.0.6
+ 4.0.2
+ 4.0.51.18.42
- 5.21.0
+ 4.11.012.1.8
-
- 5.5.7
- 12.9
+ 5.5.5
+ 12.82.0.174.0.11
@@ -81,15 +80,16 @@
${version.lombok}provided
-
- org.slf4j
- slf4j-api
- ${version.slf4j}
- net.sf.saxonSaxon-HE${version.saxon-he}
+ compile
+
+
+ org.slf4j
+ slf4j-api
+ ${version.slf4j}info.picocli
@@ -180,7 +180,7 @@
org.sonatype.centralcentral-publishing-maven-plugin
- 0.10.0
+ 0.8.0truecentral
@@ -206,33 +206,6 @@
-
-
- maven-resources-plugin
- 3.4.0
-
-
- copy-license-notice
- process-resources
-
- copy-resources
-
-
- ${project.build.outputDirectory}/META-INF
-
-
- ${project.basedir}
-
- NOTICE
-
-
-
- true
-
-
-
-
-
org.codehaus.mojobuild-helper-maven-plugin
@@ -302,54 +275,29 @@
org.apache.maven.pluginsmaven-shade-plugin
- 3.6.1
+ 3.6.0
+ jdk11+packageshade
- falsetruestandalonede.kosit.validationtool.cmd.CommandLineApplication
-
-
-
-
-
-
- false
- *:*
-
- META-INF/*.MF
-
META-INF/*.SFMETA-INF/*.DSAMETA-INF/*.RSA
-
**/module-info.class
@@ -678,8 +626,7 @@
${project.basedir}/owasp-suppressions.xml
-
- ${NVD_API_KEY}
+
diff --git a/src/assembly/assembly-dist.xml b/src/assembly/assembly-dist.xml
index 5d27120..597eec6 100644
--- a/src/assembly/assembly-dist.xml
+++ b/src/assembly/assembly-dist.xml
@@ -20,10 +20,6 @@
validator-*.jar
-
-
- *standalone.jar
-
@@ -32,6 +28,7 @@
libsfalseruntime
+ ${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
diff --git a/src/main/java/de/kosit/validationtool/impl/CollectingErrorEventHandler.java b/src/main/java/de/kosit/validationtool/impl/CollectingErrorEventHandler.java
index 042dd95..be10111 100644
--- a/src/main/java/de/kosit/validationtool/impl/CollectingErrorEventHandler.java
+++ b/src/main/java/de/kosit/validationtool/impl/CollectingErrorEventHandler.java
@@ -47,7 +47,7 @@ public class CollectingErrorEventHandler implements ValidationEventHandler, Erro
private static final int DEFAULT_ABORT_COUNT = 50;
- private final int stopProcessCount = DEFAULT_ABORT_COUNT;
+ private static final int stopProcessCount = DEFAULT_ABORT_COUNT;
private final List errors = new ArrayList<>();
diff --git a/src/main/java/de/kosit/validationtool/impl/tasks/SchematronValidationAction.java b/src/main/java/de/kosit/validationtool/impl/tasks/SchematronValidationAction.java
index 90ad899..ae85023 100644
--- a/src/main/java/de/kosit/validationtool/impl/tasks/SchematronValidationAction.java
+++ b/src/main/java/de/kosit/validationtool/impl/tasks/SchematronValidationAction.java
@@ -23,6 +23,9 @@ import javax.xml.transform.dom.DOMSource;
import org.oclc.purl.dsdl.svrl.SchematronOutput;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
import de.kosit.validationtool.impl.CollectingErrorEventHandler;
import de.kosit.validationtool.impl.ConversionService;
import de.kosit.validationtool.impl.Scenario;
@@ -30,8 +33,7 @@ import de.kosit.validationtool.impl.Scenario.Transformation;
import de.kosit.validationtool.model.reportInput.CreateReportInput;
import de.kosit.validationtool.model.reportInput.ValidationResultsSchematron;
import de.kosit.validationtool.model.reportInput.ValidationResultsSchematron.Results;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
+
import net.sf.saxon.dom.NodeOverNodeInfo;
import net.sf.saxon.s9api.SaxonApiException;
import net.sf.saxon.s9api.XdmDestination;
@@ -69,11 +71,6 @@ public class SchematronValidationAction implements CheckAction {
transformer.setInitialContextNode(document);
transformer.transform();
- // If we reach this line, it means no Exception was thrown :-)
- if (e.hasErrors()) {
- log.error("XSLT errors found: " + e.getErrorDescription());
- }
-
final ValidationResultsSchematron.Results r = new ValidationResultsSchematron.Results();
r.setSchematronOutput(this.conversionService.readDocument(
new DOMSource(NodeOverNodeInfo.wrap(result.getXdmNode().getUnderlyingNode()).getOwnerDocument()),
diff --git a/src/main/java/de/kosit/validationtool/impl/xml/StringTrimAdapter.java b/src/main/java/de/kosit/validationtool/impl/xml/StringTrimAdapter.java
index ca839dd..08ef4b1 100644
--- a/src/main/java/de/kosit/validationtool/impl/xml/StringTrimAdapter.java
+++ b/src/main/java/de/kosit/validationtool/impl/xml/StringTrimAdapter.java
@@ -22,12 +22,18 @@ public class StringTrimAdapter extends XmlAdapter {
@Override
public String unmarshal(final String v) {
- return trim(v);
+ if (v == null) {
+ return null;
+ }
+ return v.trim();
}
@Override
public String marshal(final String v) {
- return trim(v);
+ if (v == null) {
+ return null;
+ }
+ return v.trim();
}
public static String trim(final String v) {
diff --git a/src/main/model/binding/global.xjb b/src/main/model/binding/global.xjb
index ae2d603..cd2a512 100644
--- a/src/main/model/binding/global.xjb
+++ b/src/main/model/binding/global.xjb
@@ -1,6 +1,6 @@
+
+
@@ -55,19 +72,13 @@
-
-
-
-
-
-
-
+
@@ -127,18 +138,3 @@
-
diff --git a/src/main/resources/LICENSE.validator b/src/main/resources/LICENSE.validator
deleted file mode 100644
index d9a10c0..0000000
--- a/src/main/resources/LICENSE.validator
+++ /dev/null
@@ -1,176 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
diff --git a/src/main/resources/app-info.properties b/src/main/resources/app-info.properties
index fa6be89..d8e3ace 100644
--- a/src/main/resources/app-info.properties
+++ b/src/main/resources/app-info.properties
@@ -1,5 +1,5 @@
#
-# Copyright 2017-2026 Koordinierungsstelle für IT-Standards (KoSIT)
+# Copyright 2017-2022 Koordinierungsstelle für IT-Standards (KoSIT)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/src/main/resources/simplelogger.properties b/src/main/resources/simplelogger.properties
index 66281f8..cd77b47 100644
--- a/src/main/resources/simplelogger.properties
+++ b/src/main/resources/simplelogger.properties
@@ -1,5 +1,5 @@
#
-# Copyright 2017-2026 Koordinierungsstelle für IT-Standards (KoSIT)
+# Copyright 2017-2022 Koordinierungsstelle für IT-Standards (KoSIT)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -32,3 +32,21 @@ org.slf4j.simpleLogger.showLogName=false
# Defaults to false.
org.slf4j.simpleLogger.showShortLogName=false
org.slf4j.simpleLogger.levelInBrackets=true
+#
+# Licensed to the Koordinierungsstelle f�r IT-Standards (KoSIT) under
+# one or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. KoSIT licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
diff --git a/src/main/resources/transform/identity.xsl b/src/main/resources/transform/identity.xsl
index 4ddc79e..fc4ff01 100644
--- a/src/main/resources/transform/identity.xsl
+++ b/src/main/resources/transform/identity.xsl
@@ -1,6 +1,5 @@
-
+
@@ -24,4 +24,5 @@
-
+
+
\ No newline at end of file
diff --git a/src/test/java/de/kosit/validationtool/cmd/CommandlineApplicationTest.java b/src/test/java/de/kosit/validationtool/cmd/CommandlineApplicationTest.java
index dce14d4..b9b2ed8 100644
--- a/src/test/java/de/kosit/validationtool/cmd/CommandlineApplicationTest.java
+++ b/src/test/java/de/kosit/validationtool/cmd/CommandlineApplicationTest.java
@@ -139,15 +139,6 @@ public class CommandlineApplicationTest {
assertThat(CommandLine.getErrorOutput()).contains(RESULT_OUTPUT);
}
- @Test
- public void testValidMinimalConfigurationXSLTRuntimeError() {
- final String[] args = { "-s", Paths.get(Simple.SCENARIOS_XSLT_RUNTIME_ERROR).toString(), "-h", "-o",
- this.output.toAbsolutePath().toString(), "--serialize-report-input",
- Paths.get(Simple.SIMPLE_XSLT_RUNTIME_ERROR).toString() };
- CommandLineApplication.mainProgram(args);
- assertThat(CommandLine.getErrorOutput()).contains(RESULT_OUTPUT);
- }
-
@Test
public void testValidNamingConfiguration() {
final String[] args = { "-s", Paths.get(Simple.SCENARIOS).toString(), "-r", Paths.get(Simple.REPOSITORY_URI).toString(),
@@ -168,7 +159,7 @@ public class CommandlineApplicationTest {
@Test
public void testValidDirectoryInput() {
final String[] args = { "-s", Paths.get(Simple.SCENARIOS).toString(), "-o", this.output.toString(), "-r",
- Paths.get(Simple.REPOSITORY_URI).toString(), Paths.get(Simple.INPUT).toString() };
+ Paths.get(Simple.REPOSITORY_URI).toString(), Paths.get(Simple.EXAMPLES).toString() };
CommandLineApplication.mainProgram(args);
assertThat(CommandLine.getErrorOutput()).contains("Processing 9 object(s) completed");
}
diff --git a/src/test/java/de/kosit/validationtool/impl/Helper.java b/src/test/java/de/kosit/validationtool/impl/Helper.java
index 25d6158..00da5a3 100644
--- a/src/test/java/de/kosit/validationtool/impl/Helper.java
+++ b/src/test/java/de/kosit/validationtool/impl/Helper.java
@@ -49,18 +49,15 @@ public class Helper {
public static final URI ROOT = EXAMPLES_DIR.resolve("simple/");
- public static final URI INPUT = ROOT.resolve("input/");
+ public static final URI EXAMPLES = ROOT.resolve("input/");
public static final URI SIMPLE_VALID = ROOT.resolve("input/simple.xml");
- public static final URI SIMPLE_XSLT_RUNTIME_ERROR = EXAMPLES_DIR
- .resolve("invalid/xslt-runtime-error/input/simple-xslt-runtime-error.xml");
-
public static final URI FOO = ROOT.resolve("input/foo.xml");
- public static final URI FOO_SCHEMATRON_INVALID = INPUT.resolve("foo-schematron-invalid.xml");
+ public static final URI FOO_SCHEMATRON_INVALID = EXAMPLES.resolve("foo-schematron-invalid.xml");
- public static final URI FOO_CUSTOM_LEVEL_ERROR = INPUT.resolve("foo-custom-level-error.xml");
+ public static final URI FOO_CUSTOM_LEVEL_ERROR = EXAMPLES.resolve("foo-custom-level-error.xml");
public static final URI REJECTED = ROOT.resolve("input/withManualReject.xml");
@@ -68,9 +65,6 @@ public class Helper {
public static final URI SCENARIOS_WITH_RELATIVE_PATHS = ROOT.resolve("scenarios-with-relative-paths.xml");
- public static final URI SCENARIOS_XSLT_RUNTIME_ERROR = EXAMPLES_DIR
- .resolve("invalid/xslt-runtime-error/scenarios-with-xslt-runtime-error.xml");
-
public static final URI OTHER_SCENARIOS = ROOT.resolve("otherScenarios.xml");
public static final URI ERROR_SCENARIOS = ROOT.resolve("scenarios-with-errors.xml");
@@ -107,7 +101,6 @@ public class Helper {
public static class Invalid {
- // Is the typo in the name on purpose???
public static final URI ROOT = EXAMPLES_DIR.resolve("invaid/");
public static final URI SCENARIOS = ROOT.resolve("scenarios.xml");
diff --git a/src/test/resources/examples/invalid/xslt-runtime-error/input/simple-xslt-runtime-error.xml b/src/test/resources/examples/invalid/xslt-runtime-error/input/simple-xslt-runtime-error.xml
deleted file mode 100644
index cdbd1cf..0000000
--- a/src/test/resources/examples/invalid/xslt-runtime-error/input/simple-xslt-runtime-error.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- abc
- def
-
-
-
-
-
diff --git a/src/test/resources/examples/invalid/xslt-runtime-error/repository/report.xsl b/src/test/resources/examples/invalid/xslt-runtime-error/repository/report.xsl
deleted file mode 100644
index 6eb7471..0000000
--- a/src/test/resources/examples/invalid/xslt-runtime-error/repository/report.xsl
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple-xslt-runtime-error.xsl b/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple-xslt-runtime-error.xsl
deleted file mode 100644
index 8a8f0de..0000000
--- a/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple-xslt-runtime-error.xsl
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /
-
-
-
-
-
- *:
-
- [namespace-uri()='
-
- ']
-
-
-
- [
-
- ]
-
-
-
- /
-
- @
-
-
- @*[local-name()='
-
- ' and namespace-uri()='
-
- ']
-
-
-
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
- /@
-
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
- /@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-
-
-
-
- U
-
- U
-
-
-
- U.
-
- n
-
-
-
- U.
-
- _
-
- _
-
-
-
-
-
-
-
-
-
- Â
- Â
- Â
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schematron Simple
-
-
-
-
-
-
-
-
-
-
-
-
-
- content-2
-
-
-
- The decimal value of s:inner should be 1.
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple.xsd b/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple.xsd
deleted file mode 100644
index 04d5923..0000000
--- a/src/test/resources/examples/invalid/xslt-runtime-error/repository/simple.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/test/resources/examples/invalid/xslt-runtime-error/scenarios-with-xslt-runtime-error.xml b/src/test/resources/examples/invalid/xslt-runtime-error/scenarios-with-xslt-runtime-error.xml
deleted file mode 100644
index f1c13a6..0000000
--- a/src/test/resources/examples/invalid/xslt-runtime-error/scenarios-with-xslt-runtime-error.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
- XSLT-Runtime-Error-TestSuite
- QA
- 2026-03-02
-
-