updated visualization
This commit is contained in:
@@ -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"
|
||||
=======
|
||||
|
||||
1
NOTICE
1
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
|
||||
|
||||
@@ -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")));
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
139
library/src/main/resources/stylesheets/common-xr.xsl
Normal file
139
library/src/main/resources/stylesheets/common-xr.xsl
Normal file
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
exclude-result-prefixes="xs" version="2.0">
|
||||
|
||||
<xsl:include href="functions.xsl"/>
|
||||
|
||||
<xsl:variable name="datepattern" as="xs:string" select="'^[0-9]{8}'" />
|
||||
|
||||
|
||||
<xsl:template name="text">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="date">
|
||||
<xsl:variable name="normalizeddate" select="normalize-space(replace(., '-', ''))" />
|
||||
<xsl:variable name="datematch" as="xs:boolean"
|
||||
select="matches($normalizeddate, $datepattern)" />
|
||||
<xsl:variable name="year" as="xs:integer">
|
||||
<xsl:variable name="yearstring" select="substring($normalizeddate, 1, 4)" />
|
||||
<xsl:value-of select="
|
||||
if (matches($yearstring, '^[0-9]{4}')
|
||||
and xs:integer($yearstring) > 0)
|
||||
then
|
||||
xs:integer($yearstring)
|
||||
else
|
||||
0
|
||||
" />
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="month" as="xs:integer">
|
||||
<xsl:variable name="monthstring" select="substring($normalizeddate, 5, 2)" />
|
||||
<xsl:value-of select="
|
||||
if (matches($monthstring, '^[0-9]{2}') and xs:integer($monthstring) > 0 and xs:integer($monthstring) < 13) then
|
||||
xs:integer($monthstring)
|
||||
else
|
||||
0" />
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="day" as="xs:integer">
|
||||
<xsl:variable name="daystring" select="substring($normalizeddate, 7, 2)" />
|
||||
<xsl:value-of select="
|
||||
if (matches($daystring, '^[0-9]{2}') and xs:integer($daystring) > 0 and xs:integer($daystring) < 32) then
|
||||
xs:integer($daystring)
|
||||
else
|
||||
0" />
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$year > 0 and $month > 0 and $day > 0">
|
||||
<xsl:value-of
|
||||
select="xs:date(concat($year, '-', format-number($month, '00'), '-', format-number($day, '00')))"
|
||||
/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>ILLEGAL DATE FORMAT of "<xsl:value-of select="." />".</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
<xsl:template name="identifier">
|
||||
<xsl:if test="@listID | @schemeID">
|
||||
<xsl:attribute name="scheme_identifier" select="(@listID, @schemeID)[1]" />
|
||||
</xsl:if>
|
||||
<xsl:if test="@schemeVersionID | @listVersionID">
|
||||
<xsl:attribute name="scheme_version_identifier"
|
||||
select="(@listVersionID, @schemeVersionID)[1]" />
|
||||
</xsl:if>
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="identifier-with-scheme">
|
||||
<xsl:param name="schemeID" as="element()?" />
|
||||
<xsl:if test="@schemeID">
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, @listID, @schemeID)[1]" />
|
||||
</xsl:if>
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="code">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="amount">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="percentage">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="binary_object">
|
||||
<xsl:if test="@mimeCode">
|
||||
<xsl:attribute name="mime_code">
|
||||
<xsl:value-of select="@mimeCode" />
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="@filename">
|
||||
<xsl:attribute name="filename">
|
||||
<xsl:value-of select="@filename" />
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="unit_price_amount">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="quantity">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xsl:template name="document_reference">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<xd:doc>
|
||||
<xd:desc> Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. </xd:desc>
|
||||
<xd:param name="n" />
|
||||
</xd:doc>
|
||||
<xsl:function name="xr:src-path" as="xs:string">
|
||||
<xsl:param name="n" as="node()" />
|
||||
<xsl:variable name="segments" as="xs:string*">
|
||||
<xsl:apply-templates select="$n" mode="xr:src-path" />
|
||||
</xsl:variable>
|
||||
<xsl:sequence select="string-join($segments, '')" />
|
||||
</xsl:function>
|
||||
<xd:doc>
|
||||
<xd:desc> Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. </xd:desc>
|
||||
<xd:param name="n" />
|
||||
</xd:doc>
|
||||
<xsl:template match="node() | @*" mode="xr:src-path">
|
||||
<xsl:for-each select="ancestor-or-self::*">
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="name(.)" />
|
||||
<xsl:if
|
||||
test="preceding-sibling::*[name(.) = name(current())] or following-sibling::*[name(.) = name(current())]">
|
||||
<xsl:text>[</xsl:text>
|
||||
<xsl:value-of select="count(preceding-sibling::*[name(.) = name(current())]) + 1" />
|
||||
<xsl:text>]</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<xsl:if test="not(self::*)">
|
||||
<xsl:text />/@<xsl:value-of select="name(.)" />
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
138
library/src/main/resources/stylesheets/functions.xsl
Normal file
138
library/src/main/resources/stylesheets/functions.xsl
Normal file
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:math="http://www.w3.org/2005/xpath-functions/math"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
exclude-result-prefixes="xs math xrf"
|
||||
version="2.0">
|
||||
|
||||
<!-- Language of output -->
|
||||
<xsl:param name="lang" select="'de'"/>
|
||||
|
||||
<!-- Enable fallback lookup based on natural string in German -->
|
||||
<xsl:param name="l10n-nl-lookup" select="false()"/>
|
||||
|
||||
<!-- Filename with language file -->
|
||||
<xsl:variable name="l10n-filename" select="'l10n/' || $lang || '.xml'"/>
|
||||
|
||||
<!-- Master localization file is German, it is used when key uses natural text in German to lookup proper key -->
|
||||
<xsl:variable name="l10n-master-filename" select="'l10n/de.xml'"/>
|
||||
|
||||
<!-- Variable holding contents of l10n file -->
|
||||
<xsl:variable name="l10n-doc">
|
||||
<xsl:choose>
|
||||
<xsl:when test="doc-available($l10n-filename)">
|
||||
<xsl:sequence select="doc($l10n-filename)"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="doc-available($l10n-master-filename)">
|
||||
<xsl:sequence select="doc($l10n-master-filename)"/>
|
||||
<!--<xsl:message>Unable to find localization for {$lang}. Using default from de.xml.</xsl:message>-->
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--<xsl:message>Unable to find localization for {$lang}. Can't load default from de.xml. Using empty localization.</xsl:message>-->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Variable holding contents of master l10n file -->
|
||||
<xsl:variable name="l10n-master-doc">
|
||||
<xsl:choose>
|
||||
<xsl:when test="doc-available($l10n-master-filename)">
|
||||
<xsl:sequence select="doc($l10n-master-filename)"/>
|
||||
<!--<xsl:message>Unable to find localization for {$lang}. Using default from de.xml.</xsl:message>-->
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--<xsl:message>Unable to find localization for {$lang}. Can't load default from de.xml. Using empty localization.</xsl:message>-->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Key for quicker lookups of localized strings -->
|
||||
<xsl:key name="l10n" match="entry" use="@key"/>
|
||||
|
||||
<!-- Key for quicker lookups of key for string -->
|
||||
<xsl:key name="l10n-key" match="entry" use="normalize-space(.)"/>
|
||||
|
||||
<!-- Function returning localized string -->
|
||||
<xsl:function name="xrf:_" as="xs:string">
|
||||
<xsl:param name="key" as="xs:string"/>
|
||||
|
||||
<xsl:variable name="localized" select="key('l10n', $key, $l10n-doc)"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$localized">
|
||||
<xsl:sequence select="string($localized)"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="$l10n-nl-lookup">
|
||||
<!-- Some transformations use natural text in German as translation keys -->
|
||||
<xsl:variable name="key2" select="(key('l10n-key', $key, $l10n-master-doc)/@key)[1]"/>
|
||||
<xsl:variable name="localized2" select="key('l10n', $key2, $l10n-doc)"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$localized2">
|
||||
<xsl:sequence select="string($localized2)"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:sequence select="$key"/>
|
||||
<!--<xsl:message>Unable to find localization for {$key}.</xsl:message>-->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:sequence select="'???' || $key || '???'"/>
|
||||
<!--<xsl:message>Unable to find localization for {$key}.</xsl:message>-->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:function>
|
||||
|
||||
<!-- Function returning ID of localized string.
|
||||
ID is holding original BT/BG number from EU norm -->
|
||||
<xsl:function name="xrf:get-id" as="xs:string">
|
||||
<xsl:param name="key" as="xs:string"/>
|
||||
|
||||
<xsl:variable name="localized" select="key('l10n', $key, $l10n-doc)"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$localized/@id">
|
||||
<xsl:sequence select="$localized/@id"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:sequence select="'???'"/>
|
||||
<!--<xsl:message>Unable to find BT/BG id for {$key}.</xsl:message>-->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:function>
|
||||
|
||||
<!-- We are emulating older template for getting labels in order to maintain backward compatability -->
|
||||
<xsl:template name="field-mapping">
|
||||
<xsl:param name="identifier"/>
|
||||
|
||||
<label><xsl:value-of select="xrf:_($identifier)"/></label>
|
||||
<nummer><xsl:value-of select="xrf:get-id($identifier)"/></nummer>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:function name="xrf:field-label" as="xs:string">
|
||||
<xsl:param name="identifier"/>
|
||||
|
||||
<xsl:sequence select="xrf:_($identifier)"></xsl:sequence>
|
||||
</xsl:function>
|
||||
|
||||
<xsl:variable name="amount-picture" select="xrf:_('amount-format')" />
|
||||
<xsl:variable name="at-least-two-picture" select="xrf:_('at-least-two-format')" />
|
||||
|
||||
<xsl:function name="xrf:format-with-at-least-two-digits" as="xs:string">
|
||||
<xsl:param name="input-number"/>
|
||||
<xsl:param name="lang"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(substring-after(xs:string($input-number), '.'))>2">
|
||||
<xsl:sequence select="format-number($input-number,$at-least-two-picture,$lang)"></xsl:sequence>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:sequence select="format-number($input-number,$amount-picture,$lang)"></xsl:sequence>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:function>
|
||||
|
||||
</xsl:stylesheet>
|
||||
257
library/src/main/resources/stylesheets/l10n/de.xml
Normal file
257
library/src/main/resources/stylesheets/l10n/de.xml
Normal file
@@ -0,0 +1,257 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<properties>
|
||||
<entry key="xr:Buyer_reference" id="BT-10">Leitweg-ID</entry>
|
||||
<entry key="xr:Buyer_name" id="BT-44">Name</entry>
|
||||
<entry key="xr:Buyer_address_line_1" id="BT-50">Adresszeile 1</entry>
|
||||
<entry key="xr:Buyer_address_line_2" id="BT-51">Adresszeile 2</entry>
|
||||
<entry key="xr:Buyer_address_line_3" id="BT-163">Adresszeile 3</entry>
|
||||
<entry key="xr:Buyer_post_code" id="BT-53">PLZ</entry>
|
||||
<entry key="xr:Buyer_city" id="BT-52">Ort</entry>
|
||||
<entry key="xr:Buyer_country_code" id="BT-55">Ländercode</entry>
|
||||
<entry key="xr:Buyer_identifier" id="BT-46">Kennung</entry>
|
||||
<entry key="xr:Buyer_identifier/@scheme_identifier" id="BT-46_scheme">Schema der Kennung</entry>
|
||||
<entry key="xr:Buyer_contact_point" id="BT-56">Name</entry>
|
||||
<entry key="xr:Buyer_contact_telephone_number" id="BT-57">Telefon</entry>
|
||||
<entry key="xr:Buyer_contact_email_address" id="BT-58">E-Mail-Adresse</entry>
|
||||
<entry key="xr:Seller_name" id="BT-27">Firmenname</entry>
|
||||
<entry key="xr:Seller_address_line_1" id="BT-35">Adresszeile 1</entry>
|
||||
<entry key="xr:Seller_address_line_2" id="BT-36">Adresszeile 2</entry>
|
||||
<entry key="xr:Seller_address_line_3" id="BT-162">Adresszeile 3</entry>
|
||||
<entry key="xr:Seller_post_code" id="BT-38">PLZ</entry>
|
||||
<entry key="xr:Seller_city" id="BT-37">Ort</entry>
|
||||
<entry key="xr:Seller_country_subdivision" id="BT-39">Bundesland</entry>
|
||||
<entry key="xr:Seller_country_code" id="BT-40">Ländercode</entry>
|
||||
<entry key="xr:Seller_identifier" id="BT-29">Kennung</entry>
|
||||
<entry key="xr:Seller_identifier/@scheme_identifier" id="BT-29_scheme">Schema der Kennung</entry>
|
||||
<entry key="xr:Seller_contact_point" id="BT-41">Name</entry>
|
||||
<entry key="xr:Seller_contact_telephone_number" id="BT-42">Telefon</entry>
|
||||
<entry key="xr:Seller_contact_email_address" id="BT-43">E-Mail-Adresse</entry>
|
||||
<entry key="xr:Invoice_number" id="BT-1">Rechnungsnummer</entry>
|
||||
<entry key="xr:Invoice_issue_date" id="BT-2">Rechnungsdatum</entry>
|
||||
<entry key="xr:Invoice_type_code" id="BT-3">Rechnungsart</entry>
|
||||
<entry key="xr:Invoice_currency_code" id="BT-5">Währung</entry>
|
||||
<entry key="xr:Project_reference" id="BT-11">Projektnummer</entry>
|
||||
<entry key="xr:Contract_reference" id="BT-12">Vertragsnummer</entry>
|
||||
<entry key="xr:Purchase_order_reference" id="BT-13">Bestellnummer</entry>
|
||||
<entry key="xr:Sales_order_reference" id="BT-14">Auftragsnummer</entry>
|
||||
<!-- Be aware that these are for the whole invoice -->
|
||||
<entry key="xr:Invoicing_period_start_date" id="BT-73">Von</entry>
|
||||
<entry key="xr:Invoicing_period_end_date" id="BT-74">Bis</entry>
|
||||
<entry key="xr:Preceding_Invoice_reference" id="BT-25">Rechnungsnummer</entry>
|
||||
<entry key="xr:Preceding_Invoice_issue_date" id="BT-26">Rechnungsdatum</entry>
|
||||
<entry key="xr:Sum_of_Invoice_line_net_amount" id="BT-106">Summe aller Positionen</entry>
|
||||
<entry key="xr:Sum_of_allowances_on_document_level" id="BT-107">Summe Nachlässe</entry>
|
||||
<entry key="xr:Sum_of_charges_on_document_level" id="BT-108">Summe Zuschläge</entry>
|
||||
<entry key="xr:Invoice_total_amount_without_VAT" id="BT-109">Gesamtsumme</entry>
|
||||
<entry key="xr:Invoice_total_VAT_amount" id="BT-110">Summe Umsatzsteuer</entry>
|
||||
<entry key="xr:Invoice_total_VAT_amount_in_accounting_currency" id="BT-111">Summe Umsatzsteuer in Abrechnungswährung</entry>
|
||||
<entry key="xr:Invoice_total_amount_with_VAT" id="BT-112">Gesamtsumme</entry>
|
||||
<entry key="xr:Paid_amount" id="BT-113">Gezahlter Betrag</entry>
|
||||
<entry key="xr:Rounding_amount" id="BT-114">Rundungsbetrag</entry>
|
||||
<entry key="xr:Amount_due_for_payment" id="BT-115">Fälliger Betrag</entry>
|
||||
<entry key="xr:VAT_category_code" id="BT-118">Umsatzsteuerkategorie</entry>
|
||||
<entry key="xr:VAT_category_taxable_amount" id="BT-116">Gesamtsumme</entry>
|
||||
<entry key="xr:VAT_category_rate" id="BT-119">Umsatzsteuersatz</entry>
|
||||
<entry key="xr:VAT_category_tax_amount" id="BT-117">Umsatzsteuerbetrag</entry>
|
||||
<entry key="xr:VAT_exemption_reason_text" id="BT-120">Befreiungsgrund</entry>
|
||||
<entry key="xr:VAT_exemption_reason_code" id="BT-121">Kennung für den Befreiungsgrund</entry>
|
||||
<!-- Nachlaesse -->
|
||||
<entry key="xr:Document_level_allowance_VAT_category_code" id="BT-95">Umsatzsteuerkategorie des
|
||||
Nachlasses</entry>
|
||||
<entry key="xr:Document_level_allowance_base_amount" id="BT-93">Grundbetrag</entry>
|
||||
<entry key="xr:Document_level_allowance_percentage" id="BT-94">Prozentsatz</entry>
|
||||
<entry key="xr:Document_level_allowance_amount" id="BT-92">Nachlass</entry>
|
||||
<entry key="xr:Document_level_allowance_VAT_rate" id="BT-96">Umsatzsteuersatz des
|
||||
Nachlasses</entry>
|
||||
<entry key="xr:Document_level_allowance_reason" id="BT-97">Grund für den Nachlass</entry>
|
||||
<entry key="xr:Document_level_allowance_reason_code" id="BT-98">Kennung für den Nachlassgrund</entry>
|
||||
<!-- Zuschlaege -->
|
||||
<entry key="xr:Document_level_charge_VAT_category_code" id="BT-102">Umsatzsteuerkategorie des
|
||||
Zuschlages</entry>
|
||||
<entry key="xr:Document_level_charge_base_amount" id="BT-100">Grundbetrag</entry>
|
||||
<entry key="xr:Document_level_charge_percentage" id="BT-101">Prozentsatz</entry>
|
||||
<entry key="xr:Document_level_charge_amount" id="BT-99">Zuschlag</entry>
|
||||
<entry key="xr:Document_level_charge_VAT_rate" id="BT-103">Umsatzsteuersatz des Zuschlages</entry>
|
||||
<entry key="xr:Document_level_charge_reason" id="BT-104">Grund für den Zuschlag</entry>
|
||||
<entry key="xr:Document_level_charge_reason_code" id="BT-105">Kennung für den Zuschlagsgrund</entry>
|
||||
<entry key="xr:Payment_terms" id="BT-20">Skonto; weitere Zahlungsbedingungen</entry>
|
||||
<entry key="xr:Payment_due_date" id="BT-9">Fälligkeitsdatum</entry>
|
||||
<entry key="xr:Payment_means_type_code" id="BT-81">Code für das Zahlungsmittel</entry>
|
||||
<entry key="xr:Payment_means_text" id="BT-82">Zahlungsmittel</entry>
|
||||
<entry key="xr:Remittance_information" id="BT-83">Verwendungszweck</entry>
|
||||
<entry key="xr:Payment_card_primary_account_number" id="BT-87">Kartennummer</entry>
|
||||
<entry key="xr:Payment_card_holder_name" id="BT-88">Karteninhaber</entry>
|
||||
<!-- BG-19 Direct Debit -->
|
||||
<entry key="xr:Mandate_reference_identifier" id="BT-89">Mandatsreferenznr.</entry>
|
||||
<entry key="xr:Debited_account_identifier" id="BT-91">IBAN</entry>
|
||||
<entry key="xr:Bank_assigned_creditor_identifier" id="BT-90">Gläubiger-ID</entry>
|
||||
<!-- BG-17 Credit Transfer-->
|
||||
<entry key="xr:Payment_account_name" id="BT-85">Kontoinhaber</entry>
|
||||
<entry key="xr:Payment_account_identifier" id="BT-84">IBAN</entry>
|
||||
<entry key="xr:Payment_service_provider_identifier" id="BT-86">BIC</entry>
|
||||
<entry key="xr:Invoice_note_subject_code" id="BT-21">Betreff</entry>
|
||||
<entry key="xr:Invoice_note" id="BT-22">Bemerkung</entry>
|
||||
<!-- BG-4 Seller and others -->
|
||||
<entry key="xr:Seller_trading_name" id="BT-28">Abweichender Handelsname</entry>
|
||||
<entry key="xr:Seller_electronic_address" id="BT-34">Elektronische Adresse</entry>
|
||||
<entry key="xr:Seller_electronic_address/@scheme_identifier" id="BT-34_scheme">Schema der elektronischen Adresse</entry>
|
||||
<entry key="xr:Seller_legal_registration_identifier" id="BT-30">Register-/Registriernummer</entry>
|
||||
<entry key="xr:Seller_legal_registration_identifier/@scheme_identifier" id="BT-30_scheme">Schema der Registernummer</entry>
|
||||
<entry key="xr:Seller_VAT_identifier" id="BT-31">Umsatzsteuer-ID</entry>
|
||||
<entry key="xr:Seller_tax_registration_identifier" id="BT-32">Steuernummer</entry>
|
||||
<entry key="xr:Seller_additional_legal_information" id="BT-33">Weitere rechtliche Informationen</entry>
|
||||
<entry key="xr:VAT_accounting_currency_code" id="BT-6">Code der Umsatzsteuerwährung</entry>
|
||||
<!-- BG 12 and 11 Tax Representative party -->
|
||||
<entry key="xr:Seller_tax_representative_name" id="BT-62">Name</entry>
|
||||
<entry key="xr:Tax_representative_address_line_1" id="BT-64">Adresszeile 1</entry>
|
||||
<entry key="xr:Tax_representative_address_line_2" id="BT-65">Adresszeile 2</entry>
|
||||
<entry key="xr:Tax_representative_address_line_3" id="BT-164">Adresszeile 3</entry>
|
||||
<entry key="xr:Tax_representative_post_code" id="BT-67">PLZ</entry>
|
||||
<entry key="xr:Tax_representative_city" id="BT-66">Ort</entry>
|
||||
<entry key="xr:Tax_representative_country_subdivision" id="BT-68">Bundesland</entry>
|
||||
<entry key="xr:Tax_representative_country_code" id="BT-69">Ländercode</entry>
|
||||
<entry key="xr:Seller_tax_representative_VAT_identifier" id="BT-63">Umsatzsteuer-ID</entry>
|
||||
<!-- Additional buyer information from different bgs -->
|
||||
<entry key="xr:Buyer_trading_name" id="BT-45">Abweichender Handelsname</entry>
|
||||
<entry key="xr:Buyer_country_subdivision" id="BT-54">Bundesland</entry>
|
||||
<entry key="xr:Buyer_electronic_address" id="BT-49">Elektronische Adresse</entry>
|
||||
<entry key="xr:Buyer_electronic_address/@scheme_identifier" id="BT-49_scheme">Schema der elektronischen Adresse</entry>
|
||||
<entry key="xr:Buyer_legal_registration_identifier" id="BT-47">Register-/Registriernummer</entry>
|
||||
<entry key="xr:Buyer_legal_registration_identifier/@scheme_identifier" id="BT-47_scheme">Schema der Register-/Registriernummer</entry>
|
||||
<entry key="xr:Buyer_VAT_identifier" id="BT-48">Umsatzsteuer-ID</entry>
|
||||
<entry key="xr:Value_added_tax_point_date" id="BT-7">Abrechnungsdatum der Umsatzsteuer</entry>
|
||||
<entry key="xr:Value_added_tax_point_date_code" id="BT-8">Code des Umsatzsteuer-Abrechnungsdatums</entry>
|
||||
<entry key="xr:Buyer_accounting_reference" id="BT-19">Kontierungsinformation</entry>
|
||||
<entry key="xr:Deliver_to_location_identifier" id="BT-71">Kennung des Lieferorts</entry>
|
||||
<entry key="xr:Deliver_to_location_identifier/@scheme_identifier" id="BT-71_scheme">Schema der Kennung</entry>
|
||||
<entry key="xr:Actual_delivery_date" id="BT-72">Lieferdatum</entry>
|
||||
<entry key="xr:Deliver_to_party_name" id="BT-70">Name des Empfängers</entry>
|
||||
<entry key="xr:Deliver_to_address_line_1" id="BT-75">Adresszeile 1</entry>
|
||||
<entry key="xr:Deliver_to_address_line_2" id="BT-76">Adresszeile 2</entry>
|
||||
<entry key="xr:Deliver_to_address_line_3" id="BT-165">Adresszeile 3</entry>
|
||||
<entry key="xr:Deliver_to_post_code" id="BT-78">PLZ</entry>
|
||||
<entry key="xr:Deliver_to_city" id="BT-77">Ort</entry>
|
||||
<entry key="xr:Deliver_to_country_subdivision" id="BT-79">Bundesland</entry>
|
||||
<entry key="xr:Deliver_to_country_code" id="BT-80">Ländercode</entry>
|
||||
<entry key="xr:Tender_or_lot_reference" id="BT-17">Vergabenummer</entry>
|
||||
<entry key="xr:Receiving_advice_reference" id="BT-15">Kennung der Empfangsbestätigung</entry>
|
||||
<entry key="xr:Despatch_advice_reference" id="BT-16">Kennung der Versandanzeige</entry>
|
||||
<entry key="xr:Business_process_type_identifier" id="BT-23">Prozesskennung</entry>
|
||||
<entry key="xr:Specification_identifier" id="BT-24">Spezifikationskennung</entry>
|
||||
<entry key="xr:Invoiced_object_identifier" id="BT-18">Objektkennung</entry>
|
||||
<entry key="xr:Invoiced_object_identifier/@scheme_identifier" id="BT-18_scheme">Schema der Objektkennung</entry>
|
||||
<!-- BG 10 -->
|
||||
<entry key="xr:Payee_name" id="BT-59">Name</entry>
|
||||
<entry key="xr:Payee_identifier" id="BT-60">Kennung</entry>
|
||||
<entry key="xr:Payee_identifier/@scheme_identifier" id="BT-60_scheme">Schema der Kennung</entry>
|
||||
<entry key="xr:Payee_legal_registration_identifier" id="BT-61">Register-/Registriernummer</entry>
|
||||
<entry key="xr:Payee_legal_registration_identifier/@scheme_identifier" id="BT-61_scheme">Schema der Register-/Registriernummer</entry>
|
||||
<!-- BG 24 Additonal supporting Documents -->
|
||||
<entry key="xr:Supporting_document_reference" id="BT-122">Kennung</entry>
|
||||
<entry key="xr:Supporting_document_description" id="BT-123">Beschreibung</entry>
|
||||
<entry key="xr:External_document_location" id="BT-124">Verweis (z.B. Internetadresse)</entry>
|
||||
<entry key="xr:Attached_document" id="BT-125">Anhangsdokument</entry>
|
||||
<entry key="xr:Attached_document/@mime_code" id="BT-125_mime_code">Format des Anhangdokuments</entry>
|
||||
<entry key="xr:Attached_document/@filename" id="BT-125_filename">Name des Anhangsdokuments</entry>
|
||||
<entry key="xrv:zeitstempel">Datum/Uhrzeit</entry>
|
||||
<entry key="xrv:betreff">Betreff</entry>
|
||||
<entry key="xrv:text">Text</entry>
|
||||
<entry key="xrv:details">Details</entry>
|
||||
<entry key="xr:Invoice_line_identifier" id="BT-126">Position</entry>
|
||||
<entry key="xr:Invoice_line_note" id="BT-127">Freitext</entry>
|
||||
<entry key="xr:Invoice_line_object_identifier" id="BT-128_identifier">Objektkennung</entry>
|
||||
<entry key="xr:Invoice_line_object_identifier/@scheme_identifier" id="BT-128_scheme">Schema der Objektkennung</entry>
|
||||
<entry key="xr:Referenced_purchase_order_line_reference" id="BT-132">Nummer der Auftragsposition</entry>
|
||||
<entry key="xr:Invoice_line_Buyer_accounting_reference" id="BT-133">Kontierungshinweis</entry>
|
||||
<entry key="xr:Invoice_line_period_start_date" id="BT-134">Von</entry>
|
||||
<entry key="xr:Invoice_line_period_end_date" id="BT-135">Bis</entry>
|
||||
<entry key="xr:Invoiced_quantity" id="BT-129">Menge</entry>
|
||||
<entry key="xr:Invoiced_quantity_unit_of_measure_code" id="BT-130">Einheit</entry>
|
||||
<entry key="xr:Item_net_price" id="BT-146">Preis pro Einheit (netto)</entry>
|
||||
<entry key="xr:Invoice_line_net_amount" id="BT-131">Gesamtpreis (netto)</entry>
|
||||
<entry key="xr:Item_price_discount" id="BT-147">Rabatt (netto)</entry>
|
||||
<entry key="xr:Item_gross_price" id="BT-148">Listenpreis (netto)</entry>
|
||||
<entry key="xr:Item_price_base_quantity" id="BT-149">Basismenge zum Artikelpreis</entry>
|
||||
<entry key="xr:Item_price_base_quantity_unit_of_measure" id="BT-150">Code der Maßeinheit</entry>
|
||||
<entry key="xr:Invoiced_item_VAT_category_code" id="BT-151">Umsatzsteuer</entry>
|
||||
<entry key="xr:Invoiced_item_VAT_rate" id="BT-152">Umsatzsteuersatz</entry>
|
||||
<entry key="xr:Item_name" id="BT-153">Bezeichnung</entry>
|
||||
<entry key="xr:Item_description" id="BT-154">Beschreibung</entry>
|
||||
<entry key="xr:Item_Sellers_identifier" id="BT-155">Artikelnummer</entry>
|
||||
<entry key="xr:Item_Buyers_identifier" id="BT-156">Artikelkennung des Käufers</entry>
|
||||
<entry key="xr:Item_standard_identifier" id="BT-157">Artikelkennung</entry>
|
||||
<entry key="xr:Item_standard_identifier/@scheme_identifier" class="BT-157_scheme">Schema der Artikelkennung</entry>
|
||||
<entry key="xr:Item_classification_identifier" id="BT-158">Code der Artikelklassifizierung</entry>
|
||||
<entry key="xr:Item_classification_identifier/@scheme_identifier" id="BT-158_scheme">Kennung zur Bildung des Schemas</entry>
|
||||
<entry key="xr:Item_classification_identifier/@scheme_version_identifier" id="BT-158_scheme_version">Version zur Bildung des Schemas</entry>
|
||||
<entry key="xr:Item_country_of_origin" id="BT-159">Code des Herkunftslandes</entry>
|
||||
<entry key="xr:Invoice_line_allowance_base_amount" id="BT-137">Grundbetrag (netto)</entry>
|
||||
<entry key="xr:Invoice_line_allowance_percentage" id="BT-138">Prozentsatz</entry>
|
||||
<entry key="xr:Invoice_line_allowance_amount" id="BT-136">Nachlass (netto)</entry>
|
||||
<entry key="xr:Invoice_line_allowance_reason" id="BT-139">Grund des Nachlasses</entry>
|
||||
<entry key="xr:Invoice_line_allowance_reason_code" id="BT-140">Code für den Nachlassgrund</entry>
|
||||
<entry key="xr:Invoice_line_charge_base_amount" id="BT-142">Grundbetrag (netto)</entry>
|
||||
<entry key="xr:Invoice_line_charge_percentage" id="BT-143">Prozentsatz</entry>
|
||||
<entry key="xr:Invoice_line_charge_amount" id="BT-141">Zuschlag (netto)</entry>
|
||||
<entry key="xr:Invoice_line_charge_reason" id="BT-144">Grund des Zuschlags</entry>
|
||||
<entry key="xr:Invoice_line_charge_reason_code" id="BT-145">Code für den Zuschlagsgrund</entry>
|
||||
<entry key="xr:Third_party_payment_type" id="BT-DEX-001">Art der Fremdforderung</entry>
|
||||
<entry key="xr:Third_party_payment_amount" id="BT-DEX-002">Betrag der Fremdforderung</entry>
|
||||
<entry key="xr:Third_party_payment_description" id="BT-DEX-003">Beschreibung der Fremdforderung</entry>
|
||||
<entry key="uebersicht">Übersicht</entry>
|
||||
<entry key="uebersichtKaeufer" id="BG-7">Informationen zum Käufer</entry>
|
||||
<entry key="uebersichtVerkaeufer" id="BG-4">Informationen zum Verkäufer</entry>
|
||||
<entry key="uebersichtRechnungsInfo" id="invoice-data">Rechnungsdaten</entry>
|
||||
<entry key="uebersichtRechnungsuebersicht" id="BG-22">Gesamtbeträge der Rechnung</entry>
|
||||
<entry key="uebersichtFremdleistungen" id="BG-DEX-09">Fremdforderung</entry>
|
||||
<entry key="uebersichtUmsatzsteuer" id="BG-23">Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung</entry>
|
||||
<entry key="uebersichtNachlass" id="BG-20">Nachlass auf Ebene der Rechnung</entry>
|
||||
<entry key="uebersichtZuschlaege" id="BG-21">Zuschlag auf Ebene der Rechnung</entry>
|
||||
<entry key="uebersichtRechnungAbrechnungszeitraum">Abrechnungszeitraum</entry>
|
||||
<entry key="uebersichtRechnungVorausgegangeneRechnungen" id="BG-3">Vorausgegangene Rechnungen</entry>
|
||||
<entry key="uebersichtZahlungInfo" id="BG-4">Zahlungsdaten</entry>
|
||||
<entry key="uebersichtZahlungKarte" id="BG-18">Karteninformation</entry>
|
||||
<entry key="uebersichtZahlungLastschrift" id="BG-19">Lastschrift</entry>
|
||||
<entry key="uebersichtZahlungUeberweisung" id="BG-17">Überweisung</entry>
|
||||
<entry key="uebersichtBemerkungen" id="BG-1">Bemerkungen zur Rechnung</entry>
|
||||
<entry key="details">Details</entry>
|
||||
<entry key="detailsPositionAbrechnungszeitraum" id="BG-26">Abrechnungszeitraum</entry>
|
||||
<entry key="detailsPositionPreiseinzelheiten" id="BG-29">Preiseinzelheiten</entry>
|
||||
<entry key="detailsPositionNachlaesse" id="BG-27">Nachlässe auf Ebene der Rechnungsposition</entry>
|
||||
<entry key="detailsPositionZuschlaege" id="BG-28">Zuschläge auf Ebene der Rechnungsposition</entry>
|
||||
<entry key="detailsPositionArtikelinformationen" id="BG-31">Artikelinformationen</entry>
|
||||
<entry key="detailsPositionArtikeleigenschaften" id="BG-32">Eigenschaften des Artikels</entry>
|
||||
<entry key="zusaetze">Zusätze</entry>
|
||||
<entry key="zusaetzeVerkaeufer" id="BG-4">Informationen zum Verkäufer</entry>
|
||||
<entry key="zusaetzeSteuervertreter" id="BG-11">Steuervertreter des Verkäufers</entry>
|
||||
<entry key="zusaetzeKaeufer" id="BG-7">Informationen zum Käufer</entry>
|
||||
<entry key="zusaetzeLieferung" id="BG-13">Lieferinformationen</entry>
|
||||
<entry key="zusaetzeVertrag">Informationen zum Vertrag</entry>
|
||||
<entry key="zusaetzeZahlungsempfaenger" id="BG-10">Vom Verkäufer abweichender Zahlungsempfänger</entry>
|
||||
<entry key="laufzettel">Laufzettel</entry>
|
||||
<entry key="laufzettelHistorie">Bearbeitungshistorie</entry>
|
||||
<entry key="anlagen">Anlagen</entry>
|
||||
<entry key="anlagenListe">Rechnungsbegründende Unterlagen</entry>
|
||||
<entry key="date-format">[D].[M].[Y]</entry>
|
||||
<entry key="datetime-format">[D].[M].[Y] [H]:[m]:[s]</entry>
|
||||
<entry key="amount-format">###.##0,00</entry>
|
||||
<entry key="percentage-format">##0,00</entry>
|
||||
<entry key="at-least-two-format">###.##0,#################</entry>
|
||||
|
||||
<entry key="sum-of-third-party-payment-amounts" id="BT-DEX-002_sum">Summe Fremdforderungen</entry>
|
||||
|
||||
<entry key="_disclaimer">Wir übernehmen keine Haftung für die Richtigkeit der Daten.</entry>
|
||||
<entry key="_invoice-note-group">Bemerkungen zur Rechnung</entry>
|
||||
<entry key="_open">Öffnen</entry>
|
||||
<entry key="no-data">Keine Daten vorhanden</entry>
|
||||
<entry key="_net">netto</entry>
|
||||
<entry key="_gross">brutto</entry>
|
||||
<entry key="_no-content">Bereiche ohne Inhalte werden nicht dargestellt!</entry>
|
||||
<entry key="_description">Beschreibung</entry>
|
||||
<entry key="_price">Preis</entry>
|
||||
<entry key="_price-unit">Preiseinheit</entry>
|
||||
<entry key="_vat">USt. Satz</entry>
|
||||
<entry key="_tax-code">St. Code</entry>
|
||||
<entry key="_total">Gesamt</entry>
|
||||
<entry key="_page">Seite</entry>
|
||||
</properties>
|
||||
255
library/src/main/resources/stylesheets/l10n/en.xml
Normal file
255
library/src/main/resources/stylesheets/l10n/en.xml
Normal file
@@ -0,0 +1,255 @@
|
||||
<?xml version = "1.0" encoding = "UTF-8"?>
|
||||
<properties>
|
||||
<entry key="xr:Buyer_reference" id="BT-10">Buyer reference</entry>
|
||||
<entry key="xr:Buyer_name" id="BT-44">Name</entry>
|
||||
<entry key="xr:Buyer_address_line_1" id="BT-50">Address line 1</entry>
|
||||
<entry key="xr:Buyer_address_line_2" id="BT-51">Address line 2</entry>
|
||||
<entry key="xr:Buyer_address_line_3" id="BT-163">Address line 3</entry>
|
||||
<entry key="xr:Buyer_post_code" id="BT-53">ZIP</entry>
|
||||
<entry key="xr:Buyer_city" id="BT-52">Location</entry>
|
||||
<entry key="xr:Buyer_country_code" id="BT-55">Country code</entry>
|
||||
<entry key="xr:Buyer_identifier" id="BT-46">Identifier</entry>
|
||||
<entry key="xr:Buyer_identifier/@scheme_identifier" id="BT-46_scheme">Scheme identifier</entry>
|
||||
<entry key="xr:Buyer_contact_point" id="BT-56">Contact point</entry>
|
||||
<entry key="xr:Buyer_contact_telephone_number" id="BT-57">Contact point phone</entry>
|
||||
<entry key="xr:Buyer_contact_email_address" id="BT-58">Contact point email</entry>
|
||||
<entry key="xr:Seller_name" id="BT-27">Company name</entry>
|
||||
<entry key="xr:Seller_address_line_1" id="BT-35">Address line 1</entry>
|
||||
<entry key="xr:Seller_address_line_2" id="BT-36">Address line 2</entry>
|
||||
<entry key="xr:Seller_address_line_3">Address line 3</entry>
|
||||
<entry key="xr:Seller_post_code" id="BT-38">ZIP</entry>
|
||||
<entry key="xr:Seller_city" id="BT-37">Location</entry>
|
||||
<entry key="xr:Seller_country_subdivision" id="BT-39">State</entry>
|
||||
<entry key="xr:Seller_country_code" id="BT-40">Country code</entry>
|
||||
<entry key="xr:Seller_identifier" id="BT-29">Identifier</entry>
|
||||
<entry key="xr:Seller_identifier/@scheme_identifier" id="BT-29_scheme">Scheme identifier</entry>
|
||||
<entry key="xr:Seller_contact_point" id="BT-41">Contact point</entry>
|
||||
<entry key="xr:Seller_contact_telephone_number" id="BT-42">Contact point phone</entry>
|
||||
<entry key="xr:Seller_contact_email_address" id="BT-43">Contact point email</entry>
|
||||
<entry key="xr:Invoice_number" id="BT-1">Invoice number</entry>
|
||||
<entry key="xr:Invoice_issue_date" id="BT-2">Invoice date</entry>
|
||||
<entry key="xr:Invoice_type_code" id="BT-3">Invoice type</entry>
|
||||
<entry key="xr:Invoice_currency_code" id="BT-5">Currency</entry>
|
||||
<entry key="xr:Project_reference" id="BT-11">Project reference</entry>
|
||||
<entry key="xr:Contract_reference" id="BT-12">Contract reference</entry>
|
||||
<entry key="xr:Purchase_order_reference" id="BT-13">Purchase order reference</entry>
|
||||
<entry key="xr:Sales_order_reference" id="BT-14">Sales order reference</entry>
|
||||
<!-- Be aware that these are for the whole invoice -->
|
||||
<entry key="xr:Invoicing_period_start_date" id="BT-73">From</entry>
|
||||
<entry key="xr:Invoicing_period_end_date" id="BT-74">To</entry>
|
||||
<entry key="xr:Preceding_Invoice_reference" id="BT-25">Invoice number</entry>
|
||||
<entry key="xr:Preceding_Invoice_issue_date" id="BT-26">Invoice date</entry>
|
||||
<entry key="xr:Sum_of_Invoice_line_net_amount" id="BT-106">Total invoice line net amount</entry>
|
||||
<entry key="xr:Sum_of_allowances_on_document_level" id="BT-107">Total allowances</entry>
|
||||
<entry key="xr:Sum_of_charges_on_document_level" id="BT-108">Total charges</entry>
|
||||
<entry key="xr:Invoice_total_amount_without_VAT" id="BT-109">Total amount</entry>
|
||||
<entry key="xr:Invoice_total_VAT_amount" id="BT-110">Total VAT</entry>
|
||||
<entry key="xr:Invoice_total_VAT_amount_in_accounting_currency" id="BT-111">Total VAT in accounting currency</entry>
|
||||
<entry key="xr:Invoice_total_amount_with_VAT" id="BT-112">Total</entry>
|
||||
<entry key="xr:Paid_amount" id="BT-113">Already paid</entry>
|
||||
<entry key="xr:Rounding_amount" id="BT-114">Rounding amount</entry>
|
||||
<entry key="xr:Amount_due_for_payment" id="BT-115">Amount due</entry>
|
||||
<entry key="xr:VAT_category_code" id="BT-118">VAT category</entry>
|
||||
<entry key="xr:VAT_category_taxable_amount" id="BT-116">Total</entry>
|
||||
<entry key="xr:VAT_category_rate" id="BT-119">VAT rate</entry>
|
||||
<entry key="xr:VAT_category_tax_amount" id="BT-117">VAT amount</entry>
|
||||
<entry key="xr:VAT_exemption_reason_text" id="BT-120">Exemption reason</entry>
|
||||
<entry key="xr:VAT_exemption_reason_code" id="BT-121">Exemption reason code</entry>
|
||||
<!-- Allowances -->
|
||||
<entry key="xr:Document_level_allowance_VAT_category_code" id="BT-95">Allowance VAT category code</entry>
|
||||
<entry key="xr:Document_level_allowance_base_amount" id="BT-93">Base amount</entry>
|
||||
<entry key="xr:Document_level_allowance_percentage" id="BT-94">Percentage</entry>
|
||||
<entry key="xr:Document_level_allowance_amount" id="BT-92">Amount</entry>
|
||||
<entry key="xr:Document_level_allowance_VAT_rate" id="BT-96">Allowance VAT rate</entry>
|
||||
<entry key="xr:Document_level_allowance_reason" id="BT-97">Allowance reason</entry>
|
||||
<entry key="xr:Document_level_allowance_reason_code" id="BT-98">Allowance reason code</entry>
|
||||
<!-- Charges -->
|
||||
<entry key="xr:Document_level_charge_VAT_category_code" id="BT-102">Charge VAT category code</entry>
|
||||
<entry key="xr:Document_level_charge_base_amount" id="BT-100">Base amount</entry>
|
||||
<entry key="xr:Document_level_charge_percentage" id="BT-101">Percentage</entry>
|
||||
<entry key="xr:Document_level_charge_amount" id="BT-99">Amount</entry>
|
||||
<entry key="xr:Document_level_charge_VAT_rate" id="BT-103">VAT rate</entry>
|
||||
<entry key="xr:Document_level_charge_reason" id="BT-104">Charge Reason</entry>
|
||||
<entry key="xr:Document_level_charge_reason_code" id="BT-105">Charge reason code</entry>
|
||||
<entry key="xr:Payment_terms" id="BT-20">Payment terms</entry>
|
||||
<entry key="xr:Payment_due_date" id="BT-9">Due date</entry>
|
||||
<entry key="xr:Payment_means_type_code" id="BT-81">Payment means type code</entry>
|
||||
<entry key="xr:Payment_means_text" id="BT-82">Payment means</entry>
|
||||
<entry key="xr:Remittance_information" id="BT-83">Remittance information</entry>
|
||||
<entry key="xr:Payment_card_primary_account_number" id="BT-87">Card number</entry>
|
||||
<entry key="xr:Payment_card_holder_name" id="BT-88">Card holder</entry>
|
||||
<!-- BG-19 Direct Debit -->
|
||||
<entry key="xr:Mandate_reference_identifier" id="BT-89">Mandate reference no.</entry>
|
||||
<entry key="xr:Debited_account_identifier" id="BT-91">Debited account identifier</entry>
|
||||
<entry key="xr:Bank_assigned_creditor_identifier" id="BT-90">Creditor ID</entry>
|
||||
<!-- BG-17 Credit Transfer-->
|
||||
<entry key="xr:Payment_account_name" id="BT-85">Account holder</entry>
|
||||
<entry key="xr:Payment_account_identifier" id="BT-84">Account identifier</entry>
|
||||
<entry key="xr:Payment_service_provider_identifier" id="BT-86">BIC</entry>
|
||||
<entry key="xr:Invoice_note_subject_code" id="BT-21">Subject code</entry>
|
||||
<entry key="xr:Invoice_note" id="BT-22">Note</entry>
|
||||
<!-- BG-4 Seller and others -->
|
||||
<entry key="xr:Seller_trading_name" id="BT-28">Different trading name</entry>
|
||||
<entry key="xr:Seller_electronic_address" id="BT-34">Electronic address</entry>
|
||||
<entry key="xr:Seller_electronic_address/@scheme_identifier" id="BT-34_scheme">Electronic address
|
||||
scheme</entry>
|
||||
<entry key="xr:Seller_legal_registration_identifier" id="BT-30">Legal registration identifier</entry>
|
||||
<entry key="xr:Seller_legal_registration_identifier/@scheme_identifier" id="BT-30_scheme">Legal registration identifier scheme</entry>
|
||||
<entry key="xr:Seller_VAT_identifier" id="BT-31">VAT ID</entry>
|
||||
<entry key="xr:Seller_tax_registration_identifier" id="BT-32">Tax number</entry>
|
||||
<entry key="xr:Seller_additional_legal_information" id="BT-33">Further legal information</entry>
|
||||
<entry key="xr:VAT_accounting_currency_code" id="BT-6">VAT accounting currency</entry>
|
||||
<!-- BG 12 and 11 Tax Representative party -->
|
||||
<entry key="xr:Seller_tax_representative_name" id="BT-62">Name</entry>
|
||||
<entry key="xr:Tax_representative_address_line_1" id="BT-64">Address line 1</entry>
|
||||
<entry key="xr:Tax_representative_address_line_2" id="BT-65">Address line 2</entry>
|
||||
<entry key="xr:Tax_representative_address_line_3" id="BT-164">Address line 3</entry>
|
||||
<entry key="xr:Tax_representative_post_code" id="BT-67">ZIP</entry>
|
||||
<entry key="xr:Tax_representative_city" id="BT-66">Location</entry>
|
||||
<entry key="xr:Tax_representative_country_subdivision" id="BT-68">State</entry>
|
||||
<entry key="xr:Tax_representative_country_code" id="BT-69">Country code</entry>
|
||||
<entry key="xr:Seller_tax_representative_VAT_identifier" id="BT-63">VAT ID</entry>
|
||||
<!-- Additional buyer information from different bgs -->
|
||||
<entry key="xr:Buyer_trading_name" id="BT-45">Different trading name</entry>
|
||||
<entry key="xr:Buyer_country_subdivision" id="BT-54">State</entry>
|
||||
<entry key="xr:Buyer_electronic_address" id="BT-49">Electronic address</entry>
|
||||
<entry key="xr:Buyer_electronic_address/@scheme_identifier" id="BT-49_scheme">Electronic address scheme</entry>
|
||||
<entry key="xr:Buyer_legal_registration_identifier" id="BT-47">Legal registration identifier</entry>
|
||||
<entry key="xr:Buyer_legal_registration_identifier/@scheme_identifier" id="BT-47_scheme">Legal registration identifier scheme</entry>
|
||||
<entry key="xr:Buyer_VAT_identifier" id="BT-48">VAT ID</entry>
|
||||
<entry key="xr:Value_added_tax_point_date" id="BT-7">Value added tax point date</entry>
|
||||
<entry key="xr:Value_added_tax_point_date_code" id="BT-8">Value added tax point date code</entry>
|
||||
<entry key="xr:Buyer_accounting_reference" id="BT-19">Buyer accounting reference</entry>
|
||||
<entry key="xr:Deliver_to_location_identifier" id="BT-71">Delivery location identifier</entry>
|
||||
<entry key="xr:Deliver_to_location_identifier/@scheme_identifier" id="BT-71_scheme">Identification scheme</entry>
|
||||
<entry key="xr:Actual_delivery_date" id="BT-72">Delivery date</entry>
|
||||
<entry key="xr:Deliver_to_party_name" id="BT-70">Name of the recipient</entry>
|
||||
<entry key="xr:Deliver_to_address_line_1" id="BT-75">Address line 1</entry>
|
||||
<entry key="xr:Deliver_to_address_line_2" id="BT-76">Address line 2</entry>
|
||||
<entry key="xr:Deliver_to_address_line_3" id="BT-165">Address line 3</entry>
|
||||
<entry key="xr:Deliver_to_post_code" id="BT-78">ZIP</entry>
|
||||
<entry key="xr:Deliver_to_city" id="BT-77">Location</entry>
|
||||
<entry key="xr:Deliver_to_country_subdivision" id="BT-79">State</entry>
|
||||
<entry key="xr:Deliver_to_country_code" id="BT-80">Country code</entry>
|
||||
<entry key="xr:Tender_or_lot_reference" id="BT-17">Award reference</entry>
|
||||
<entry key="xr:Receiving_advice_reference" id="BT-15">Receiving advice reference</entry>
|
||||
<entry key="xr:Despatch_advice_reference" id="BT-16">Despatch advice reference</entry>
|
||||
<entry key="xr:Business_process_type" id="BT-23">Process identifier</entry>
|
||||
<entry key="xr:Specification_identifier" id="BT-24">Specification identifier</entry>
|
||||
<entry key="xr:Invoiced_object_identifier" id="BT-18">Object identifier</entry>
|
||||
<entry key="xr:Invoiced_object_identifier/@scheme_identifier" id="BT-18_scheme">Object identifier scheme</entry>
|
||||
<!-- BG 10 -->
|
||||
<entry key="xr:Payee_name" id="BT-59">Name</entry>
|
||||
<entry key="xr:Payee_identifier" id="BT-60">Identifier</entry>
|
||||
<entry key="xr:Payee_identifier/@scheme_identifier" id="BT-60_scheme">Identification scheme</entry>
|
||||
<entry key="xr:Payee_legal_registration_identifier" id="BT-61">Legal registration identifier</entry>
|
||||
<entry key="xr:Payee_legal_registration_identifier/@scheme_identifier" id="BT-61_scheme">Legal registration identifier scheme</entry>
|
||||
<!-- BG 24 Additonal supporting Documents -->
|
||||
<entry key="xr:Supporting_document_reference" id="BT-122">Identifier</entry>
|
||||
<entry key="xr:Supporting_document_description" id="BT-123">Description</entry>
|
||||
<entry key="xr:External_document_location" id="BT-124">Location (e.g. Internet address )</entry>
|
||||
<entry key="xr:Attached_document" id="BT-125">Attached document</entry>
|
||||
<entry key="xr:Attached_document/@mime_code" id="BT-125_mime_code">MIME type of the attached document</entry>
|
||||
<entry key="xr:Attached_document/@filename" id="BT-125_filename">Name of the attachment document</entry>
|
||||
<entry key="xrv:timestamp">Date / time</entry>
|
||||
<entry key="xrv:subject">Subject</entry>
|
||||
<entry key="xrv:text">Text</entry>
|
||||
<entry key="xrv:details">Details</entry>
|
||||
<entry key="xr:Invoice_line_identifier" id="BT-126">Identifier</entry>
|
||||
<entry key="xr:Invoice_line_note" id="BT-127">Free text</entry>
|
||||
<entry key="xr:Invoice_line_object_identifier" id="BT-128_identifier">Object identifier</entry>
|
||||
<entry key="xr:Invoice_line_object_identifier/@scheme_identifier" id="BT-128_scheme">Object identifier scheme</entry>
|
||||
<entry key="xr:Referenced_purchase_order_line_reference" id="BT-132">Order item number</entry>
|
||||
<entry key="xr:Invoice_line_Buyer_accounting_reference" id="BT-133">Buyer accounting reference</entry>
|
||||
<entry key="xr:Invoice_line_period_start_date" id="BT-134">From</entry>
|
||||
<entry key="xr:Invoice_line_period_end_date" id="BT-135">To</entry>
|
||||
<entry key="xr:Invoiced_quantity" id="BT-129">Quantity</entry>
|
||||
<entry key="xr:Invoiced_quantity_unit_of_measure_code" id="BT-130">Unit</entry>
|
||||
<entry key="xr:Item_net_price" id="BT-146">Price per unit (net)</entry>
|
||||
<entry key="xr:Invoice_line_net_amount" id="BT-131">Total price (net)</entry>
|
||||
<entry key="xr:Item_price_discount" id="BT-147">Discount (net)</entry>
|
||||
<entry key="xr:Item_gross_price" id="BT-148">List price (net)</entry>
|
||||
<entry key="xr:Item_price_base_quantity" id="BT-149">Item price base quantity</entry>
|
||||
<entry key="xr:Item_price_base_quantity_unit_of_measure" id="BT-150">Unit code</entry>
|
||||
<entry key="xr:Invoiced_item_VAT_category_code" id="BT-151">VAT category</entry>
|
||||
<entry key="xr:Invoiced_item_VAT_rate" id="BT-152">VAT rate</entry>
|
||||
<entry key="xr:Item_name" id="BT-153">Name</entry>
|
||||
<entry key="xr:Item_description" id="BT-154">Description</entry>
|
||||
<entry key="xr:Item_Sellers_identifier" id="BT-155">Item identifier</entry>
|
||||
<entry key="xr:Item_Buyers_identifier" id="BT-156">Buyer's item identifier</entry>
|
||||
<entry key="xr:Item_standard_identifier" id="BT-157">Item standard identifier</entry>
|
||||
<entry key="xr:Item_standard_identifier/@scheme_identifier" id="BT-157_scheme">Item standard identifier scheme</entry>
|
||||
<entry key="xr:Item_classification_identifier" id="BT-158">Item classification code</entry>
|
||||
<entry key="xr:Item_classification_identifier/@scheme_identifier" id="BT-158_scheme">Item classification code scheme</entry>
|
||||
<entry key="xr:Item_classification_identifier/@scheme_version_identifier" id="BT-158_scheme_version">Schema version</entry>
|
||||
<entry key="xr:Item_country_of_origin" id="BT-159">Country of origin</entry>
|
||||
<entry key="xr:Invoice_line_allowance_base_amount" id="BT-137">Base amount (net)</entry>
|
||||
<entry key="xr:Invoice_line_allowance_percentage" id="BT-138">Percentage</entry>
|
||||
<entry key="xr:Invoice_line_allowance_amount" id="BT-136">Allowance (net)</entry>
|
||||
<entry key="xr:Invoice_line_allowance_reason" id="BT-139">Allowance reason</entry>
|
||||
<entry key="xr:Invoice_line_allowance_reason_code" id="BT-140">Allowance reason code</entry>
|
||||
<entry key="xr:Invoice_line_charge_base_amount" id="BT-142">Base amount (net)</entry>
|
||||
<entry key="xr:Invoice_line_charge_percentage" id="BT-143">Percentage</entry>
|
||||
<entry key="xr:Invoice_line_charge_amount" id="BT-141">Charge (net)</entry>
|
||||
<entry key="xr:Invoice_line_charge_reason" id="BT-144">Reason for the Charge</entry>
|
||||
<entry key="xr:Invoice_line_charge_reason_code" id="BT-145">Charge reason code</entry>
|
||||
<entry key="xr:Third_party_payment_type" id="BT-DEX-001">Third party payment type</entry>
|
||||
<entry key="xr:Third_party_payment_amount" id="BT-DEX-002">Third party payment amount</entry>
|
||||
<entry key="xr:Third_party_payment_description" id="BT-DEX-003">Third party payment description</entry>
|
||||
<entry key="uebersicht">Overview</entry>
|
||||
<entry key="uebersichtKaeufer" id="BG-7">Information about the buyer</entry>
|
||||
<entry key="uebersichtVerkaeufer" id="BG-4">Information about the seller</entry>
|
||||
<entry key="uebersichtRechnungsInfo" id="invoice-data">Invoice data</entry>
|
||||
<entry key="uebersichtRechnungsuebersicht" id="BG-22">Invoice totals</entry>
|
||||
<entry key="uebersichtFremdleistungen" id="BG-DEX-09">Third party payment</entry>
|
||||
<entry key="uebersichtUmsatzsteuer" id="BG-23">Sales tax breakdown at invoice level</entry>
|
||||
<entry key="uebersichtNachlass" id="BG-20">Invoice level discount</entry>
|
||||
<entry key="uebersichtZuschlaege" id="BG-21">Invoice level surcharge</entry>
|
||||
<entry key="uebersichtRechnungAbrechnungszeitraum">Billing period</entry>
|
||||
<entry key="uebersichtRechnungVorausgegangeneRechnungen" id="BG-3">Previous invoices</entry>
|
||||
<entry key="uebersichtZahlungInfo" id="BG-4">Payment data</entry>
|
||||
<entry key="uebersichtZahlungKarte" id="BG-18">Card information</entry>
|
||||
<entry key="uebersichtZahlungLastschrift" id="BG-19">Direct debit</entry>
|
||||
<entry key="uebersichtZahlungUeberweisung" id="BG-17">Transfer</entry>
|
||||
<entry key="uebersichtBemerkungen" id="BG-1">Notes on the invoice</entry>
|
||||
<entry key="details">Details</entry>
|
||||
<entry key="detailsPositionAbrechnungszeitraum" id="BG-26">Billing period</entry>
|
||||
<entry key="detailsPositionPreiseinzelheiten" id="BG-29">Price details</entry>
|
||||
<entry key="detailsPositionNachlaesse" id="BG-27">Allowances on invoice item level</entry>
|
||||
<entry key="detailsPositionZuschlaege" id="BG-28">Charges at invoice item level</entry>
|
||||
<entry key="detailsPositionArtikelinformationen" id="BG-31">Item information</entry>
|
||||
<entry key="detailsPositionArtikeleigenschaften" id="BG-32">Properties of the item</entry>
|
||||
<entry key="zusaetze">Supplements</entry>
|
||||
<entry key="zusaetzeVerkaeufer" id="BG-4">Information about the seller</entry>
|
||||
<entry key="zusaetzeSteuervertreter" id="BG-11">Tax representative of the seller</entry>
|
||||
<entry key="zusaetzeKaeufer" id="BG-7">Information about the buyer</entry>
|
||||
<entry key="zusaetzeLieferung" id="BG-13">Delivery information</entry>
|
||||
<entry key="zusaetzeVertrag">Information about the contract</entry>
|
||||
<entry key="zusaetzeZahlungsempfaenger" id="BG-10">Payee different from the seller</entry>
|
||||
<entry key="laufzettel">Routing slip</entry>
|
||||
<entry key="laufzettelHistorie">Processing history</entry>
|
||||
<entry key="anlagen">Attachments</entry>
|
||||
<entry key="anlagenListe">Documents justifying the invoice</entry>
|
||||
<entry key="date-format">[Y]-[M,2]-[D,2]</entry>
|
||||
<entry key="datetime-format">[Y]-[M,2]-[D,2] [H]:[m]:[s]</entry>
|
||||
<entry key="amount-format">###,##0.00</entry>
|
||||
<entry key="percentage-format">##0.00</entry>
|
||||
<entry key="at-least-two-format">###,##0.#################</entry>
|
||||
|
||||
<entry key="sum-of-third-party-payment-amounts" id="BT-DEX-002_sum">Third party payment total</entry>
|
||||
|
||||
<entry key="_disclaimer">We assume no liability for the accuracy of the data.</entry>
|
||||
<entry key="_invoice-note-group">Notes on the invoice</entry>
|
||||
<entry key="_open">Open</entry>
|
||||
<entry key="no-data">No data available</entry>
|
||||
<entry key="_net">net</entry>
|
||||
<entry key="_gross">gross</entry>
|
||||
<entry key="_no-content">Areas without content are not displayed!</entry>
|
||||
<entry key="_description">Description</entry>
|
||||
<entry key="_price">Price</entry>
|
||||
<entry key="_price-unit">Price unit</entry>
|
||||
<entry key="_vat">VAT</entry>
|
||||
<entry key="_tax-code">Code</entry>
|
||||
<entry key="_total">Total</entry>
|
||||
<entry key="_page">Page</entry>
|
||||
</properties>
|
||||
@@ -15,31 +15,14 @@
|
||||
<xd:p>
|
||||
<xd:b>Author:</xd:b> KoSIT Bremen (kosit@finanzen.bremen.de)</xd:p>
|
||||
<xd:b>Fassung vom: 2020-06-30+02:00</xd:b>
|
||||
<xd:b>modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00</xd:b>
|
||||
<xd:p>Ü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.</xd:p>
|
||||
<xd:p>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.</xd:p>
|
||||
</xd:desc>
|
||||
</xd:doc>
|
||||
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:import href="1001.xsl" />
|
||||
<xsl:import href="1153.xsl" />
|
||||
<xsl:import href="2005.xsl" />
|
||||
<xsl:import href="3166.xsl" />
|
||||
<xsl:import href="4217.xsl" />
|
||||
<xsl:import href="4451.xsl" />
|
||||
<xsl:import href="4461.xsl" />
|
||||
<xsl:import href="5189.xsl" />
|
||||
<xsl:import href="5305.xsl" />
|
||||
<xsl:import href="6523.xsl" />
|
||||
<xsl:import href="7143.xsl" />
|
||||
<xsl:import href="7161.xsl" />
|
||||
<xsl:import href="UNECE-RE-21.xsl" />
|
||||
<xsl:import href="EAS.xsl" />
|
||||
<xsl:import href="VATEX.xsl" />
|
||||
<!-- End: Jan Thiele -->
|
||||
|
||||
<xsl:output method="xml" indent="yes"/>
|
||||
|
||||
<xsl:include href="./common-xr.xsl"/>
|
||||
|
||||
<xsl:template match="/CreditNote:CreditNote">
|
||||
<xr:invoice>
|
||||
@@ -75,16 +58,7 @@
|
||||
<xr:Invoice_note_subject_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-21'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(current-group()[1])"/>
|
||||
<!--<xsl:value-of select="current-group()[1]"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:variable name="group_l" select="current-group()[1]"/>
|
||||
<xsl:variable name="group_JT">
|
||||
<xsl:call-template name="code.UNTDID.4451">
|
||||
<xsl:with-param name="myparam" select="group_l"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:value-of select="$group_JT"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:value-of select="current-group()[1]"/>
|
||||
</xr:Invoice_note_subject_code>
|
||||
</xsl:if>
|
||||
<xr:Invoice_note>
|
||||
@@ -126,6 +100,7 @@
|
||||
<xsl:attribute name="xr:id" select="'BG-16'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path($current-bg)"/>
|
||||
<xsl:apply-templates mode="BT-81" select="current-group()[1]/cbc:PaymentMeansCode"/>
|
||||
<xsl:apply-templates mode="BT-82" select="current-group()[1]/cbc:PaymentMeansCode/@name"/>
|
||||
<xsl:for-each-group select="current-group()/cbc:PaymentID" group-by="text()">
|
||||
<xsl:apply-templates mode="BT-83" select="current-group()[1]"/>
|
||||
</xsl:for-each-group>
|
||||
@@ -162,36 +137,21 @@
|
||||
<xr:Invoice_type_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-3'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.untdid.1001">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoice_type_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-5" match="/CreditNote:CreditNote/cbc:DocumentCurrencyCode">
|
||||
<xr:Invoice_currency_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-5'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Currency-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoice_currency_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-6" match="/CreditNote:CreditNote/cbc:TaxCurrencyCode">
|
||||
<xr:VAT_accounting_currency_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-6'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Currency-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:VAT_accounting_currency_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-7" match="/CreditNote:CreditNote/cbc:TaxPointDate">
|
||||
@@ -206,12 +166,7 @@
|
||||
<xr:Value_added_tax_point_date_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-8'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.2005">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Value_added_tax_point_date_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-9"
|
||||
@@ -289,10 +244,7 @@
|
||||
<xr:Invoiced_object_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-18'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.1153"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Invoiced_object_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-19" match="/CreditNote:CreditNote/cbc:AccountingCost">
|
||||
@@ -385,10 +337,7 @@
|
||||
<xr:Seller_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-29'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Seller_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-30"
|
||||
@@ -396,10 +345,7 @@
|
||||
<xr:Seller_legal_registration_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-30'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Seller_legal_registration_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-31"
|
||||
@@ -431,10 +377,7 @@
|
||||
<xr:Seller_electronic_address>
|
||||
<xsl:attribute name="xr:id" select="'BT-34'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.EAS"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Seller_electronic_address>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-5"
|
||||
@@ -509,12 +452,7 @@
|
||||
<xr:Seller_country_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-40'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Country-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Seller_country_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-6"
|
||||
@@ -563,8 +501,6 @@
|
||||
<xsl:apply-templates mode="BT-45" select="./cac:Party/cac:PartyName/cbc:Name"/>
|
||||
<xsl:apply-templates mode="BT-46" select="./cac:Party/cac:PartyIdentification/cbc:ID"/>
|
||||
<xsl:apply-templates mode="BT-47" select="./cac:Party/cac:PartyLegalEntity/cbc:CompanyID"/>
|
||||
<xsl:apply-templates mode="BT-47"
|
||||
select="./cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID"/>
|
||||
<xsl:apply-templates mode="BT-48"
|
||||
select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/>
|
||||
<xsl:apply-templates mode="BT-49" select="./cac:Party/cbc:EndpointID"/>
|
||||
@@ -600,25 +536,11 @@
|
||||
<xr:Buyer_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-46'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Buyer_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-47"
|
||||
match="/CreditNote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID">
|
||||
<xr:Buyer_legal_registration_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-47'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
</xr:Buyer_legal_registration_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-47"
|
||||
match="/CreditNote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID">
|
||||
<xr:Buyer_legal_registration_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-47'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
@@ -638,10 +560,7 @@
|
||||
<xr:Buyer_electronic_address>
|
||||
<xsl:attribute name="xr:id" select="'BT-49'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.EAS"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Buyer_electronic_address>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-8"
|
||||
@@ -716,12 +635,7 @@
|
||||
<xr:Buyer_country_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-55'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Country-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Buyer_country_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-9"
|
||||
@@ -790,10 +704,7 @@
|
||||
<xr:Payee_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-60'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Payee_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-61"
|
||||
@@ -801,10 +712,7 @@
|
||||
<xr:Payee_legal_registration_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-61'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Payee_legal_registration_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-11" match="/CreditNote:CreditNote/cac:TaxRepresentativeParty">
|
||||
@@ -910,12 +818,7 @@
|
||||
<xr:Tax_representative_country_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-69'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Country-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Tax_representative_country_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-13" match="/CreditNote:CreditNote/cac:Delivery">
|
||||
@@ -947,10 +850,7 @@
|
||||
<xr:Deliver_to_location_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-71'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Deliver_to_location_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-72"
|
||||
@@ -1062,12 +962,7 @@
|
||||
<xr:Deliver_to_country_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-80'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Country-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Deliver_to_country_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-81"
|
||||
@@ -1075,16 +970,11 @@
|
||||
<xr:Payment_means_type_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-81'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.4461">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Payment_means_type_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-82"
|
||||
match="/CreditNote:CreditNote/cac:PaymentMeans/cbc:PaymentMeansCode/@Name">
|
||||
match="/CreditNote:CreditNote/cac:PaymentMeans/cbc:PaymentMeansCode/@name">
|
||||
<xr:Payment_means_text>
|
||||
<xsl:attribute name="xr:id" select="'BT-82'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
@@ -1273,12 +1163,7 @@
|
||||
<xr:Document_level_allowance_VAT_category_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-95'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5305">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Document_level_allowance_VAT_category_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-96"
|
||||
@@ -1302,12 +1187,7 @@
|
||||
<xr:Document_level_allowance_reason_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-98'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5189">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Document_level_allowance_reason_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-21"
|
||||
@@ -1365,12 +1245,7 @@
|
||||
<xr:Document_level_charge_VAT_category_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-102'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5305">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Document_level_charge_VAT_category_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-103"
|
||||
@@ -1394,12 +1269,7 @@
|
||||
<xr:Document_level_charge_reason_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-105'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.7161">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Document_level_charge_reason_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-22" match="/CreditNote:CreditNote/cac:LegalMonetaryTotal">
|
||||
@@ -1409,9 +1279,9 @@
|
||||
<xsl:apply-templates mode="BT-108" select="./cbc:ChargeTotalAmount"/>
|
||||
<xsl:apply-templates mode="BT-109" select="./cbc:TaxExclusiveAmount"/>
|
||||
<xsl:apply-templates mode="BT-110"
|
||||
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/>
|
||||
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:DocumentCurrencyCode = @currencyID]"/>
|
||||
<xsl:apply-templates mode="BT-111"
|
||||
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/>
|
||||
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:TaxCurrencyCode = @currencyID]"/>
|
||||
<xsl:apply-templates mode="BT-112" select="./cbc:TaxInclusiveAmount"/>
|
||||
<xsl:apply-templates mode="BT-113" select="./cbc:PrepaidAmount"/>
|
||||
<xsl:apply-templates mode="BT-114" select="./cbc:PayableRoundingAmount"/>
|
||||
@@ -1543,12 +1413,7 @@
|
||||
<xr:VAT_category_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-118'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5305">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:VAT_category_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-119"
|
||||
@@ -1572,12 +1437,7 @@
|
||||
<xr:VAT_exemption_reason_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-121'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.VATEX">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:VAT_exemption_reason_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-24"
|
||||
@@ -1678,10 +1538,7 @@
|
||||
<xr:Invoice_line_object_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-128'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.1153"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Invoice_line_object_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-129"
|
||||
@@ -1697,12 +1554,7 @@
|
||||
<xr:Invoiced_quantity_unit_of_measure_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-130'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.rec21">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoiced_quantity_unit_of_measure_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-131"
|
||||
@@ -1818,12 +1670,7 @@
|
||||
<xr:Invoice_line_allowance_reason_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-140'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5189">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoice_line_allowance_reason_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-28"
|
||||
@@ -1885,12 +1732,7 @@
|
||||
<xr:Invoice_line_charge_reason_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-145'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.7161">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoice_line_charge_reason_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-29"
|
||||
@@ -1949,12 +1791,7 @@
|
||||
<xr:Item_price_base_quantity_unit_of_measure>
|
||||
<xsl:attribute name="xr:id" select="'BT-150'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.rec21">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Item_price_base_quantity_unit_of_measure>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-30"
|
||||
@@ -1977,12 +1814,7 @@
|
||||
<xr:Invoiced_item_VAT_category_code>
|
||||
<xsl:attribute name="xr:id" select="'BT-151'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.UNTDID.5305">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Invoiced_item_VAT_category_code>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-152"
|
||||
@@ -2050,10 +1882,7 @@
|
||||
<xr:Item_standard_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-157'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme.6523"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Item_standard_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-158"
|
||||
@@ -2061,10 +1890,7 @@
|
||||
<xr:Item_classification_identifier>
|
||||
<xsl:attribute name="xr:id" select="'BT-158'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="identifier-with-scheme-and-version"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="identifier-with-scheme-and-version.7143"/>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="identifier"/>
|
||||
</xr:Item_classification_identifier>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BT-159"
|
||||
@@ -2072,12 +1898,7 @@
|
||||
<xr:Item_country_of_origin>
|
||||
<xsl:attribute name="xr:id" select="'BT-159'"/>
|
||||
<xsl:attribute name="xr:src" select="xr:src-path(.)"/>
|
||||
<!--<xsl:call-template name="code"/>-->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:call-template name="code.Country-Codes">
|
||||
<xsl:with-param name="myparam" select="."/>
|
||||
</xsl:call-template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:call-template name="code"/>
|
||||
</xr:Item_country_of_origin>
|
||||
</xsl:template>
|
||||
<xsl:template mode="BG-32"
|
||||
@@ -2282,151 +2103,5 @@
|
||||
</xr:SUB_INVOICE_PRICE_DETAILS>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
<xsl:template name="text">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="date">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="identifier-with-scheme-and-version">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@listID | @schemeID">
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="@schemeVersionID | @listVersionID">
|
||||
<xsl:attribute name="scheme_version_identifier"
|
||||
select="(@listVersionID, @schemeVersionID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:template name="identifier-with-scheme-and-version.7143">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@listID | @schemeID">
|
||||
<xsl:variable name="listID_JT">
|
||||
<xsl:call-template name="code.UNTDID.7143">
|
||||
<xsl:with-param name="myparam" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, $listID_JT, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="@schemeVersionID | @listVersionID">
|
||||
<xsl:attribute name="scheme_version_identifier"
|
||||
select="(@listVersionID, @schemeVersionID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:template name="identifier-with-scheme">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@schemeID">
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:template name="identifier-with-scheme.EAS">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@schemeID">
|
||||
<xsl:variable name="listID_JT">
|
||||
<xsl:call-template name="code.EAS">
|
||||
<xsl:with-param name="myparam" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, $listID_JT, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:template name="identifier-with-scheme.1153">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@schemeID">
|
||||
<xsl:variable name="listID_JT">
|
||||
<xsl:call-template name="code.UNTDID.1153">
|
||||
<xsl:with-param name="myparam" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, $listID_JT, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<!-- Begin: Jan Thiele -->
|
||||
<xsl:template name="identifier-with-scheme.6523">
|
||||
<xsl:param name="schemeID" as="element()?"/>
|
||||
<xsl:if test="@schemeID">
|
||||
<xsl:variable name="listID_JT">
|
||||
<xsl:call-template name="code.ICD">
|
||||
<xsl:with-param name="myparam" select="($schemeID, @listID, @schemeID)[1]"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:attribute name="scheme_identifier" select="($schemeID, $listID_JT, @schemeID)[1]"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<!-- End: Jan Thiele -->
|
||||
<xsl:template name="identifier">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="code">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="amount">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="percentage">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="binary_object">
|
||||
<xsl:if test="@mimeCode">
|
||||
<xsl:attribute name="mime_code">
|
||||
<xsl:value-of select="@mimeCode"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="@filename">
|
||||
<xsl:attribute name="filename">
|
||||
<xsl:value-of select="@filename"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="unit_price_amount">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="quantity">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xsl:template name="document_reference">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:template>
|
||||
<xd:doc>
|
||||
<xd:desc> Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. </xd:desc>
|
||||
<xd:param name="n"/>
|
||||
</xd:doc>
|
||||
<xsl:function name="xr:src-path" as="xs:string">
|
||||
<xsl:param name="n" as="node()"/>
|
||||
<xsl:variable name="segments" as="xs:string*">
|
||||
<xsl:apply-templates select="$n" mode="xr:src-path"/>
|
||||
</xsl:variable>
|
||||
<xsl:sequence select="string-join($segments, '')"/>
|
||||
</xsl:function>
|
||||
<xd:doc>
|
||||
<xd:desc> Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. </xd:desc>
|
||||
<xd:param name="n"/>
|
||||
</xd:doc>
|
||||
<xsl:template match="node() | @*" mode="xr:src-path">
|
||||
<xsl:for-each select="ancestor-or-self::*">
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="name(.)"/>
|
||||
<xsl:if test="preceding-sibling::*[name(.) = name(current())] or following-sibling::*[name(.) = name(current())]">
|
||||
<xsl:text>[</xsl:text>
|
||||
<xsl:value-of select="count(preceding-sibling::*[name(.) = name(current())]) + 1"/>
|
||||
<xsl:text>]</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<xsl:if test="not(self::*)">
|
||||
<xsl:text/>/@<xsl:value-of select="name(.)"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
935
library/src/main/resources/stylesheets/xr-content.xsl
Normal file
935
library/src/main/resources/stylesheets/xr-content.xsl
Normal file
@@ -0,0 +1,935 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="2.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions">
|
||||
|
||||
<xsl:decimal-format name="de" decimal-separator="," grouping-separator="." NaN="" />
|
||||
<xsl:decimal-format name="en" decimal-separator="." grouping-separator="," NaN="" />
|
||||
|
||||
<xsl:template name="uebersicht">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'uebersicht'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="uebersicht_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersicht_Content">
|
||||
<xsl:call-template name="uebersichtKaeufer"/>
|
||||
<xsl:call-template name="uebersichtVerkaeufer"/>
|
||||
<xsl:call-template name="uebersichtRechnungsInfo"/>
|
||||
<xsl:call-template name="uebersichtFremdleistungen"/>
|
||||
<xsl:call-template name="uebersichtRechnungsuebersicht"/>
|
||||
<xsl:call-template name="uebersichtUmsatzsteuer"/>
|
||||
<xsl:call-template name="uebersichtNachlass"/>
|
||||
<xsl:call-template name="uebersichtZuschlaege"/>
|
||||
<xsl:call-template name="uebersichtZahlungInfo"/>
|
||||
<xsl:call-template name="uebersichtBemerkungen"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtKaeufer">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtKaeufer'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Buyer_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_address_line_1"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_address_line_2"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_address_line_3"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_post_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_city"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_country_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Buyer_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_CONTACT/xr:Buyer_contact_point"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_CONTACT/xr:Buyer_contact_telephone_number"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_CONTACT/xr:Buyer_contact_email_address"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtVerkaeufer">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtVerkaeufer'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_address_line_1"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_address_line_2"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_address_line_3"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_post_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_city"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_country_code"/>
|
||||
<xsl:for-each select="xr:SELLER/xr:Seller_identifier">
|
||||
<xsl:apply-templates mode="list-entry" select="."/>
|
||||
<xsl:apply-templates mode="list-entry" select="./@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Seller_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_CONTACT/xr:Seller_contact_point"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_CONTACT/xr:Seller_contact_telephone_number"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_CONTACT/xr:Seller_contact_email_address"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtRechnungsInfo">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtRechnungsInfo'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="uebersichtRechnungsInfo_Content"/>
|
||||
<xsl:call-template name="uebersichtRechnungAbrechnungszeitraum_Content"/>
|
||||
<xsl:call-template name="uebersichtRechnungVorausgegangeneRechnungen_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtRechnungsInfo_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates select="xr:Invoice_number" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Invoice_issue_date" mode="list-entry">
|
||||
<xsl:with-param name="value" select="if (matches(
|
||||
normalize-space(
|
||||
replace(xr:Invoice_issue_date, '-', '')
|
||||
),
|
||||
$datepattern)
|
||||
)
|
||||
then
|
||||
format-date(xr:Invoice_issue_date, xrf:_('date-format'))
|
||||
else
|
||||
xr:Invoice_issue_date/text()"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates select="xr:Invoice_type_code" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Invoice_currency_code" mode="list-entry"/>
|
||||
<xsl:for-each select="tokenize(xr:Value_added_tax_point_date,';')">
|
||||
<xsl:call-template name="list-entry-bt-7">
|
||||
<xsl:with-param name="value" select="format-date(xs:date(.),xrf:_('date-format'))"/>
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Value_added_tax_point_date'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates select="xr:Value_added_tax_point_date_code" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Project_reference" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Contract_reference" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Purchase_order_reference" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Sales_order_reference" mode="list-entry"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtRechnungAbrechnungszeitraum_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'uebersichtRechnungAbrechnungszeitraum'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates select="xr:INVOICING_PERIOD/xr:Invoicing_period_start_date" mode="list-entry">
|
||||
<xsl:with-param name="value" select="format-date(xr:INVOICING_PERIOD/xr:Invoicing_period_start_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates select="xr:INVOICING_PERIOD/xr:Invoicing_period_end_date" mode="list-entry">
|
||||
<xsl:with-param name="value" select="format-date(xr:INVOICING_PERIOD/xr:Invoicing_period_end_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtRechnungVorausgegangeneRechnungen_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'uebersichtRechnungVorausgegangeneRechnungen'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:PRECEDING_INVOICE_REFERENCE">
|
||||
<xsl:call-template name="sub-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates select="xr:Preceding_Invoice_reference" mode="list-entry"/>
|
||||
<xsl:apply-templates select="xr:Preceding_Invoice_issue_date" mode="list-entry">
|
||||
<xsl:with-param name="value" select="format-date(xr:Preceding_Invoice_issue_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtFremdleistungen">
|
||||
<xsl:for-each select="xr:THIRD_PARTY_PAYMENT">
|
||||
<xsl:call-template name="spanned-box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtFremdleistungen'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Third_party_payment_type"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Third_party_payment_description"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Third_party_payment_amount">
|
||||
<xsl:with-param name="value" select="xr:Third_party_payment_amount"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtRechnungsuebersicht">
|
||||
<xsl:call-template name="spanned-box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtRechnungsuebersicht'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Sum_of_Invoice_line_net_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Sum_of_Invoice_line_net_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Sum_of_allowances_on_document_level">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Sum_of_allowances_on_document_level,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Sum_of_charges_on_document_level">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Sum_of_charges_on_document_level,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:DOCUMENT_TOTALS/xr:Invoice_total_amount_without_VAT">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Invoice_total_amount_without_VAT,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Invoice_total_VAT_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Invoice_total_VAT_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Invoice_total_VAT_amount_in_accounting_currency">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Invoice_total_VAT_amount_in_accounting_currency,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:DOCUMENT_TOTALS/xr:Invoice_total_amount_with_VAT">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Invoice_total_amount_with_VAT,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Paid_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Paid_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:DOCUMENT_TOTALS/xr:Rounding_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Rounding_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="/xr:invoice">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'sum-of-third-party-payment-amounts'"/>
|
||||
<xsl:with-param name="value" select="format-number(sum(xr:THIRD_PARTY_PAYMENT/xr:Third_party_payment_amount),$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:DOCUMENT_TOTALS/xr:Amount_due_for_payment">
|
||||
<xsl:with-param name="level" select="'final'"/>
|
||||
<xsl:with-param name="value" select="format-number(xr:DOCUMENT_TOTALS/xr:Amount_due_for_payment,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtUmsatzsteuer">
|
||||
<xsl:call-template name="spanned-box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtUmsatzsteuer'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:VAT_BREAKDOWN">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="headingId" select="'xr:VAT_category_code'"/>
|
||||
<xsl:with-param name="headingValue" select="xr:VAT_category_code"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:VAT_category_taxable_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:VAT_category_taxable_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:VAT_category_rate">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:VAT_category_rate,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:VAT_category_tax_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:VAT_category_tax_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:VAT_exemption_reason_text"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:VAT_exemption_reason_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtNachlass">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtNachlass'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:DOCUMENT_LEVEL_ALLOWANCES">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="headingId" select="'xr:Document_level_allowance_VAT_category_code'"/>
|
||||
<xsl:with-param name="headingValue" select="xr:Document_level_allowance_VAT_category_code"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_allowance_base_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Document_level_allowance_base_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_allowance_percentage">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Document_level_allowance_percentage,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Document_level_allowance_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Document_level_allowance_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_allowance_VAT_rate">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Document_level_allowance_VAT_rate,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Document_level_allowance_reason"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Document_level_allowance_reason_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZuschlaege">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtZuschlaege'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:DOCUMENT_LEVEL_CHARGES">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="headingId" select="'xr:Document_level_charge_VAT_category_code'"/>
|
||||
<xsl:with-param name="headingValue" select="xr:Document_level_charge_VAT_category_code"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_charge_base_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Document_level_charge_base_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_charge_percentage">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Document_level_charge_percentage,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Document_level_charge_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Document_level_charge_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Document_level_charge_VAT_rate">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Document_level_charge_VAT_rate,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Document_level_charge_reason"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Document_level_charge_reason_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZahlungInfo">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtZahlungInfo'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="uebersichtZahlungInfo_Content"/>
|
||||
<xsl:call-template name="uebersichtZahlungKarte_Content"/>
|
||||
<xsl:call-template name="uebersichtZahlungLastschrift_Content"/>
|
||||
<fo:block xsl:use-attribute-sets="separator" span="all" line-height="0pt"/>
|
||||
<xsl:call-template name="uebersichtZahlungUeberweisung_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZahlungInfo_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Payment_terms"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Payment_due_date"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:Payment_means_type_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:Payment_means_text"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:Remittance_information"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZahlungKarte_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'uebersichtZahlungKarte'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:PAYMENT_CARD_INFORMATION/xr:Payment_card_primary_account_number"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:PAYMENT_CARD_INFORMATION/xr:Payment_card_holder_name"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZahlungLastschrift_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'uebersichtZahlungLastschrift'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:DIRECT_DEBIT/xr:Mandate_reference_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:DIRECT_DEBIT/xr:Debited_account_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYMENT_INSTRUCTIONS/xr:DIRECT_DEBIT/xr:Bank_assigned_creditor_identifier"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtZahlungUeberweisung_Content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="headingId" select="'uebersichtZahlungUeberweisung'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:PAYMENT_INSTRUCTIONS/xr:CREDIT_TRANSFER">
|
||||
<xsl:call-template name="sub-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Payment_account_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Payment_account_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Payment_service_provider_identifier"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="uebersichtBemerkungen">
|
||||
<xsl:call-template name="spanned-box">
|
||||
<xsl:with-param name="identifier" select="'uebersichtBemerkungen'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:INVOICE_NOTE">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_note_subject_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_note"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="details">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$invoiceline-layout = 'normal'">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'details'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates select="xr:INVOICE_LINE"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<fo:block span="all">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'details'"/>
|
||||
<xsl:with-param name="content">
|
||||
<fo:table xsl:use-attribute-sets="invoicelines-table" span="all">
|
||||
<xsl:for-each select="tokenize($tabular-layout-widths, '\s+')">
|
||||
<fo:table-column column-width="proportional-column-width({.})"/>
|
||||
</xsl:for-each>
|
||||
<fo:table-header xsl:use-attribute-sets="invoicelines-table-header">
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block>#</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block><xsl:value-of select="xrf:_('_description')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="xrf:_('xr:Invoiced_quantity')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block><xsl:value-of select="xrf:_('_price')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="xrf:_('_price-unit')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="xrf:_('_vat')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="xrf:_('_tax-code')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block><xsl:value-of select="xrf:_('_total')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<xsl:apply-templates select="xr:INVOICE_LINE" mode="invoiceline-tabular"/>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</fo:block>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPosition">
|
||||
<xsl:call-template name="detailsPosition_Content"/>
|
||||
<xsl:call-template name="detailsPositionAbrechnungszeitraum"/>
|
||||
<xsl:call-template name="detailsPositionPreiseinzelheiten"/>
|
||||
<xsl:call-template name="detailsPositionNachlaesse"/>
|
||||
<xsl:call-template name="detailsPositionZuschlaege"/>
|
||||
<xsl:call-template name="detailsPositionArtikelinformationen"/>
|
||||
<xsl:call-template name="detailsPositionArtikeleigenschaften"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPosition_Content">
|
||||
<xsl:variable name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_note"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_object_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_object_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Invoice_line_object_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Referenced_purchase_order_line_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_Buyer_accounting_reference"/>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content" select="$content"/>
|
||||
</xsl:call-template>
|
||||
<xsl:if test="normalize-space($content)">
|
||||
<fo:block xsl:use-attribute-sets="separator" span="all"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="detailsPositionAbrechnungszeitraum">
|
||||
<xsl:variable name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_start_date">
|
||||
<xsl:with-param name="value" select="format-date(xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_start_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_end_date">
|
||||
<xsl:with-param name="value" select="format-date(xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_end_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionAbrechnungszeitraum'"/>
|
||||
<xsl:with-param name="content" select="$content"/>
|
||||
</xsl:call-template>
|
||||
<xsl:if test="normalize-space($content)">
|
||||
<fo:block xsl:use-attribute-sets="separator" span="all"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPositionPreiseinzelheiten">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionPreiseinzelheiten'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoiced_quantity"/>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoiced_quantity_unit_of_measure_code"/>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:PRICE_DETAILS/xr:Item_net_price">
|
||||
<xsl:with-param name="value" select="format-number(xr:PRICE_DETAILS/xr:Item_net_price,$at-least-two-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Invoice_line_net_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Invoice_line_net_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PRICE_DETAILS/xr:Item_price_discount">
|
||||
<xsl:with-param name="value" select="format-number(xr:PRICE_DETAILS/xr:Item_price_discount,$at-least-two-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PRICE_DETAILS/xr:Item_gross_price">
|
||||
<xsl:with-param name="value" select="format-number(xr:PRICE_DETAILS/xr:Item_gross_price,$at-least-two-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PRICE_DETAILS/xr:Item_price_base_quantity"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PRICE_DETAILS/xr:Item_price_base_quantity_unit_of_measure"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:LINE_VAT_INFORMATION/xr:Invoiced_item_VAT_category_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:LINE_VAT_INFORMATION/xr:Invoiced_item_VAT_rate">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:LINE_VAT_INFORMATION/xr:Invoiced_item_VAT_rate,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPositionNachlaesse">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionNachlaesse'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:INVOICE_LINE_ALLOWANCES">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoice_line_allowance_base_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Invoice_line_allowance_base_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoice_line_allowance_percentage">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Invoice_line_allowance_percentage,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Invoice_line_allowance_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Invoice_line_allowance_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_allowance_reason"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_allowance_reason_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPositionZuschlaege">
|
||||
<xsl:variable name="content">
|
||||
<xsl:for-each select="xr:INVOICE_LINE_CHARGES">
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="value-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoice_line_charge_base_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Invoice_line_charge_base_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="value-list-entry" select="xr:Invoice_line_charge_percentage">
|
||||
<xsl:with-param name="value" select="concat(format-number(xr:Invoice_line_charge_percentage,$percentage-picture,$lang), '%')"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="sum-list-entry" select="xr:Invoice_line_charge_amount">
|
||||
<xsl:with-param name="value" select="format-number(xr:Invoice_line_charge_amount,$amount-picture,$lang)"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_charge_reason"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoice_line_charge_reason_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="section">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionZuschlaege'"/>
|
||||
<xsl:with-param name="content" select="$content"/>
|
||||
</xsl:call-template>
|
||||
<xsl:if test="normalize-space($content)">
|
||||
<fo:block xsl:use-attribute-sets="separator" span="all"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPositionArtikelinformationen">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionArtikelinformationen'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_description"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_Sellers_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_Buyers_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_standard_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_standard_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Item_standard_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:for-each select="xr:ITEM_INFORMATION/xr:Item_classification_identifier">
|
||||
<xsl:apply-templates mode="list-entry" select="."/>
|
||||
<xsl:apply-templates mode="list-entry" select="./@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Item_classification_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="./@scheme_version_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Item_classification_identifier/@scheme_version_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:ITEM_INFORMATION/xr:Item_country_of_origin"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="detailsPositionArtikeleigenschaften">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="headingId" select="'detailsPositionArtikeleigenschaften'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates select="xr:ITEM_INFORMATION/xr:ITEM_ATTRIBUTES"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetze">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'zusaetze'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="zusaetze_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetze_Content">
|
||||
<xsl:call-template name="zusaetzeVerkaeufer"/>
|
||||
<xsl:call-template name="zusaetzeSteuervertreter"/>
|
||||
<xsl:call-template name="zusaetzeKaeufer"/>
|
||||
<xsl:call-template name="zusaetzeLieferung"/>
|
||||
<xsl:call-template name="zusaetzeVertrag"/>
|
||||
<xsl:call-template name="zusaetzeZahlungsempfaenger"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeVerkaeufer">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeVerkaeufer'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_trading_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:SELLER_POSTAL_ADDRESS/xr:Seller_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_electronic_address"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_electronic_address/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Seller_electronic_address/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_legal_registration_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_legal_registration_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Seller_legal_registration_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_VAT_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_tax_registration_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER/xr:Seller_additional_legal_information"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:VAT_accounting_currency_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeSteuervertreter">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeSteuervertreter'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:Seller_tax_representative_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_address_line_1"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_address_line_2"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_address_line_3"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_post_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_city"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:SELLER_TAX_REPRESENTATIVE_POSTAL_ADDRESS/xr:Tax_representative_country_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:SELLER_TAX_REPRESENTATIVE_PARTY/xr:Seller_tax_representative_VAT_identifier"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeKaeufer">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeKaeufer'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_trading_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:BUYER_POSTAL_ADDRESS/xr:Buyer_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_electronic_address"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_electronic_address/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Buyer_electronic_address/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_legal_registration_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_legal_registration_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Buyer_legal_registration_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Buyer_VAT_identifier"/>
|
||||
<xsl:for-each select="tokenize(xr:Value_added_tax_point_date,';')">
|
||||
<xsl:call-template name="list-entry-bt-7">
|
||||
<xsl:with-param name="value" select="format-date(xs:date(.), xrf:_('date-format'))"/>
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Value_added_tax_point_date'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:BUYER/xr:Value_added_tax_point_date_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Buyer_accounting_reference"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeLieferung">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeLieferung'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:Deliver_to_location_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:Deliver_to_location_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Deliver_to_location_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:Actual_delivery_date">
|
||||
<xsl:with-param name="value" select="format-date(xr:DELIVERY_INFORMATION/xr:Actual_delivery_date, xrf:_('date-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:Deliver_to_party_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_address_line_1"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_address_line_2"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_address_line_3"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_post_code"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_city"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_country_subdivision"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:DELIVERY_INFORMATION/xr:DELIVER_TO_ADDRESS/xr:Deliver_to_country_code"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeVertrag">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeVertrag'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Tender_or_lot_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Receiving_advice_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Despatch_advice_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PROCESS_CONTROL/xr:Business_process_type"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PROCESS_CONTROL/xr:Specification_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PROCESS_CONTROL/xr:Business_process_type_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoiced_object_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Invoiced_object_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Invoiced_object_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="zusaetzeZahlungsempfaenger">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'zusaetzeZahlungsempfaenger'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYEE/xr:Payee_name"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYEE/xr:Payee_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYEE/xr:Payee_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Payee_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYEE/xr:Payee_legal_registration_identifier"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:PAYEE/xr:Payee_legal_registration_identifier/@scheme_identifier">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Payee_legal_registration_identifier/@scheme_identifier'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="anlagen">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'anlagen'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="anlagen_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="anlagen_Content">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'anlagenListe'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="xr:ADDITIONAL_SUPPORTING_DOCUMENTS">
|
||||
<xsl:call-template name="sub-list">
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Supporting_document_reference"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Supporting_document_description"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:External_document_location">
|
||||
<xsl:with-param name="value">
|
||||
<xsl:apply-templates mode="internet-link" select="xr:External_document_location"/>
|
||||
</xsl:with-param>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Attached_document">
|
||||
<xsl:with-param name="value">
|
||||
<xsl:apply-templates mode="binary" select="xr:Attached_document">
|
||||
<xsl:with-param name="identifier" select="xr:Attached_document/@filename"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Attached_document/@mime_code">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Attached_document/@mime_code'"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xr:Attached_document/@filename">
|
||||
<xsl:with-param name="field-mapping-identifier" select="'xr:Attached_document/@filename'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="laufzettel">
|
||||
<xsl:call-template name="page">
|
||||
<xsl:with-param name="identifier" select="'laufzettel'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="laufzettel_Content"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="laufzettel_Content">
|
||||
<xsl:call-template name="box">
|
||||
<xsl:with-param name="identifier" select="'laufzettelHistorie'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:for-each select="//xrv:laufzettel/xrv:laufzettelEintrag">
|
||||
<xsl:call-template name="sub-list">
|
||||
<xsl:with-param name="layout" select="'einspaltig'"/>
|
||||
<xsl:with-param name="content">
|
||||
<xsl:apply-templates mode="list-entry" select="xrv:zeitstempel">
|
||||
<xsl:with-param name="value" select="format-dateTime(xrv:zeitstempel, xrf:_('datetime-format'))"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates mode="list-entry" select="xrv:betreff"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xrv:text"/>
|
||||
<xsl:apply-templates mode="list-entry" select="xrv:details"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
103
library/src/main/resources/stylesheets/xr-pdf.xsl
Normal file
103
library/src/main/resources/stylesheets/xr-pdf.xsl
Normal file
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
version="2.0">
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Imports
|
||||
=========================================================================== -->
|
||||
<xsl:import href="common-xr.xsl"/>
|
||||
|
||||
<xsl:import href="xr-content.xsl"/>
|
||||
|
||||
<xsl:import href="xr-pdf/lib/konstanten.xsl"/>
|
||||
<xsl:import href="xr-pdf/lib/structure/layout-master-set.xsl"/>
|
||||
<xsl:import href="xr-pdf/lib/structure/content-templates.xsl"/>
|
||||
<xsl:import href="xr-pdf/lib/structure/page-sequence.xsl"/>
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="utf-8" />
|
||||
|
||||
<!-- FO engine used can be specified. Specific extensions will be then enabled.
|
||||
Supported values are:
|
||||
axf - Antenna House XSL Formatter
|
||||
fop - Apache FOP
|
||||
-->
|
||||
<xsl:param name="foengine"/>
|
||||
|
||||
<!-- Layout of invoce lines:
|
||||
normal - default behaviour
|
||||
tabular - table like
|
||||
-->
|
||||
<xsl:param name="invoiceline-layout">normal</xsl:param>
|
||||
|
||||
<!-- Numbering of invoice line/sub lines
|
||||
normal - use numbers from invoice
|
||||
1.1 - use multilevel arabic numbering
|
||||
1.i - use mixture of arabic and roman numbering
|
||||
00001 - use arabic numbering and align them
|
||||
- any picture string supported by xsl:number instruction can be used
|
||||
-->
|
||||
<xsl:param name="invoiceline-numbering">normal</xsl:param>
|
||||
|
||||
<!-- This parameter can be used when different proportions of table columns
|
||||
are needed for tabular layout
|
||||
-->
|
||||
<xsl:param name="tabular-layout-widths">2 7 2 2 2 2 1.3 2</xsl:param>
|
||||
|
||||
<xsl:param name="axf.extensions" select="if ($foengine eq 'axf') then true() else false()"/>
|
||||
<xsl:param name="fop.extensions" select="if ($foengine eq 'fop') then true() else false()"/>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Basic structure
|
||||
=========================================================================== -->
|
||||
<xsl:template match="xr:invoice">
|
||||
<fo:root xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf"
|
||||
language="{$lang}" font-family="{$fontSans}">
|
||||
<xsl:call-template name="generiere-layout-master-set"/>
|
||||
<fo:declarations>
|
||||
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||
<rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<dc:title><xsl:value-of select="xr:Invoice_number"/></dc:title>
|
||||
<!--
|
||||
<dc:creator></dc:creator>
|
||||
<dc:description></dc:description>
|
||||
-->
|
||||
</rdf:Description>
|
||||
</rdf:RDF>
|
||||
</x:xmpmeta>
|
||||
<xsl:for-each select="xr:ADDITIONAL_SUPPORTING_DOCUMENTS">
|
||||
<xsl:apply-templates mode="binary-declaration" select="xr:Attached_document">
|
||||
<xsl:with-param name="identifier" select="xr:Attached_document/@filename"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:for-each>
|
||||
</fo:declarations>
|
||||
<xsl:call-template name="generiere-page-sequence">
|
||||
<xsl:with-param name="body-content-flow">
|
||||
<fo:flow flow-name="xrBody"
|
||||
xsl:use-attribute-sets="fliesstext">
|
||||
<xsl:call-template name="uebersicht"/>
|
||||
<xsl:call-template name="details"/>
|
||||
<xsl:call-template name="zusaetze"/>
|
||||
<xsl:call-template name="anlagen"/>
|
||||
<xsl:call-template name="laufzettel"/>
|
||||
<fo:block id="seitenzahlLetzteSeite"></fo:block>
|
||||
</fo:flow>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</fo:root>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="betragsUebersicht">
|
||||
<xsl:param name="betraege"/>
|
||||
<xsl:param name="gruende"/>
|
||||
<!-- TODO -->
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
235
library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl
Normal file
235
library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl
Normal file
@@ -0,0 +1,235 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
version="2.0">
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Schriften
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:variable name="fontSans">SourceSerifPro</xsl:variable>
|
||||
<xsl:variable name="fontSerif">SourceSerifPro</xsl:variable>
|
||||
|
||||
<xsl:variable name="amount-picture" select="xrf:_('amount-format')"/>
|
||||
<xsl:variable name="percentage-picture" select="xrf:_('percentage-format')"/>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Attribute-Sets
|
||||
=========================================================================== -->
|
||||
|
||||
<!-- Fliesstext -->
|
||||
<xsl:attribute-set name="fliesstext">
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">12pt</xsl:attribute>
|
||||
<xsl:attribute name="hyphenation-ladder-count">3</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">true</xsl:attribute>
|
||||
<xsl:attribute name="language">de</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 Marker -->
|
||||
<xsl:attribute-set name="marker">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 -->
|
||||
<xsl:attribute-set name="h1">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2-Container -->
|
||||
<xsl:attribute-set name="h2-container">
|
||||
<xsl:attribute name="border-top">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">2.5pt</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2 -->
|
||||
<xsl:attribute-set name="h2">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="border">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding">4pt 6pt</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="margin">0</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H3 -->
|
||||
<xsl:attribute-set name="h3">
|
||||
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-top">2mm</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Separator -->
|
||||
<xsl:attribute-set name="separator">
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">3mm</xsl:attribute>
|
||||
<xsl:attribute name="border-bottom">0.5pt dotted</xsl:attribute>
|
||||
<xsl:attribute name="color">#999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Wert-Felder -->
|
||||
<xsl:variable name="wertHG">#eeeeee</xsl:variable>
|
||||
<xsl:variable name="wert-legende-breite">28</xsl:variable>
|
||||
|
||||
<xsl:attribute-set name="wert-legende">
|
||||
<xsl:attribute name="font-size">7pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="wert-ausgabe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="background-color"><xsl:value-of select="$wertHG"/></xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-column">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Rechnung-Felder -->
|
||||
<xsl:attribute-set name="rechnung-legende">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-legende-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Box-Container -->
|
||||
<xsl:attribute-set name="box-container-kapitel">
|
||||
<xsl:attribute name="margin-bottom">10mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-bereich">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-inner">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Tabular invoice lines -->
|
||||
<xsl:attribute-set name="invoicelines-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-header">
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-row">
|
||||
<!-- Nested sub-invoice lines will recursively decrease font-size -->
|
||||
<xsl:attribute name="font-size" select="if (self::xr:SUB_INVOICE_LINE) then '90%' else '100%'"/>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-nested-info">
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-allowances-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,972 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf"
|
||||
version="2.0">
|
||||
|
||||
|
||||
<xsl:template name="betragsUebersicht"/>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Inhalt eines Kapitels
|
||||
=========================================================================== -->
|
||||
<xsl:template name="page">
|
||||
<xsl:param name="identifier"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="h1">
|
||||
<xsl:with-param name="titel" select="$heading/label"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:copy-of select="$content"/>
|
||||
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Inhalt eines Abschnittes
|
||||
=========================================================================== -->
|
||||
<xsl:template name="box">
|
||||
<xsl:param name="identifier"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="h2">
|
||||
<xsl:with-param name="titel" select="$heading/label"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<!-- FIXME: keep-together.within-page="always" has been lost during refactor -->
|
||||
<xsl:for-each select="$content/*">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:for-each>
|
||||
<fo:block xsl:use-attribute-sets="box-container-bereich"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="spanned-box">
|
||||
<xsl:param name="identifier"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<fo:block xsl:use-attribute-sets="box-container-bereich" span="all">
|
||||
<xsl:call-template name="h2">
|
||||
<xsl:with-param name="titel" select="$heading/label"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:for-each select="$content/*">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:for-each>
|
||||
</fo:block>
|
||||
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Inhalt eines Teilbereich eines Abschnittes
|
||||
=========================================================================== -->
|
||||
<xsl:template name="section">
|
||||
<xsl:param name="layout">zweispaltig</xsl:param>
|
||||
<xsl:param name="headingId"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
<xsl:if test="$headingId">
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$headingId"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="h3">
|
||||
<xsl:with-param name="titel" select="$heading/label"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<fo:block>
|
||||
<xsl:copy-of select="$content"/>
|
||||
</fo:block>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Inhaltseinheit mit optionaler Überschrift
|
||||
=========================================================================== -->
|
||||
<xsl:template name="list">
|
||||
<xsl:param name="layout">zweispaltig</xsl:param>
|
||||
<xsl:param name="headingId"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
|
||||
<xsl:variable name="boxContent">
|
||||
<xsl:copy-of select="$content"/>
|
||||
<!-- Placeholder for spacing after the box -->
|
||||
<fo:block xsl:use-attribute-sets="box-container-inner" line-height="0pt" span="all"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$headingId">
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$headingId"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="h3">
|
||||
<xsl:with-param name="titel" select="$heading/label"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:copy-of select="$boxContent"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
==
|
||||
=========================================================================== -->
|
||||
<xsl:template name="sub-list">
|
||||
<xsl:param name="layout">zweispaltig</xsl:param>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
<xsl:call-template name="list">
|
||||
<xsl:with-param name="layout" select="$layout"/>
|
||||
<xsl:with-param name="content" select="$content"/>
|
||||
</xsl:call-template>
|
||||
<!-- Placeholder for spacing after the box -->
|
||||
<fo:block xsl:use-attribute-sets="box-container-inner" line-height="0pt" span="all"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Ausgabe eines Legende/Wert-Paares
|
||||
=========================================================================== -->
|
||||
<xsl:template match="@*|*" mode="list-entry">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:param name="field-mapping-identifier">
|
||||
<xsl:value-of select="name()"/>
|
||||
</xsl:param>
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:variable name="field-mapping">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$field-mapping-identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<fo:list-block margin-bottom="1mm"
|
||||
provisional-distance-between-starts="{$wert-legende-breite}mm">
|
||||
<fo:list-item>
|
||||
<fo:list-item-label end-indent="label-end()">
|
||||
<fo:block xsl:use-attribute-sets="wert-legende"><xsl:value-of select="$field-mapping/label"/>:</fo:block>
|
||||
</fo:list-item-label>
|
||||
<fo:list-item-body start-indent="body-start()">
|
||||
<fo:block xsl:use-attribute-sets="wert-ausgabe">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$value">
|
||||
<xsl:copy-of select="$value"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$field-mapping-identifier = 'xr:Payment_due_date'"><xsl:value-of select="format-date(xs:date(.), xrf:_('date-format'))"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:list-item-body>
|
||||
</fo:list-item>
|
||||
</fo:list-block>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="list-entry-bt-7">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:param name="field-mapping-identifier">
|
||||
<xsl:value-of select="name()"/>
|
||||
</xsl:param>
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:variable name="field-mapping">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$field-mapping-identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<fo:list-block margin-bottom="1mm"
|
||||
provisional-distance-between-starts="{$wert-legende-breite}mm">
|
||||
<fo:list-item>
|
||||
<fo:list-item-label end-indent="label-end()">
|
||||
<fo:block xsl:use-attribute-sets="wert-legende"><xsl:value-of select="$field-mapping/label"/>:</fo:block>
|
||||
</fo:list-item-label>
|
||||
<fo:list-item-body start-indent="body-start()">
|
||||
<fo:block xsl:use-attribute-sets="wert-ausgabe">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$value">
|
||||
<xsl:copy-of select="$value"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:list-item-body>
|
||||
</fo:list-item>
|
||||
</fo:list-block>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Ausgabe einer Tabelle
|
||||
=========================================================================== -->
|
||||
<xsl:template name="value-list">
|
||||
<xsl:param name="headingId"/>
|
||||
<xsl:param name="headingValue"/>
|
||||
<xsl:param name="content"/>
|
||||
|
||||
<xsl:if test="normalize-space($content)">
|
||||
|
||||
<xsl:variable name="boxContent">
|
||||
<fo:table xsl:use-attribute-sets="box-container-inner" margin-left="2mm"
|
||||
keep-together.within-column="always">
|
||||
<fo:table-column column-number="1" column-width="68%"/>
|
||||
<fo:table-column column-number="2" column-width="10%"/>
|
||||
<fo:table-column column-number="3" column-width="22%"/>
|
||||
<fo:table-header>
|
||||
<fo:table-row><fo:table-cell><fo:block/></fo:table-cell></fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body start-indent="0"
|
||||
end-indent="0">
|
||||
<xsl:copy-of select="$content"/>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$headingId">
|
||||
<xsl:variable name="heading">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$headingId"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<fo:block margin-left="2mm" font-weight="bold"><fo:inline><xsl:value-of select="$heading/label"/>: </fo:inline><fo:inline><xsl:value-of select="$headingValue"/>
|
||||
</fo:inline></fo:block>
|
||||
<xsl:copy-of select="$boxContent"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:copy-of select="$boxContent"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="*|@*" mode="value-list-entry">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:param name="field-mapping-identifier">
|
||||
<xsl:value-of select="name()"/>
|
||||
</xsl:param>
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:variable name="field-mapping">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$field-mapping-identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<fo:table-row>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-legende"><fo:block><xsl:value-of select="$field-mapping/label"/></fo:block></fo:table-cell>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-steuer"><fo:block><xsl:value-of select="$field-mapping/art"/></fo:block></fo:table-cell>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-wert">
|
||||
<fo:block>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$value">
|
||||
<xsl:value-of select="$value"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="*|@*" mode="sum-list-entry">
|
||||
<xsl:param name="level"/>
|
||||
<xsl:param name="value"/>
|
||||
<xsl:param name="field-mapping-identifier">
|
||||
<xsl:value-of select="name()"/>
|
||||
</xsl:param>
|
||||
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:variable name="field-mapping">
|
||||
<xsl:call-template name="field-mapping">
|
||||
<xsl:with-param name="identifier" select="$field-mapping-identifier"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<fo:table-row>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$level='final'">
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-legende-summe" font-weight="bold"><fo:block><xsl:value-of select="$field-mapping/label"/></fo:block></fo:table-cell>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-legende-summe"><fo:block><xsl:value-of select="$field-mapping/label"/></fo:block></fo:table-cell>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-steuer-summe"><fo:block><xsl:value-of select="$field-mapping/art"/></fo:block></fo:table-cell>
|
||||
<fo:table-cell xsl:use-attribute-sets="rechnung-wert-summe">
|
||||
<fo:block>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$value">
|
||||
<xsl:value-of select="$value"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Ausgabe Resourcen / Links
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:template match="*|@*" mode="internet-link">
|
||||
<xsl:param name="title" select="." />
|
||||
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="*|@*" mode="file-link">
|
||||
<xsl:param name="title" select="'Öffnen'" />
|
||||
|
||||
<xsl:if test="normalize-space(.)">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="*|@*" mode="binary">
|
||||
<xsl:param name="identifier"/>
|
||||
<fo:basic-link>
|
||||
<xsl:attribute name="external-destination">url(embedded-file:<xsl:value-of select="encode-for-uri($identifier)"/>)</xsl:attribute>
|
||||
<xsl:value-of select="$identifier"/>
|
||||
</fo:basic-link>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="*|@*" mode="binary-declaration">
|
||||
<xsl:param name="identifier"/>
|
||||
<pdf:embedded-file>
|
||||
<xsl:attribute name="filename"><xsl:value-of select="$identifier"/></xsl:attribute>
|
||||
<xsl:attribute name="src">data:application/pdf;base64,<xsl:value-of select="normalize-space(.)"/></xsl:attribute>
|
||||
</pdf:embedded-file>
|
||||
</xsl:template>
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Detailpositionenen
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:template match="xr:INVOICE_LINE">
|
||||
<xsl:variable name="identifier">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$invoiceline-numbering = 'normal'">
|
||||
<xsl:value-of select="xr:Invoice_line_identifier"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:number format="{$invoiceline-numbering}"
|
||||
level="multiple"
|
||||
count="xr:INVOICE_LINE | xr:SUB_INVOICE_LINE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="h2">
|
||||
<xsl:with-param name="titel" select="$identifier"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:variable name="content">
|
||||
<xsl:call-template name="detailsPosition"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$content/*">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates select="xr:SUB_INVOICE_LINE"/>
|
||||
|
||||
<fo:block xsl:use-attribute-sets="box-container-bereich"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="xr:SUB_INVOICE_LINE">
|
||||
<xsl:variable name="identifier">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$invoiceline-numbering = 'normal'">
|
||||
<xsl:value-of select="xr:Invoice_line_identifier"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:number format="{$invoiceline-numbering}"
|
||||
level="multiple"
|
||||
count="xr:INVOICE_LINE | xr:SUB_INVOICE_LINE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="h2">
|
||||
<xsl:with-param name="titel" select="$identifier"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:variable name="content">
|
||||
<xsl:call-template name="detailsPosition"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$content/*">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates select="xr:SUB_INVOICE_LINE"/>
|
||||
<fo:block xsl:use-attribute-sets="box-container-bereich"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Artikeleigenschaften
|
||||
=========================================================================== -->
|
||||
<xsl:template match="xr:ITEM_ATTRIBUTES">
|
||||
<fo:block-container margin-bottom="1mm">
|
||||
<fo:block-container margin="0mm">
|
||||
<fo:table margin-bottom="1mm">
|
||||
<fo:table-column>
|
||||
<xsl:attribute name="column-width"><xsl:value-of select="$wert-legende-breite"/>mm</xsl:attribute>
|
||||
</fo:table-column>
|
||||
<fo:table-column column-width="{86 - $wert-legende-breite}mm"/>
|
||||
<fo:table-header>
|
||||
<fo:table-row><fo:table-cell><fo:block/></fo:table-cell></fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:table width="100%">
|
||||
<fo:table-header>
|
||||
<fo:table-row><fo:table-cell><fo:block/></fo:table-cell></fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<fo:table-row>
|
||||
<fo:table-cell xsl:use-attribute-sets="wert-legende">
|
||||
<fo:block><xsl:value-of select="xr:Item_attribute_name"/>:</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell xsl:use-attribute-sets="wert-ausgabe">
|
||||
<fo:block><xsl:value-of select="xr:Item_attribute_value"/></fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:block-container>
|
||||
</fo:block-container>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Headlines
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:template name="h1">
|
||||
<xsl:param name="titel"/>
|
||||
<!-- Markers are not working with flat blocks approach that must have been used to for two-column layout in FOP -->
|
||||
<!--
|
||||
<xsl:if test="not($axf.extensions)">
|
||||
<fo:block>
|
||||
<fo:marker marker-class-name="aktueller-bereich-forts"></fo:marker>
|
||||
<fo:leader/>
|
||||
</fo:block>
|
||||
</xsl:if>
|
||||
-->
|
||||
<fo:block xsl:use-attribute-sets="h1">
|
||||
<xsl:if test="$axf.extensions">
|
||||
<xsl:attribute name="axf:suppress-if-first-on-page">true</xsl:attribute>
|
||||
<xsl:attribute name="axf:pdftag">h1</xsl:attribute>
|
||||
</xsl:if>
|
||||
<!--
|
||||
<fo:marker marker-class-name="aktueller-bereich-forts">
|
||||
<fo:inline font-weight="bold"><xsl:value-of select="$titel"/></fo:inline>
|
||||
<xsl:text> (Fortsetzung)</xsl:text>
|
||||
</fo:marker>
|
||||
-->
|
||||
<xsl:value-of select="$titel"/>
|
||||
</fo:block>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="h2">
|
||||
<xsl:param name="titel"/>
|
||||
<fo:block xsl:use-attribute-sets="h2-container">
|
||||
<xsl:if test="$axf.extensions">
|
||||
<xsl:attribute name="axf:pdftag">h2</xsl:attribute>
|
||||
</xsl:if>
|
||||
<fo:inline xsl:use-attribute-sets="h2">
|
||||
<xsl:value-of select="$titel"/>
|
||||
</fo:inline>
|
||||
</fo:block>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="h3">
|
||||
<xsl:param name="titel"/>
|
||||
<fo:block xsl:use-attribute-sets="h3"><xsl:value-of select="$titel"/></fo:block>
|
||||
</xsl:template>
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Invoice lines in tabular presentation
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:template match="xr:INVOICE_LINE | xr:SUB_INVOICE_LINE" mode="invoiceline-tabular">
|
||||
<!-- Process basic information -->
|
||||
<fo:table-row xsl:use-attribute-sets="invoicelines-table-row">
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$invoiceline-numbering = 'normal'">
|
||||
<xsl:value-of select="xr:Invoice_line_identifier"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:number format="{$invoiceline-numbering}"
|
||||
level="multiple"
|
||||
count="xr:INVOICE_LINE | xr:SUB_INVOICE_LINE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell padding-left="{count(ancestor-or-self::xr:SUB_INVOICE_LINE)}em">
|
||||
<fo:block><xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_name"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoiced_quantity"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="xr:Invoiced_quantity_unit_of_measure_code"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block><xsl:value-of select="format-number(xr:PRICE_DETAILS/xr:Item_net_price, $at-least-two-picture, $lang)"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:PRICE_DETAILS/xr:Item_price_base_quantity"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="xr:PRICE_DETAILS/xr:Item_price_base_quantity_unit_of_measure"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="concat(format-number(xr:LINE_VAT_INFORMATION/xr:Invoiced_item_VAT_rate, $percentage-picture, $lang), '%')"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block><xsl:value-of select="xr:LINE_VAT_INFORMATION/xr:Invoiced_item_VAT_category_code"/></fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block><xsl:value-of select="format-number(xr:Invoice_line_net_amount, $amount-picture, $lang)"/></fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_description | xr:Invoice_line_note">
|
||||
<fo:table-row xsl:use-attribute-sets="invoicelines-table-row">
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell padding-left="{count(ancestor-or-self::xr:SUB_INVOICE_LINE)}em" number-columns-spanned="6">
|
||||
<xsl:for-each select="xr:ITEM_INFORMATION/xr:Item_description | xr:Invoice_line_note">
|
||||
<fo:block>
|
||||
<xsl:value-of select="."/>
|
||||
</fo:block>
|
||||
</xsl:for-each>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:Referenced_purchase_order_line_reference | xr:Invoice_line_Buyer_accounting_reference">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:if test="xr:Referenced_purchase_order_line_reference">
|
||||
<xsl:value-of select="xrf:field-label('xr:Referenced_purchase_order_line_reference')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:Referenced_purchase_order_line_reference"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:Invoice_line_Buyer_accounting_reference">
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_Buyer_accounting_reference')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:Invoice_line_Buyer_accounting_reference"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:Invoice_line_object_identifier">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_object_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:Invoice_line_object_identifier"/>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:Invoice_line_object_identifier/@scheme_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_object_identifier/@scheme_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:Invoice_line_object_identifier/@scheme_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:INVOICE_LINE_PERIOD">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:if test="xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_start_date">
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_period_start_date')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="format-date(xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_start_date, xrf:_('date-format'))"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_end_date">
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_period_end_date')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="format-date(xr:INVOICE_LINE_PERIOD/xr:Invoice_line_period_end_date, xrf:_('date-format'))"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:PRICE_DETAILS/xr:Item_price_discount | xr:PRICE_DETAILS/xr:Item_gross_price">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:if test="xr:PRICE_DETAILS/xr:Item_price_discount">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_price_discount')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="format-number(xr:PRICE_DETAILS/xr:Item_price_discount, $at-least-two-picture, $lang)"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:PRICE_DETAILS/xr:Item_gross_price">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_gross_price')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="format-number(xr:PRICE_DETAILS/xr:Item_gross_price, $at-least-two-picture, $lang)"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_Sellers_identifier | xr:ITEM_INFORMATION/xr:Item_Buyers_identifier">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_Sellers_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_Sellers_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_Sellers_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_Buyers_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_Buyers_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_Buyers_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_standard_identifier">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_standard_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_standard_identifier"/>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_standard_identifier/@scheme_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_standard_identifier/@scheme_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_standard_identifier/@scheme_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:ITEM_INFORMATION/xr:Item_country_of_origin">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_country_of_origin')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:ITEM_INFORMATION/xr:Item_country_of_origin"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="xr:ITEM_INFORMATION/xr:Item_classification_identifier">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_classification_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="@scheme_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_classification_identifier/@scheme_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="@scheme_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col2">
|
||||
<xsl:if test="@scheme_version_identifier">
|
||||
<xsl:value-of select="xrf:field-label('xr:Item_classification_identifier/@scheme_version_identifier')"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="@scheme_version_identifier"/>
|
||||
</xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:for-each select="xr:ITEM_INFORMATION/xr:ITEM_ATTRIBUTES">
|
||||
<xsl:call-template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:with-param name="col1">
|
||||
<xsl:value-of select="xr:Item_attribute_name"/>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="xr:Item_attribute_value"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:if test="xr:INVOICE_LINE_ALLOWANCES">
|
||||
<fo:table-row xsl:use-attribute-sets="invoicelines-table-row">
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell padding-left="{count(ancestor-or-self::xr:SUB_INVOICE_LINE)}em" number-columns-spanned="6">
|
||||
<fo:table xsl:use-attribute-sets="invoicelines-allowances-table">
|
||||
<fo:table-column column-width="proportional-column-width(6)"/>
|
||||
<fo:table-column column-width="proportional-column-width(1)"/>
|
||||
<fo:table-column column-width="proportional-column-width(2)"/>
|
||||
<fo:table-column column-width="proportional-column-width(1)"/>
|
||||
<fo:table-column column-width="proportional-column-width(2)"/>
|
||||
<fo:table-header xsl:use-attribute-sets="invoicelines-table-header">
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_allowance_reason')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<!-- Standard full description is too long -->
|
||||
<!--<xsl:value-of select="xrf:field-label('xr:Invoice_line_allowance_reason_code')"/>-->
|
||||
Code
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_allowance_base_amount')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_allowance_percentage')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_allowance_amount')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<xsl:for-each select="xr:INVOICE_LINE_ALLOWANCES">
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_allowance_reason"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_allowance_reason_code"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_allowance_base_amount"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="concat(format-number(xr:Invoice_line_allowance_percentage, $percentage-picture, $lang), '%')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_allowance_amount"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:for-each>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="xr:INVOICE_LINE_CHARGES">
|
||||
<fo:table-row xsl:use-attribute-sets="invoicelines-table-row">
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell padding-left="{count(ancestor-or-self::xr:SUB_INVOICE_LINE)}em" number-columns-spanned="6">
|
||||
<fo:table xsl:use-attribute-sets="invoicelines-allowances-table">
|
||||
<fo:table-column column-width="proportional-column-width(6)"/>
|
||||
<fo:table-column column-width="proportional-column-width(1)"/>
|
||||
<fo:table-column column-width="proportional-column-width(2)"/>
|
||||
<fo:table-column column-width="proportional-column-width(1)"/>
|
||||
<fo:table-column column-width="proportional-column-width(2)"/>
|
||||
<fo:table-header xsl:use-attribute-sets="invoicelines-table-header">
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_charge_reason')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<!-- Standard full description is too long -->
|
||||
<!--<xsl:value-of select="xrf:field-label('xr:Invoice_line_charge_reason_code')"/>-->
|
||||
Code
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_charge_base_amount')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_charge_percentage')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xrf:field-label('xr:Invoice_line_charge_amount')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<xsl:for-each select="xr:INVOICE_LINE_CHARGES">
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_charge_reason"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_charge_reason_code"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right" padding-right="1em">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_charge_base_amount"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="center">
|
||||
<fo:block>
|
||||
<xsl:value-of select="concat(format-number(xr:Invoice_line_charge_percentage, $percentage-picture, $lang), '%')" />
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell text-align="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="xr:Invoice_line_charge_amount"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:for-each>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:apply-templates select="xr:SUB_INVOICE_LINE" mode="invoiceline-tabular"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="invoiceline-tabular-2-col-info">
|
||||
<xsl:param name="col1"/>
|
||||
<xsl:param name="col2"/>
|
||||
|
||||
<fo:table-row xsl:use-attribute-sets="invoicelines-nested-info">
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell padding-left="{count(ancestor-or-self::xr:SUB_INVOICE_LINE)}em" number-columns-spanned="6">
|
||||
<fo:list-block>
|
||||
<fo:list-item provisional-distance-between-starts="50%">
|
||||
<fo:list-item-label end-indent="label-end()">
|
||||
<fo:block>
|
||||
<xsl:copy-of select="$col1"/>
|
||||
</fo:block>
|
||||
</fo:list-item-label>
|
||||
<fo:list-item-body start-indent="body-start()">
|
||||
<fo:block>
|
||||
<xsl:copy-of select="$col2"/>
|
||||
</fo:block>
|
||||
</fo:list-item-body>
|
||||
</fo:list-item>
|
||||
</fo:list-block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block/>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
version="2.0">
|
||||
|
||||
<xsl:template name="generiere-layout-master-set">
|
||||
<fo:layout-master-set>
|
||||
<fo:simple-page-master master-name="A4Hoch"
|
||||
page-height="297mm"
|
||||
page-width="210mm">
|
||||
|
||||
<fo:region-body region-name="xrBody"
|
||||
margin="20mm 10mm 20mm 20mm"
|
||||
column-count="2"
|
||||
column-gap="8mm"/>
|
||||
|
||||
<fo:region-before region-name="header"
|
||||
extent="20mm"/>
|
||||
|
||||
<fo:region-after region-name="footer"
|
||||
extent="20mm"/>
|
||||
|
||||
<fo:region-start region-name="innen"
|
||||
extent="20mm"/>
|
||||
|
||||
<fo:region-end region-name="aussen"
|
||||
extent="10mm"/>
|
||||
</fo:simple-page-master>
|
||||
|
||||
<fo:page-sequence-master master-name="xrDokument">
|
||||
<fo:repeatable-page-master-alternatives>
|
||||
<fo:conditional-page-master-reference master-reference="A4Hoch" />
|
||||
</fo:repeatable-page-master-alternatives>
|
||||
</fo:page-sequence-master>
|
||||
</fo:layout-master-set>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
version="2.0">
|
||||
|
||||
<xsl:template name="generiere-page-sequence">
|
||||
<xsl:param name="body-content-flow" required="yes" as="node()"/>
|
||||
<fo:page-sequence master-reference="xrDokument">
|
||||
|
||||
<!-- Header -->
|
||||
<fo:static-content flow-name="header">
|
||||
<fo:block-container height="10mm"
|
||||
display-align="after">
|
||||
<fo:block>
|
||||
<fo:table width="100%"
|
||||
font-family="{$fontSans}"
|
||||
font-size="9pt">
|
||||
<fo:table-body>
|
||||
<fo:table-row>
|
||||
<fo:table-cell>
|
||||
<fo:block font-weight="bold">
|
||||
<xsl:value-of select="xrf:_('_no-content')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell white-space="nowrap"
|
||||
text-align="end">
|
||||
<fo:block>
|
||||
<xsl:value-of select="./xr:SELLER/xr:Seller_VAT_identifier"/>/<xsl:value-of select="xr:Invoice_number"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
<fo:block-container height="17mm"
|
||||
display-align="after">
|
||||
<fo:block xsl:use-attribute-sets="marker">
|
||||
<fo:inline>
|
||||
<fo:retrieve-marker retrieve-class-name="aktueller-bereich-forts"
|
||||
retrieve-position="first-including-carryover"/>
|
||||
</fo:inline>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
</fo:static-content>
|
||||
|
||||
<!-- Footer -->
|
||||
<fo:static-content flow-name="footer">
|
||||
<fo:block-container height="12mm"
|
||||
display-align="after">
|
||||
<fo:block font-family="{$fontSans}"
|
||||
font-size="9pt"
|
||||
text-align="center">
|
||||
<fo:block><xsl:value-of select="xrf:_('_page')"/><xsl:text> </xsl:text><fo:page-number/> / <fo:page-number-citation ref-id="seitenzahlLetzteSeite"/></fo:block>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
</fo:static-content>
|
||||
|
||||
<!-- Content -->
|
||||
<xsl:copy-of select="$body-content-flow"/>
|
||||
|
||||
</fo:page-sequence>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
Reference in New Issue
Block a user