updated doc

This commit is contained in:
jstaerk
2024-09-23 18:12:27 +02:00
parent 8af34a79f3
commit fa98b6710b
4 changed files with 59 additions and 15 deletions

View File

@@ -16,6 +16,8 @@
- #465 cli version should also be able to combine PDF/A-3 source - #465 cli version should also be able to combine PDF/A-3 source
- #487 update to zugferd 2.3.0 - #487 update to zugferd 2.3.0
- #472 Fix logging implementation missing in CLI - #472 Fix logging implementation missing in CLI
- #479 Re-Formatted and re-organized POMs - Part 2
2.13.0 2.13.0
======= =======

View File

@@ -34,14 +34,11 @@ If you set up a Maven project, you can reference the mustang artifact like this:
<dependency> <dependency>
<groupId>org.mustangproject</groupId> <groupId>org.mustangproject</groupId>
<artifactId>library</artifactId> <artifactId>library</artifactId>
<version>2.12.0</version> <version>2.14.0</version>
</dependency> </dependency>
``` ```
Further docs on how to develop **with** mustang: Further docs on how to develop **with** mustang:
- [ZugferdDev.en.pdf](https://github.com/ZUGFeRD/mustangproject/blob/master/doc/ZugferdDev.en.pdf?raw=true): The English mustang user documentation.
- [ZugferdDev.de.pdf](https://github.com/ZUGFeRD/mustangproject/blob/master/doc/ZugferdDev.de.pdf?raw=true): The German mustang user documentation.
- [Usage examples](https://www.mustangproject.org/use/): Read and write electronic invoices. - [Usage examples](https://www.mustangproject.org/use/): Read and write electronic invoices.
- [Mustang classes](https://www.mustangproject.org/invoice-class/): Using the mustang classes. - [Mustang classes](https://www.mustangproject.org/invoice-class/): Using the mustang classes.

View File

@@ -20,13 +20,13 @@ Additionally, the Mustang validator now also supports XRechnung 2, can now also
### Use on command line ### Use on command line
`java -jar Mustang-CLI-2.0.0-alpha3.jar --action=combine` embeds a XML into a PDF (A-1) file and exports as PDF/A-3 `java -jar Mustang-CLI-2.14.0.jar --action=combine` embeds a XML into a PDF (A-1) file and exports as PDF/A-3
`java -jar mustang-cli.jar --action=extract` extracts XML from a ZUGFeRD file and `java -jar Mustang-CLI-2.14.0.jar --action=extract` extracts XML from a ZUGFeRD file and
`java -jar mustang-cli.jar --action=validate` validates XML or PDF files. `java -jar Mustang-CLI-2.14.0.jar --action=validate` validates XML or PDF files.
`java -jar mustang-cli.jar --help` still outputs the parameters which can be used `java -jar Mustang-CLI-2.14.0.jar --help` still outputs the parameters which can be used
to for non-interactive (i.e., batch) processing. to for non-interactive (i.e., batch) processing.
@@ -38,11 +38,12 @@ from `-f` (ZUV) to the usual `--source`.
We're now on maven central, please remove the old github repository. Additionally, the following changed We're now on maven central, please remove the old github repository. Additionally, the following changed
| What | old value | new value | | What | old value | new value |
|---|---|---| |---|---|--------------------|
| Group id | org.mustangproject.zugferd | org.mustangproject | | Group id | org.mustangproject.zugferd | org.mustangproject |
| Artifact ID | mustang | library | | Artifact ID | mustang | library |
| Version | 1.7.8 | 2.0.0-alpha3 | | Version | 1.7.8 | 2.14.0 |
And please use the shaded classifier.
If you want you can also embed the validator in your software using validator If you want you can also embed the validator in your software using validator
as artifact ID. "validator" includes the library functionality but is >20 MB as artifact ID. "validator" includes the library functionality but is >20 MB
bigger due to its dependencies. bigger due to its dependencies.
@@ -200,7 +201,7 @@ read/write ZUGFeRD-invoices like the (smaller) library module.
<dependency> <dependency>
<groupId>org.mustangproject</groupId> <groupId>org.mustangproject</groupId>
<artifactId>validator</artifactId> <artifactId>validator</artifactId>
<version>2.0.0</version> <version>2.14.0</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -59,7 +59,7 @@ to validate the XML part of the invoices.
## New build ## New build
Target platform is java 1.11 Target platform is java 1.17
## Build ## Build
@@ -229,3 +229,47 @@ extract, rename xsl file to xslt, move to new version dir and add a if where the
* freshcode.club * freshcode.club
* Submit on openpr.de/.com, https://www.einpresswire.com/ * Submit on openpr.de/.com, https://www.einpresswire.com/
## Tips&amp;Inspriration
NodeList from a XPath https://github.com/ZUGFeRD/mustangproject/pull/476/files
```
xpr = xpath.compile("//*[local-name()=\"PrepaidAmount\"]");
NodeList prepaidNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
nodeMap.getNode("GlobalID").ifPresent(idNode -> {
if (idNode.hasAttributes()
&& idNode.getAttributes().getNamedItem("schemeID") != null) {
globalId = new SchemedID()
.setScheme(idNode.getAttributes().getNamedItem("schemeID").getNodeValue())
.setId(idNode.getTextContent());
}
});
```
nodeMap.getAsNodeMap and nodeMap.getAsString
```
nodeMap.getAsString("SellerAssignedID").ifPresent(this::setSellerAssignedID);
nodeMap.getAsString("BuyerAssignedID").ifPresent(this::setBuyerAssignedID);
nodeMap.getAsString("Name").ifPresent(this::setName);
nodeMap.getAsString("Description").ifPresent(this::setDescription);
nodeMap.getAsNodeMap("ApplicableProductCharacteristic").ifPresent(apcNodes -> {
String key = apcNodes.getAsStringOrNull("Description");
String value = apcNodes.getAsStringOrNull("Value");
if (key != null && value != null) {
if (attributes == null) {
attributes = new HashMap<>();
}
attributes.put(key, value);
}
});
nodeMap.getAsNodeMap("DesignatedProductClassification").ifPresent(dpcNodes -> {
String className = dpcNodes.getAsStringOrNull("ClassName");
dpcNodes.getNode("ClassCode").map(ClassCode::fromNode).ifPresent(classCode ->
classifications.add(new DesignatedProductClassification(classCode, className)));
});
nodeMap.getAsString("OriginTradeCounty").ifPresent(this::setCountryOfOrigin);
```