From 55ea730a02bfaafb754cbbfe62c91d26c82f0f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20Sta=CC=88rk?= Date: Sun, 3 Feb 2019 14:39:33 +0100 Subject: [PATCH] Mustang 1.6.0 with XMP access and Factur-X support --- History.md | 8 +- doc/MustangDev.en.odt | Bin 183411 -> 181164 bytes .../ZUGFeRD/ZUGFeRDImporter.java | 27 +++++-- .../ZUGFeRD/MustangReaderWriterTest.java | 75 ++++++++++++++++++ 4 files changed, 102 insertions(+), 8 deletions(-) diff --git a/History.md b/History.md index fba3aa1a..42272163 100644 --- a/History.md +++ b/History.md @@ -1,8 +1,12 @@ -1.5.6 +1.6.0 ===== +2019-02-03 -closes #69. +Closes #69. Corrected EN 16931 XMP Schema Extension header +Can now read xmp metadata via ZUGFeRDImporter getXMP +Exporting valid EN16931 Factur-X when version/profile set to 2/EN16931 mode + 1.5.5 ===== diff --git a/doc/MustangDev.en.odt b/doc/MustangDev.en.odt index 0a65fcea190c93048c5df2b009ace6805c5ecffd..b9b50a219763d8478a8299628d0df671f22d8a45 100644 GIT binary patch delta 12521 zcmaL71ymhN(=NQ(xNGnP2o~HuK=5E2mtesqxI2TpyGwxJ?(PKF;O-XO{m(h)e)oIN zyYBjDt=?1C)jiX-yK6mDm&wSbLC9$G($FwCAP@owRBRyvi9wUZ{Oiu{f9NfP1p@um z@RJ}v!9+2BJ2I*>D!L~&t~)+{AThZ&2}mAFP8?26?@vz~$;ux3o;zAl zI9gmhU0XL(Q#0SzG1tw1 zFh6&+vV6R~y?u0aw6%GD{QLUq>gwX+?&akL1OmOjzE%hiZh=6URFa}X$}Wq?+Nk!+ zoUyW{z&(X`iSj0xuzh{29&0VJj>dY-dFjKa)p#G6uGd$wIZ}zKfkYfSBWaN!Vl+fw zQWKpVq6#9I)US0+`uE>_syfwm>6vlyk;7s8!3O_kx28J_%VzmP=QLxl4ZI2j1j0>r zM|QP@6Ub(9G^OhL)C~}2fe9`n1I>EYL}hz=G=0V@99j(xV&OuL*>wAnqMKoCrmF;= zTH+(}?g5h}6EEE~OZ61gucv)4^g+jg=tPVSOA+|naKlccoGown(lRg{gn!SPSB(bp z6ZKZUk+KeYwyIehxE5!2qPlY$-^mP-@ZY#G(d_sd@}@i}VxEno6i8dObao}@);xt_ zJ0f;AZ%XI^@inRFx5QY~5fxT%8yDP(BeXBkwypgRSVd~mK@^+UEg3bK6{iyFPOj8L zqLHXEh-f0#6gO5XY!6&yRxWMg{AzG%bR_AfZw{-}g{z22Aw#)0(Z`^lC)$r|?>Uqh zD#|NYc7BC1DO&47em@!vvpxd}C?<{|RA zOxba>O$XVi%93Xel`wOG*uDyOVOO%-g1w?n?=iFG$)?w+zxq-X$IFz~_W{DZzE@X+;X*H#T0=QCan zkKbx`iRLTcXj;yGt(k#T9*26iDVAJU{=h0g*+Lm}(&w-+b??tSURbcHU-($llh|4H zoDu`j^=B51vf0+Vg7II-^?q}?@ef=(wXF`Yivn3t60WN?0x)Efm>O%2#{8Rl1kx?J$0=>$LgCuF0dD-$JD zSak0$XTE;?y&mK7+rZOX85F*HwUH{lb@%zx`N}nP4`z#O;=cYKJza}ArX`dt)WEFDOq+k=^B??rBnMyN?mRq{1KJ-G$^1LjiZT!ozhUpvyDDVneESZ-_{s=b?HOh$|nn;4yyZyuTtR_Bt4 z-*CTpzJhWNcVle}8a?R46$+i)kw+Ya*{B1>tAaY`F|ASbNk=gXV0-rACrA{CF^Q`P z@f2yIksjdVi8~HINjd0`@Ebz>^ZWgZ8k>jOD4J z@pH!F1;+FQEwx^0kDtuj{WBPcEhx?ezYGEfL206{>rcB_W=Kho)M_q0B%MTt8>o*N zq(srRTHrP5`mMB;#4b^xEnY7inS+oVQ2+MmmAV7{QW(T2q1`sD=WRcXOp}e{f&(%) z4kkKgF*HGw?H*&(PwkjYetn>0tG0>qwI}SPt?yYZ{8gH#>i@Bo

Nmu$pPlAP|s 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 b_n)Vw9r^S8wyjCxBVcMcs`ftt4*LH9aY3X* delta 14693 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 names) throws IOException { for (String filename : names.keySet()) { diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index 32bcfeb3..b7a63266 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -378,6 +378,81 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta String amount = zi.getAmount(); + assertEquals("\n" + + " \n" + + " \n" + + " \n" + + " uuid:6776DD95-DAF6-768E-DAE6-2697750D95C5\n" + + " uuid:47380404-5938-FE2C-8F0B-B505DCE43BF5\n" + + " \n" + + " \n" + + " BASIC\n" + + " ZUGFeRD-invoice.xml\n" + + " INVOICE\n" + + " 1.0\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ZUGFeRD PDFA Extension Schema\n" + + " urn:ferd:pdfa:CrossIndustryDocument:invoice:1p0#\n" + + " zf\n" + + " \n" + + " \n" + + " \n" + + " DocumentFileName\n" + + " Text\n" + + " external\n" + + " name of the embedded XML invoice file\n" + + " \n" + + " \n" + + " DocumentType\n" + + " Text\n" + + " external\n" + + " INVOICE\n" + + " \n" + + " \n" + + " Version\n" + + " Text\n" + + " external\n" + + " The actual version of the ZUGFeRD XML schema\n" + + " \n" + + " \n" + + " ConformanceLevel\n" + + " Text\n" + + " external\n" + + " The conformance level of the embedded ZUGFeRD data\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " 3\n" + + " B\n" + + " \n" + + " \n" + + " 2014-07-11T13:39:46+02:00\n" + + " 2014-07-11T13:39:46+02:00\n" + + " zugferd_invoice.java\n" + + " 2014-07-11T13:39:46+02:00\n" + + " \n" + + " \n" + + " PDFlib Personalization Server 9.0.3 (JDK 1.6/Mac OS X-10.6 64)\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ZUGFeRD Rechnung $Revision: 1.13 $\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "", zi.getXMP()); // this resembles the data written in MustangReaderWriterCustomXMLTest assertEquals(amount, "1005.55");