Add three Java source files that enable SGTIN-96 EPC generation
directly from within the DELIVERY.xsl transformation:
- Gs1EpcEncoder.java: encodes SGTIN-96 (38-bit serial via MD5) and
SGTIN-198 (140-bit ASCII serial); serial derived from MD5(DOCNUM+POSNR+counter)
- Sgtin96Function.java: Saxon-HE ExtensionFunctionDefinition that
registers gs1:encodeSgtin96FromIdoc() for use in XSLT
- TransformAndEncode.java: Saxon s9api runner that registers the
extension and executes DELIVERY.xsl in a single pass
Also update .gitignore to track java/src/ while continuing to exclude
compiled output in java/bin/.
Both delivery paths (HU via E1EDL37/E1EDL44 and no-HU via E1EDL24) now
produce one SGTIN-96 XMLEPC per unit when EDI_DC40/TEST = 'X' and no
E1EPC03 URNs are present in the message. Serials are derived from
MD5(DOCNUM + SSCC+POSNR+counter) for HU items and MD5(DOCNUM + POSNR+counter)
for direct items, ensuring uniqueness across positions and handling units.
DeliveredQuantity in the no-HU path corrected from LGMNG to LFIMG.