diff --git a/History.md b/History.md
index 69b160a8..c774653c 100644
--- a/History.md
+++ b/History.md
@@ -1,6 +1,7 @@
-- support multiple languages in visualization
-- support UBL input in visualization
-- resolve codelists in visualization
+2.7.0
+=======
+2023-04-17
+- support english and french output in factur-x visualization (read: conversion to HTML), UBL invoice and creditnote input+ resolve codelist attributes (thanks to https://jcthiele.github.io/xrechnung-visualization-codelist-resolve/)
2.6.2 "Happy Easter"
=======
diff --git a/NOTICE b/NOTICE
index 74216985..c13b8c75 100644
--- a/NOTICE
+++ b/NOTICE
@@ -29,6 +29,7 @@ Based on PH-Schematron https://github.com/phax/ph-schematron licensed under the
Based on CII2UBL https://github.com/phax/en16931-cii2ubl licensed under the APL2.0
Based on https://github.com/itplr-kosit/xrechnung-schematron licensed under the APL2.0
Based on https://github.com/itplr-kosit/xrechnung-visualization licensed under the APL2.0
+Based on https://jcthiele.github.io/xrechnung-visualization-codelist-resolve/ under the APL2.0
Based on Saxon-HE https://sourceforge.net/projects/saxon/ licensed under the MPL 2.0
Based on DOM4j https://dom4j.github.io/ licensed under the BSD license
Based on EN16931 validation artefacts https://github.com/ConnectingEurope/eInvoicing-EN16931 licensed under the EUPL 2.0
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java
index 29cfff26..6f08889f 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java
@@ -71,7 +71,8 @@ public class ZUGFeRDVisualizer {
new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/cii-xr.xsl")));
}
mXsltHTMLTemplate = mFactory.newTemplates(new StreamSource(
- CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html."+lang.name().toLowerCase()+".xsl")));
+ CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-pdf.xsl")));
+// CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html."+lang.name().toLowerCase()+".xsl")));
if (mXsltZF1HTMLTemplate==null) {
mXsltZF1HTMLTemplate = mFactory.newTemplates(new StreamSource(
CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/ZUGFeRD_1p0_c1p0_s1p0.xslt")));
diff --git a/library/src/main/resources/stylesheets/cii-xr.xsl b/library/src/main/resources/stylesheets/cii-xr.xsl
index a27035b5..fb1eefdf 100644
--- a/library/src/main/resources/stylesheets/cii-xr.xsl
+++ b/library/src/main/resources/stylesheets/cii-xr.xsl
@@ -3,7 +3,6 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
@@ -12,2533 +11,2149 @@
xmlns:saxon="http://saxon.sf.net/"
exclude-result-prefixes="#all"
version="2.0">
-
-
-
- Author:
- KoSIT Bremen (kosit@finanzen.bremen.de)
-
- Fassung vom: 2020-06-30+02:00
- modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00
- Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B
- in eine Instanz gemäß des Schemas für den Namensraum
- urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1.
-
- Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der
- Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert.
-
-
-
+
+
+
+ Author: KoSIT Bremen (kosit@finanzen.bremen.de)
+ Fassung vom: 2020-06-30+02:00
+ Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1.
+ Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert.
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #SKONTO#
-
- TAGE
- WOCHEN
-
- =#PROZENT=#
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ILLEGAL DATE FORMAT: <para>Mit diesem Datentyp wird ein kalendarisches Datum
- abgebildet, wie es in der ISO 8601 Spezifikation <quote>Calendar date complete representation</quote>
- beschrieben ist (siehe ISO 8601:2004, Abschnitt 5.2.1.1). Das Datum beinhaltet keine Zeitangabe. Das
- konkret zu verwendende Format ist abhängig von der genutzten Syntax.</para>
- <para>Der Datentyp basiert auf dem Typ <quote>Date Time. Type</quote>, wie in ISO
- 15000-5:2014 Anhang B definiert.</para>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
+
-
-
-
-
-
-
-
-
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
- /@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/common-xr.xsl b/library/src/main/resources/stylesheets/common-xr.xsl
new file mode 100644
index 00000000..6677599d
--- /dev/null
+++ b/library/src/main/resources/stylesheets/common-xr.xsl
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ILLEGAL DATE FORMAT of "".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
+
+
+
+
+
+
+
+
+
+
+ Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
+
+
+
+
+ /
+
+
+ [
+
+ ]
+
+
+
+ /@
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/functions.xsl b/library/src/main/resources/stylesheets/functions.xsl
new file mode 100644
index 00000000..d952c902
--- /dev/null
+++ b/library/src/main/resources/stylesheets/functions.xsl
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/library/src/main/resources/stylesheets/l10n/de.xml b/library/src/main/resources/stylesheets/l10n/de.xml
new file mode 100644
index 00000000..720f207b
--- /dev/null
+++ b/library/src/main/resources/stylesheets/l10n/de.xml
@@ -0,0 +1,257 @@
+
+
+ Leitweg-ID
+ Name
+ Adresszeile 1
+ Adresszeile 2
+ Adresszeile 3
+ PLZ
+ Ort
+ Ländercode
+ Kennung
+ Schema der Kennung
+ Name
+ Telefon
+ E-Mail-Adresse
+ Firmenname
+ Adresszeile 1
+ Adresszeile 2
+ Adresszeile 3
+ PLZ
+ Ort
+ Bundesland
+ Ländercode
+ Kennung
+ Schema der Kennung
+ Name
+ Telefon
+ E-Mail-Adresse
+ Rechnungsnummer
+ Rechnungsdatum
+ Rechnungsart
+ Währung
+ Projektnummer
+ Vertragsnummer
+ Bestellnummer
+ Auftragsnummer
+
+ Von
+ Bis
+ Rechnungsnummer
+ Rechnungsdatum
+ Summe aller Positionen
+ Summe Nachlässe
+ Summe Zuschläge
+ Gesamtsumme
+ Summe Umsatzsteuer
+ Summe Umsatzsteuer in Abrechnungswährung
+ Gesamtsumme
+ Gezahlter Betrag
+ Rundungsbetrag
+ Fälliger Betrag
+ Umsatzsteuerkategorie
+ Gesamtsumme
+ Umsatzsteuersatz
+ Umsatzsteuerbetrag
+ Befreiungsgrund
+ Kennung für den Befreiungsgrund
+
+ Umsatzsteuerkategorie des
+ Nachlasses
+ Grundbetrag
+ Prozentsatz
+ Nachlass
+ Umsatzsteuersatz des
+ Nachlasses
+ Grund für den Nachlass
+ Kennung für den Nachlassgrund
+
+ Umsatzsteuerkategorie des
+ Zuschlages
+ Grundbetrag
+ Prozentsatz
+ Zuschlag
+ Umsatzsteuersatz des Zuschlages
+ Grund für den Zuschlag
+ Kennung für den Zuschlagsgrund
+ Skonto; weitere Zahlungsbedingungen
+ Fälligkeitsdatum
+ Code für das Zahlungsmittel
+ Zahlungsmittel
+ Verwendungszweck
+ Kartennummer
+ Karteninhaber
+
+ Mandatsreferenznr.
+ IBAN
+ Gläubiger-ID
+
+ Kontoinhaber
+ IBAN
+ BIC
+ Betreff
+ Bemerkung
+
+ Abweichender Handelsname
+ Elektronische Adresse
+ Schema der elektronischen Adresse
+ Register-/Registriernummer
+ Schema der Registernummer
+ Umsatzsteuer-ID
+ Steuernummer
+ Weitere rechtliche Informationen
+ Code der Umsatzsteuerwährung
+
+ Name
+ Adresszeile 1
+ Adresszeile 2
+ Adresszeile 3
+ PLZ
+ Ort
+ Bundesland
+ Ländercode
+ Umsatzsteuer-ID
+
+ Abweichender Handelsname
+ Bundesland
+ Elektronische Adresse
+ Schema der elektronischen Adresse
+ Register-/Registriernummer
+ Schema der Register-/Registriernummer
+ Umsatzsteuer-ID
+ Abrechnungsdatum der Umsatzsteuer
+ Code des Umsatzsteuer-Abrechnungsdatums
+ Kontierungsinformation
+ Kennung des Lieferorts
+ Schema der Kennung
+ Lieferdatum
+ Name des Empfängers
+ Adresszeile 1
+ Adresszeile 2
+ Adresszeile 3
+ PLZ
+ Ort
+ Bundesland
+ Ländercode
+ Vergabenummer
+ Kennung der Empfangsbestätigung
+ Kennung der Versandanzeige
+ Prozesskennung
+ Spezifikationskennung
+ Objektkennung
+ Schema der Objektkennung
+
+ Name
+ Kennung
+ Schema der Kennung
+ Register-/Registriernummer
+ Schema der Register-/Registriernummer
+
+ Kennung
+ Beschreibung
+ Verweis (z.B. Internetadresse)
+ Anhangsdokument
+ Format des Anhangdokuments
+ Name des Anhangsdokuments
+ Datum/Uhrzeit
+ Betreff
+ Text
+ Details
+ Position
+ Freitext
+ Objektkennung
+ Schema der Objektkennung
+ Nummer der Auftragsposition
+ Kontierungshinweis
+ Von
+ Bis
+ Menge
+ Einheit
+ Preis pro Einheit (netto)
+ Gesamtpreis (netto)
+ Rabatt (netto)
+ Listenpreis (netto)
+ Basismenge zum Artikelpreis
+ Code der Maßeinheit
+ Umsatzsteuer
+ Umsatzsteuersatz
+ Bezeichnung
+ Beschreibung
+ Artikelnummer
+ Artikelkennung des Käufers
+ Artikelkennung
+ Schema der Artikelkennung
+ Code der Artikelklassifizierung
+ Kennung zur Bildung des Schemas
+ Version zur Bildung des Schemas
+ Code des Herkunftslandes
+ Grundbetrag (netto)
+ Prozentsatz
+ Nachlass (netto)
+ Grund des Nachlasses
+ Code für den Nachlassgrund
+ Grundbetrag (netto)
+ Prozentsatz
+ Zuschlag (netto)
+ Grund des Zuschlags
+ Code für den Zuschlagsgrund
+ Art der Fremdforderung
+ Betrag der Fremdforderung
+ Beschreibung der Fremdforderung
+ Übersicht
+ Informationen zum Käufer
+ Informationen zum Verkäufer
+ Rechnungsdaten
+ Gesamtbeträge der Rechnung
+ Fremdforderung
+ Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung
+ Nachlass auf Ebene der Rechnung
+ Zuschlag auf Ebene der Rechnung
+ Abrechnungszeitraum
+ Vorausgegangene Rechnungen
+ Zahlungsdaten
+ Karteninformation
+ Lastschrift
+ Überweisung
+ Bemerkungen zur Rechnung
+ Details
+ Abrechnungszeitraum
+ Preiseinzelheiten
+ Nachlässe auf Ebene der Rechnungsposition
+ Zuschläge auf Ebene der Rechnungsposition
+ Artikelinformationen
+ Eigenschaften des Artikels
+ Zusätze
+ Informationen zum Verkäufer
+ Steuervertreter des Verkäufers
+ Informationen zum Käufer
+ Lieferinformationen
+ Informationen zum Vertrag
+ Vom Verkäufer abweichender Zahlungsempfänger
+ Laufzettel
+ Bearbeitungshistorie
+ Anlagen
+ Rechnungsbegründende Unterlagen
+ [D].[M].[Y]
+ [D].[M].[Y] [H]:[m]:[s]
+ ###.##0,00
+ ##0,00
+ ###.##0,#################
+
+ Summe Fremdforderungen
+
+ Wir übernehmen keine Haftung für die Richtigkeit der Daten.
+ Bemerkungen zur Rechnung
+ Öffnen
+ Keine Daten vorhanden
+ netto
+ brutto
+ Bereiche ohne Inhalte werden nicht dargestellt!
+ Beschreibung
+ Preis
+ Preiseinheit
+ USt. Satz
+ St. Code
+ Gesamt
+ Seite
+
diff --git a/library/src/main/resources/stylesheets/l10n/en.xml b/library/src/main/resources/stylesheets/l10n/en.xml
new file mode 100644
index 00000000..24f69ed8
--- /dev/null
+++ b/library/src/main/resources/stylesheets/l10n/en.xml
@@ -0,0 +1,255 @@
+
+
+ Buyer reference
+ Name
+ Address line 1
+ Address line 2
+ Address line 3
+ ZIP
+ Location
+ Country code
+ Identifier
+ Scheme identifier
+ Contact point
+ Contact point phone
+ Contact point email
+ Company name
+ Address line 1
+ Address line 2
+ Address line 3
+ ZIP
+ Location
+ State
+ Country code
+ Identifier
+ Scheme identifier
+ Contact point
+ Contact point phone
+ Contact point email
+ Invoice number
+ Invoice date
+ Invoice type
+ Currency
+ Project reference
+ Contract reference
+ Purchase order reference
+ Sales order reference
+
+ From
+ To
+ Invoice number
+ Invoice date
+ Total invoice line net amount
+ Total allowances
+ Total charges
+ Total amount
+ Total VAT
+ Total VAT in accounting currency
+ Total
+ Already paid
+ Rounding amount
+ Amount due
+ VAT category
+ Total
+ VAT rate
+ VAT amount
+ Exemption reason
+ Exemption reason code
+
+ Allowance VAT category code
+ Base amount
+ Percentage
+ Amount
+ Allowance VAT rate
+ Allowance reason
+ Allowance reason code
+
+ Charge VAT category code
+ Base amount
+ Percentage
+ Amount
+ VAT rate
+ Charge Reason
+ Charge reason code
+ Payment terms
+ Due date
+ Payment means type code
+ Payment means
+ Remittance information
+ Card number
+ Card holder
+
+ Mandate reference no.
+ Debited account identifier
+ Creditor ID
+
+ Account holder
+ Account identifier
+ BIC
+ Subject code
+ Note
+
+ Different trading name
+ Electronic address
+ Electronic address
+ scheme
+ Legal registration identifier
+ Legal registration identifier scheme
+ VAT ID
+ Tax number
+ Further legal information
+ VAT accounting currency
+
+ Name
+ Address line 1
+ Address line 2
+ Address line 3
+ ZIP
+ Location
+ State
+ Country code
+ VAT ID
+
+ Different trading name
+ State
+ Electronic address
+ Electronic address scheme
+ Legal registration identifier
+ Legal registration identifier scheme
+ VAT ID
+ Value added tax point date
+ Value added tax point date code
+ Buyer accounting reference
+ Delivery location identifier
+ Identification scheme
+ Delivery date
+ Name of the recipient
+ Address line 1
+ Address line 2
+ Address line 3
+ ZIP
+ Location
+ State
+ Country code
+ Award reference
+ Receiving advice reference
+ Despatch advice reference
+ Process identifier
+ Specification identifier
+ Object identifier
+ Object identifier scheme
+
+ Name
+ Identifier
+ Identification scheme
+ Legal registration identifier
+ Legal registration identifier scheme
+
+ Identifier
+ Description
+ Location (e.g. Internet address )
+ Attached document
+ MIME type of the attached document
+ Name of the attachment document
+ Date / time
+ Subject
+ Text
+ Details
+ Identifier
+ Free text
+ Object identifier
+ Object identifier scheme
+ Order item number
+ Buyer accounting reference
+ From
+ To
+ Quantity
+ Unit
+ Price per unit (net)
+ Total price (net)
+ Discount (net)
+ List price (net)
+ Item price base quantity
+ Unit code
+ VAT category
+ VAT rate
+ Name
+ Description
+ Item identifier
+ Buyer's item identifier
+ Item standard identifier
+ Item standard identifier scheme
+ Item classification code
+ Item classification code scheme
+ Schema version
+ Country of origin
+ Base amount (net)
+ Percentage
+ Allowance (net)
+ Allowance reason
+ Allowance reason code
+ Base amount (net)
+ Percentage
+ Charge (net)
+ Reason for the Charge
+ Charge reason code
+ Third party payment type
+ Third party payment amount
+ Third party payment description
+ Overview
+ Information about the buyer
+ Information about the seller
+ Invoice data
+ Invoice totals
+ Third party payment
+ Sales tax breakdown at invoice level
+ Invoice level discount
+ Invoice level surcharge
+ Billing period
+ Previous invoices
+ Payment data
+ Card information
+ Direct debit
+ Transfer
+ Notes on the invoice
+ Details
+ Billing period
+ Price details
+ Allowances on invoice item level
+ Charges at invoice item level
+ Item information
+ Properties of the item
+ Supplements
+ Information about the seller
+ Tax representative of the seller
+ Information about the buyer
+ Delivery information
+ Information about the contract
+ Payee different from the seller
+ Routing slip
+ Processing history
+ Attachments
+ Documents justifying the invoice
+ [Y]-[M,2]-[D,2]
+ [Y]-[M,2]-[D,2] [H]:[m]:[s]
+ ###,##0.00
+ ##0.00
+ ###,##0.#################
+
+ Third party payment total
+
+ We assume no liability for the accuracy of the data.
+ Notes on the invoice
+ Open
+ No data available
+ net
+ gross
+ Areas without content are not displayed!
+ Description
+ Price
+ Price unit
+ VAT
+ Code
+ Total
+ Page
+
diff --git a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl
index da2b18c8..711a6f9f 100644
--- a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl
+++ b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl
@@ -15,31 +15,14 @@
Author: KoSIT Bremen (kosit@finanzen.bremen.de)
Fassung vom: 2020-06-30+02:00
- modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00
Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.CreditNote in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1.
Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -75,16 +58,7 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -126,6 +100,7 @@
+
@@ -162,36 +137,21 @@
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
@@ -206,12 +166,7 @@
-
-
-
-
-
-
+
-
-
-
-
+
@@ -385,10 +337,7 @@
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
-
-
+
-
@@ -600,25 +536,11 @@
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
@@ -638,10 +560,7 @@
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
@@ -910,12 +818,7 @@
-
-
-
-
-
-
+
@@ -947,10 +850,7 @@
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
+ match="/CreditNote:CreditNote/cac:PaymentMeans/cbc:PaymentMeansCode/@name">
@@ -1273,12 +1163,7 @@
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
@@ -1409,9 +1279,9 @@
+ select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:DocumentCurrencyCode = @currencyID]"/>
+ select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:TaxCurrencyCode = @currencyID]"/>
@@ -1543,12 +1413,7 @@
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
-
-
-
-
-
-
-
-
-
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
- /@
-
-
-
+
+
diff --git a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl
index 7bdec35d..b3031ba8 100644
--- a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl
+++ b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl
@@ -1,46 +1,31 @@
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
+ xmlns:Invoice="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
+ xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
+ xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
+ xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="#all" version="2.0">
Author: KoSIT Bremen (kosit@finanzen.bremen.de)
Fassung vom: 2020-06-30+02:00
- modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00
- Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1.
- Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert.
+ Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax
+ UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum
+ urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1.
+ Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML
+ Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das
+ Ergebnis nicht definiert.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -61,12 +46,15 @@
+ select="./cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"/>
-
+
@@ -74,16 +62,7 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -111,7 +90,7 @@
+ select="./cac:BillingReference/cac:InvoiceDocumentReference"/>
@@ -125,6 +104,7 @@
+
@@ -134,13 +114,14 @@
+ select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/>
+ select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/>
+
@@ -161,36 +142,21 @@
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
@@ -200,17 +166,11 @@
-
+
-
-
-
-
-
-
+
@@ -234,8 +194,7 @@
-
+
@@ -249,32 +208,28 @@
-
+
-
+
-
+
-
+
@@ -282,14 +237,11 @@
+ match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']">
-
-
-
-
+
@@ -307,8 +259,9 @@
-
+ match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference">
+
+
@@ -321,7 +274,7 @@
+ match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID">
@@ -329,7 +282,7 @@
+ match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate">
@@ -337,18 +290,19 @@
-
+
+
+ select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/>
+ select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
+ select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']"/>
+ select="./cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm"/>
@@ -362,7 +316,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName">
@@ -370,7 +324,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name">
@@ -378,29 +332,23 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID">
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID">
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']">
@@ -408,7 +356,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']">
@@ -416,7 +364,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm">
@@ -424,19 +372,17 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID">
-
-
-
-
+
-
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress">
+
+
@@ -454,7 +400,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName">
@@ -462,7 +408,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName">
@@ -470,7 +416,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line">
@@ -478,7 +424,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName">
@@ -486,7 +432,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone">
@@ -494,7 +440,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity">
@@ -502,21 +448,17 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode">
-
-
-
-
-
-
+
-
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact">
+
+
@@ -530,7 +472,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name">
@@ -538,7 +480,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone">
@@ -546,7 +488,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail">
@@ -554,16 +496,17 @@
-
+
+
+ select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/>
+ select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
@@ -577,7 +520,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName">
@@ -585,7 +528,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name">
@@ -593,29 +536,23 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID">
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID">
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']">
@@ -623,19 +560,17 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID">
-
-
-
-
+
-
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress">
+
+
@@ -653,7 +588,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName">
@@ -661,7 +596,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName">
@@ -669,7 +604,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line">
@@ -677,7 +612,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName">
@@ -685,7 +620,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone">
@@ -693,7 +628,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity">
@@ -701,21 +636,17 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode">
-
-
-
-
-
-
+
-
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact">
+
+
@@ -729,7 +660,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name">
@@ -737,7 +668,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Telephone">
@@ -745,7 +676,7 @@
+ match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail">
@@ -753,7 +684,8 @@
-
+
+
@@ -766,41 +698,34 @@
-
+
-
+
-
-
-
-
+
+ match="/Invoice:Invoice/cac:PayeeParty/cac:PartyLegalEntity/cbc:CompanyID">
-
-
-
-
+
-
+
+
+ select="./cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
@@ -812,7 +737,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyName/cbc:Name">
@@ -820,16 +745,16 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']">
-
-
+
+
+
@@ -847,7 +772,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:StreetName">
@@ -855,7 +780,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:AdditionalStreetName">
@@ -863,7 +788,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine/cbc:Line">
@@ -871,7 +796,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CityName">
@@ -879,7 +804,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:PostalZone">
@@ -887,7 +812,7 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CountrySubentity">
@@ -895,20 +820,16 @@
+ match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode">
-
-
-
-
-
-
+
-
+
+
@@ -924,26 +845,21 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name">
-
+
-
-
-
-
+
-
+
@@ -951,7 +867,8 @@
-
+
+
@@ -977,9 +894,9 @@
-
-
+
+
+
@@ -997,7 +914,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName">
@@ -1005,7 +922,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName">
@@ -1013,7 +930,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line">
@@ -1021,7 +938,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName">
@@ -1029,7 +946,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone">
@@ -1037,7 +954,7 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CountrySubentity">
@@ -1045,33 +962,21 @@
+ match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode">
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
+
-
+
@@ -1085,9 +990,9 @@
-
-
+
+
+
@@ -1101,7 +1006,7 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID">
@@ -1109,7 +1014,7 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:Name">
@@ -1117,7 +1022,7 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID">
@@ -1125,7 +1030,8 @@
-
+
+
@@ -1138,7 +1044,7 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID">
@@ -1146,21 +1052,21 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName">
-
-
+
+
+
+ select="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/>
+ select="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/>
@@ -1171,8 +1077,7 @@
-
+
@@ -1180,7 +1085,7 @@
+ match="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']">
@@ -1188,7 +1093,7 @@
+ match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']">
@@ -1196,7 +1101,7 @@
+ match="/Invoice:Invoice/cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID">
@@ -1204,22 +1109,24 @@
-
+ match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']">
+
+
+ select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
+ select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"
+ />
@@ -1230,7 +1137,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1238,7 +1145,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1246,7 +1153,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1254,20 +1161,15 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']">
-
-
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']">
@@ -1275,7 +1177,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1283,35 +1185,32 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']">
-
-
-
-
-
-
+
-
+ match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']">
+
+
+ select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/>
+ select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"
+ />
@@ -1322,7 +1221,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1330,7 +1229,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1338,7 +1237,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1346,20 +1245,15 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']">
-
-
-
-
-
-
+
+ match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']">
@@ -1367,7 +1261,7 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1375,26 +1269,24 @@
+ match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']">
-
-
-
-
-
-
+
-
+
+
-
-
+
+
@@ -1409,7 +1301,7 @@
+ match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount">
@@ -1417,15 +1309,14 @@
+ match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount">
-
+
@@ -1433,7 +1324,7 @@
+ match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount">
@@ -1455,15 +1346,14 @@
+ match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount">
-
+
@@ -1471,15 +1361,14 @@
+ match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount">
-
+
@@ -1487,11 +1376,12 @@
-
+
+
+ select="./cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
@@ -1505,15 +1395,14 @@
+ match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount">
-
+
@@ -1521,20 +1410,15 @@
+ match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']">
-
-
-
-
-
-
+
+ match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent">
@@ -1542,7 +1426,7 @@
+ match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason">
@@ -1550,25 +1434,21 @@
+ match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode">
-
-
-
-
-
-
+
-
+
+
+ select="./cac:Attachment/cbc:EmbeddedDocumentBinaryObject"/>
@@ -1578,8 +1458,7 @@
-
+
@@ -1587,7 +1466,7 @@
+ match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription">
@@ -1595,7 +1474,7 @@
+ match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI">
@@ -1603,7 +1482,7 @@
+ match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject">
@@ -1611,11 +1490,13 @@
-
+
+
+ select="./cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"/>
+
@@ -1623,9 +1504,9 @@
+ select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/>
+ select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/>
@@ -1654,55 +1535,42 @@
+ match="cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']">
-
-
-
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
-
+
@@ -1710,7 +1578,8 @@
-
+
+
@@ -1722,35 +1591,34 @@
-
+
-
+
-
-
+
+
+
+ select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"
+ />
@@ -1761,7 +1629,7 @@
+ match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1769,7 +1637,7 @@
+ match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1777,7 +1645,7 @@
+ match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1785,7 +1653,7 @@
+ match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1793,31 +1661,27 @@
+ match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']">
-
-
-
-
-
-
+
-
-
+
+
+
+ select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"
+ />
@@ -1828,7 +1692,7 @@
+ match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1836,7 +1700,7 @@
+ match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1844,7 +1708,7 @@
+ match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1852,7 +1716,7 @@
+ match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']">
@@ -1860,25 +1724,21 @@
+ match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']">
-
-
-
-
-
-
+
-
+
+
+ select="./cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="./cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
@@ -1890,8 +1750,7 @@
-
+
@@ -1899,7 +1758,7 @@
+ match="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']">
@@ -1907,37 +1766,30 @@
+ match="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']">
-
+
-
+
-
-
-
-
-
-
+
-
-
+
+
+
@@ -1949,21 +1801,14 @@
-
+
-
-
-
-
-
-
+
-
+
@@ -1971,14 +1816,15 @@
-
+
+
+ select="./cac:CommodityClassification/cbc:ItemClassificationCode"/>
@@ -1990,76 +1836,59 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+ match="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode">
-
-
-
-
+
-
+
-
-
-
-
-
-
+
-
-
+
+
+
@@ -2071,16 +1900,14 @@
-
+
-
+
@@ -2088,7 +1915,8 @@
-
+
+
-
+
-
+
+
+ select="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode"/>
+ select="cac:Item/cac:OriginCountry/cbc:IdentificationCode"/>
@@ -2136,10 +1965,10 @@
-
-
-
+
+
+
+
@@ -2150,20 +1979,22 @@
-
+
-
+ match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']">
+
+
+ select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"
+ />
@@ -2174,18 +2005,20 @@
-
+ match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']">
+
+
+ select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/>
+ select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"
+ />
@@ -2196,7 +2029,8 @@
-
+
+
@@ -2209,9 +2043,11 @@
-
+
+
-
+
@@ -2220,14 +2056,15 @@
-
+
-
+
+
+ select="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
+ select="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/>
@@ -2239,140 +2076,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
-
-
-
-
-
+
+
+
+
+
-
-
-
- Liefert einen XPath-Pfad, welches $n eindeutig identifiziert.
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
- /@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/xr-content.xsl b/library/src/main/resources/stylesheets/xr-content.xsl
new file mode 100644
index 00000000..5c4207ad
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-content.xsl
@@ -0,0 +1,935 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/xr-pdf.xsl b/library/src/main/resources/stylesheets/xr-pdf.xsl
new file mode 100644
index 00000000..153dba41
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-pdf.xsl
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ normal
+
+
+ normal
+
+
+ 2 7 2 2 2 2 1.3 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl
new file mode 100644
index 00000000..de3b5459
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl
@@ -0,0 +1,235 @@
+
+
+
+
+
+ SourceSerifPro
+ SourceSerifPro
+
+
+
+
+
+
+
+
+
+
+ 9pt
+ 12pt
+ 3
+ true
+ de
+
+
+
+
+ 18pt
+
+ false
+ all
+
+
+
+
+ 18pt
+
+ bold
+ 4mm
+ false
+ all
+ always
+
+
+
+
+ 0.5pt solid
+ 2.5pt
+ all
+ 4mm
+ always
+
+
+
+
+ 9pt
+
+ bold
+ 0.5pt solid
+ 4pt 6pt
+ always
+ 0
+
+
+
+
+ 10pt
+
+ bold
+ 1mm
+ 2mm
+ 2mm
+ all
+ always
+
+
+
+
+ 2mm
+ 3mm
+ 0.5pt dotted
+ #999999
+ always
+
+
+
+ #eeeeee
+ 28
+
+
+ 7pt
+ 10pt
+ 1mm
+ 1mm
+ 2mm
+ 1mm
+
+
+
+ 9pt
+ 10pt
+
+ 1mm
+ 1mm
+ 2mm
+ 2mm
+ always
+
+
+
+
+ 9pt
+ left
+ 0.2mm
+ 0.2mm
+ 0mm
+ 1mm
+ 0mm
+ always
+
+
+
+ 9pt
+ left
+ 0.2mm
+ 0.2mm
+ 0mm
+ 1mm
+ 0mm
+ always
+
+
+
+ 9pt
+ right
+ 0.2mm
+ 0.2mm
+ 0mm
+ 0mm
+ 0mm
+ always
+
+
+
+ 9pt
+ left
+ 0.4mm
+ 0.2mm
+ 0mm
+ 1mm
+ 0.1pt solid #999999
+ always
+
+
+
+ 9pt
+ left
+ 0.4mm
+ 0.2mm
+ 0mm
+ 1mm
+ 0.1pt solid #999999
+ always
+
+
+
+ 9pt
+ bold
+ right
+ 0.4mm
+ 0.2mm
+ 0mm
+ 0mm
+ 0.1pt solid #999999
+ always
+
+
+
+
+ 10mm
+
+
+
+ 2mm
+ always
+ all
+
+
+
+ 2mm
+
+
+
+
+ 2pt
+ 2pt
+ 100%
+ fixed
+ 2mm
+
+
+
+ bold
+
+
+
+
+
+
+
+
+ 80%
+ italic
+
+
+
+ 2pt
+ 2pt
+ 100%
+ fixed
+ 80%
+ italic
+
+
+
\ No newline at end of file
diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl
new file mode 100644
index 00000000..de3c25aa
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl
@@ -0,0 +1,972 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ zweispaltig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ zweispaltig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ zweispaltig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(embedded-file:)
+
+
+
+
+
+
+
+
+ data:application/pdf;base64,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ h1
+
+
+
+
+
+
+
+
+
+
+ h2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl
new file mode 100644
index 00000000..ef3bc411
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl
new file mode 100644
index 00000000..864c29db
--- /dev/null
+++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file