diff --git a/History.md b/History.md index 7b7227ca..b00ad79e 100644 --- a/History.md +++ b/History.md @@ -28,10 +28,10 @@ switch - have visualizer - validate as library doc - unify loggers +- release notes ### 2.0 still todo -- release notes - verapdf as prevalidation? - visualization? zugferdvisualizer? - new sample invoice @@ -51,8 +51,15 @@ switch - *use validator in tests of library - *USt 0% wird aus invoice-klasse noch nicht sauber abgefangen - *ownContact sollte in einen Contact schreiben +- new features additional docs, contract id, periods, corrected invoices, discounts -1.7.7 +Mustangproject 1.7.8 +===== +2020-06-14 +- corrected ZF2 gross price + + +Mustangproject 1.7.7 ===== 2020-05-26 @@ -61,7 +68,30 @@ switch - #148 support additional documents for items - #154 german VAT ID may not be used for sellercontact scheme id -1.7.6 +Validator 0.9.0 +===== +2020-03-24 + +- ZF 2.1 Schema/Schematrons +- check against URI allowing for different fragments +- #27 wrong exit code +- now context also loggs +- introduced fatal errors. new errors: filename empty (10), xml not extractable (17), En16931 CEN Schematron error (24) +- fail better if -f missing +- validate against CEN 1.3 +- corrected invalidation of complete output status for broken pdfs +- mention filename in report +- escape xml in report elements, e.g. < in criterion to become < +- validation element has been removed from pdf info and added as attribute in root, duration is now direct child of info +- file not found and file too small now without filename +- XML pretty print output. (XML report may now contain header section -* validate not only against *schematron* but also against *schema* files - -0.7.0 -====== -2019-05-31 - -* ZUGFeRD 2 final compatible -* now displaying number of applied and failed rules -* now failing if no rule could be applied at all -* profileoverride option no longer needed -* version dependent checks for profiles (i.e. comfort is not a valid ZF2 profile!) -* allow new ZF2 filename (zugferd-invoice.xml instead ZUGFeRD-invoice.xml) -* more JUnit tests -* include own version number in XML report - - -0.6.0 -===== -2019-02-15 -Factur-X compatible -Mention xpath location where the errors occurred -JUnit tests -new way to collect&handle errors -XMP/PDF-A-Schema extension validation - - -0.5.0 -===== -2018-09-10 -Non-16931 profiles are no longer automatically (but still can be manually) checked, -now writing a log file, attempt to find out which toolkit created that particular file (issue #2), -fixing that XML could not be extracted from certain valid PDF/A-3 files (issue #9), -added --action parameter (has to be validate), -f option changes to "-o -z", added APL license, -added possibility to check XML files only, fixing issues with files that contained a -UTF8 BOM in the XML content ("Content not allowed in prolog"), -Upgraded VeraPDF-validation from 1.10.5 to 1.12.1 - -0.4.3 -===== -2018-03-19 - -Java 8 capability (fixes issue #8) - -0.4.2 -===== -2018-03-11 -POJO embedding VeraPDF: unable to solve some severe deployment issues - - -0.4.1 -===== -2018-02-12 -ZUGFeRD 2 public preview EN16931 validation using the schematron files the CEN had -published under APL - - -0.3.0 -===== -2017-07-24 -First release as VeraPDF plugin diff --git a/validator/README.md b/validator/README.md index 4853fa33..95805615 100644 --- a/validator/README.md +++ b/validator/README.md @@ -189,7 +189,7 @@ Permissive Open Source APL2, see LICENSE ## History -see the [history file](History.md) +see the Mustangproject [history file](History.md) ## Authors diff --git a/validator/log/ZUV-2020-08.log b/validator/log/ZUV-2020-08.log new file mode 100644 index 00000000..ec75ffb4 --- /dev/null +++ b/validator/log/ZUV-2020-08.log @@ -0,0 +1,1202 @@ +2020-08-06 16:28:42.804 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZF_211/FACTUR-X_EN16931.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/ZF_211/FACTUR-X_EN16931.xslt] +2020-08-06 16:28:48.740 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/cii16931schematron/EN16931-CII-validation.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/cii16931schematron/EN16931-CII-validation.xslt] +2020-08-06 16:28:49.364 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/XR_20/XRechnung-CII-validation.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/XR_20/XRechnung-CII-validation.xslt] +2020-08-06 16:28:49.450 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:49.455 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.186 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.198 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.199 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.199 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.200 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.200 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:28:51.579 [main] INFO o.m.validator.PDFValidator - validating additionalData additional_data-logistics-invoice-1.0-unique.xml +2020-08-06 16:28:51.624 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZUGFeRD_1p0.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/ZUGFeRD_1p0.xslt] +2020-08-06 16:29:00.409 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZF_211/FACTUR-X_EXTENDED.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/ZF_211/FACTUR-X_EXTENDED.xslt] +2020-08-06 16:29:06.363 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.364 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.364 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.364 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.364 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.365 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.365 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:06.386 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZF_211/FACTUR-X_MINIMUM.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/ZF_211/FACTUR-X_MINIMUM.xslt] +2020-08-06 16:29:06.973 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:07.136 [main] INFO c.h.s.x.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZF_211/FACTUR-X_BASIC.xslt; urlResolved=true; URL=file:/Users/jstaerk/workspace/mustangproject/validator/target/classes/xslt/ZF_211/FACTUR-X_BASIC.xslt] +2020-08-06 16:29:08.289 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:08.289 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:08.289 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:08.289 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:08.290 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:08.333 [main] ERROR c.h.xml.sax.LoggingSAXErrorHandler - [fatal_error] @ (1:1) [SAX] Content ist nicht zulässig in Prolog. (org.xml.sax.SAXParseException: Content ist nicht zulässig in Prolog.) +2020-08-06 16:29:08.337 [main] ERROR c.h.c.c.e.LoggingExceptionCallback - [error] @ (1:1) [SAX] Content ist nicht zulässig in Prolog. (org.xml.sax.SAXParseException: Content ist nicht zulässig in Prolog.) +org.xml.sax.SAXParseException: Content ist nicht zulässig in Prolog. + at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) + at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348) + at com.helger.xml.serialize.read.DOMReader.readXMLDOM(DOMReader.java:334) + at com.helger.xml.serialize.read.DOMReader.readXMLDOM(DOMReader.java:124) + at com.helger.schematron.SchematronResourceHelper.getNodeOfSource(SchematronResourceHelper.java:106) + at com.helger.schematron.AbstractSchematronResource.getAsNode(AbstractSchematronResource.java:204) + at com.helger.schematron.AbstractSchematronResource.applySchematronValidationToSVRL(AbstractSchematronResource.java:278) + at org.mustangproject.validator.XMLValidator.validateSchematron(XMLValidator.java:349) + at org.mustangproject.validator.XMLValidator.validate(XMLValidator.java:283) + at org.mustangproject.validator.XMLValidatorTest.testZF2XMLValidation(XMLValidatorTest.java:127) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:497) + at junit.framework.TestCase.runTest(TestCase.java:176) + at junit.framework.TestCase.runBare(TestCase.java:141) + at junit.framework.TestResult$1.protect(TestResult.java:122) + at junit.framework.TestResult.runProtected(TestResult.java:142) + at junit.framework.TestResult.run(TestResult.java:125) + at junit.framework.TestCase.run(TestCase.java:129) + at junit.framework.TestSuite.runTest(TestSuite.java:252) + at junit.framework.TestSuite.run(TestSuite.java:247) + at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86) + at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:497) + at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) + at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) + at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) + at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) +2020-08-06 16:29:09.541 [main] INFO o.m.validator.XMLValidator - FailedAssert +2020-08-06 16:29:11.499 [main] ERROR o.m.validator.ZUGFeRDValidator - Fatal Error 10: Filename not specified +2020-08-06 16:29:11.517 [main] INFO o.m.validator.ZUGFeRDValidator - Parsed PDF:invalid XML:invalid Signature:null Checksum:null Profile:null Version:null Took:19ms Errors:[10] +2020-08-06 16:29:11.518 [main] ERROR o.m.validator.ZUGFeRDValidator - Fatal Error 1: File not found +2020-08-06 16:29:11.519 [main] INFO o.m.validator.ZUGFeRDValidator - Parsed PDF:invalid XML:invalid Signature:null Checksum:null Profile:null Version:null Took:1ms Errors:[1] +2020-08-06 16:29:11.520 [main] ERROR o.m.validator.ZUGFeRDValidator - Fatal Error 5: File too small +2020-08-06 16:29:11.523 [main] INFO o.m.validator.ZUGFeRDValidator - Parsed PDF:invalid XML:invalid Signature:null Checksum:null Profile:null Version:null Took:3ms Errors:[5] +2020-08-06 16:29:11.534 [main] ERROR o.m.validator.ZUGFeRDValidator - Fatal Error 8: File does not look like PDF nor XML (contains neither %PDF nor