reenable jcthiele

This commit is contained in:
jstaerk
2023-04-17 11:42:21 +02:00
parent 2a4ab932fa
commit 0ad9cfb195
3 changed files with 3538 additions and 2564 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -15,14 +15,31 @@
<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>
<xsl:output method="xml" indent="yes"/>
<!-- 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:include href="./common-xr.xsl"/>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/CreditNote:CreditNote">
<xr:invoice>
@@ -58,7 +75,16 @@
<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]"/>
<!--<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 -->
</xr:Invoice_note_subject_code>
</xsl:if>
<xr:Invoice_note>
@@ -100,7 +126,6 @@
<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>
@@ -137,21 +162,36 @@
<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"/>
<!--<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 -->
</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"/>
<!--<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 -->
</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"/>
<!--<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 -->
</xr:VAT_accounting_currency_code>
</xsl:template>
<xsl:template mode="BT-7" match="/CreditNote:CreditNote/cbc:TaxPointDate">
@@ -166,7 +206,12 @@
<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"/>
<!--<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 -->
</xr:Value_added_tax_point_date_code>
</xsl:template>
<xsl:template mode="BT-9"
@@ -244,7 +289,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.1153"/>
<!-- End: Jan Thiele -->
</xr:Invoiced_object_identifier>
</xsl:template>
<xsl:template mode="BT-19" match="/CreditNote:CreditNote/cbc:AccountingCost">
@@ -337,7 +385,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Seller_identifier>
</xsl:template>
<xsl:template mode="BT-30"
@@ -345,7 +396,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Seller_legal_registration_identifier>
</xsl:template>
<xsl:template mode="BT-31"
@@ -377,7 +431,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.EAS"/>
<!-- End: Jan Thiele -->
</xr:Seller_electronic_address>
</xsl:template>
<xsl:template mode="BG-5"
@@ -452,7 +509,12 @@
<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"/>
<!--<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 -->
</xr:Seller_country_code>
</xsl:template>
<xsl:template mode="BG-6"
@@ -501,6 +563,8 @@
<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"/>
@@ -536,11 +600,25 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</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(.)"/>
@@ -560,7 +638,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.EAS"/>
<!-- End: Jan Thiele -->
</xr:Buyer_electronic_address>
</xsl:template>
<xsl:template mode="BG-8"
@@ -635,7 +716,12 @@
<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"/>
<!--<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 -->
</xr:Buyer_country_code>
</xsl:template>
<xsl:template mode="BG-9"
@@ -704,7 +790,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Payee_identifier>
</xsl:template>
<xsl:template mode="BT-61"
@@ -712,7 +801,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Payee_legal_registration_identifier>
</xsl:template>
<xsl:template mode="BG-11" match="/CreditNote:CreditNote/cac:TaxRepresentativeParty">
@@ -818,7 +910,12 @@
<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"/>
<!--<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 -->
</xr:Tax_representative_country_code>
</xsl:template>
<xsl:template mode="BG-13" match="/CreditNote:CreditNote/cac:Delivery">
@@ -850,7 +947,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Deliver_to_location_identifier>
</xsl:template>
<xsl:template mode="BT-72"
@@ -962,7 +1062,12 @@
<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"/>
<!--<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 -->
</xr:Deliver_to_country_code>
</xsl:template>
<xsl:template mode="BT-81"
@@ -970,11 +1075,16 @@
<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"/>
<!--<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 -->
</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(.)"/>
@@ -1163,7 +1273,12 @@
<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"/>
<!--<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 -->
</xr:Document_level_allowance_VAT_category_code>
</xsl:template>
<xsl:template mode="BT-96"
@@ -1187,7 +1302,12 @@
<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"/>
<!--<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 -->
</xr:Document_level_allowance_reason_code>
</xsl:template>
<xsl:template mode="BG-21"
@@ -1245,7 +1365,12 @@
<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"/>
<!--<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 -->
</xr:Document_level_charge_VAT_category_code>
</xsl:template>
<xsl:template mode="BT-103"
@@ -1269,7 +1394,12 @@
<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"/>
<!--<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 -->
</xr:Document_level_charge_reason_code>
</xsl:template>
<xsl:template mode="BG-22" match="/CreditNote:CreditNote/cac:LegalMonetaryTotal">
@@ -1279,9 +1409,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[/CreditNote:CreditNote/cbc:DocumentCurrencyCode = @currencyID]"/>
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/>
<xsl:apply-templates mode="BT-111"
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:TaxCurrencyCode = @currencyID]"/>
select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/>
<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"/>
@@ -1413,7 +1543,12 @@
<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"/>
<!--<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 -->
</xr:VAT_category_code>
</xsl:template>
<xsl:template mode="BT-119"
@@ -1437,7 +1572,12 @@
<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"/>
<!--<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 -->
</xr:VAT_exemption_reason_code>
</xsl:template>
<xsl:template mode="BG-24"
@@ -1538,7 +1678,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.1153"/>
<!-- End: Jan Thiele -->
</xr:Invoice_line_object_identifier>
</xsl:template>
<xsl:template mode="BT-129"
@@ -1554,7 +1697,12 @@
<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"/>
<!--<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 -->
</xr:Invoiced_quantity_unit_of_measure_code>
</xsl:template>
<xsl:template mode="BT-131"
@@ -1670,7 +1818,12 @@
<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"/>
<!--<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 -->
</xr:Invoice_line_allowance_reason_code>
</xsl:template>
<xsl:template mode="BG-28"
@@ -1732,7 +1885,12 @@
<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"/>
<!--<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 -->
</xr:Invoice_line_charge_reason_code>
</xsl:template>
<xsl:template mode="BG-29"
@@ -1791,7 +1949,12 @@
<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"/>
<!--<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 -->
</xr:Item_price_base_quantity_unit_of_measure>
</xsl:template>
<xsl:template mode="BG-30"
@@ -1814,7 +1977,12 @@
<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"/>
<!--<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 -->
</xr:Invoiced_item_VAT_category_code>
</xsl:template>
<xsl:template mode="BT-152"
@@ -1882,7 +2050,10 @@
<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"/>
<!--<xsl:call-template name="identifier-with-scheme"/>-->
<!-- Begin: Jan Thiele -->
<xsl:call-template name="identifier-with-scheme.6523"/>
<!-- End: Jan Thiele -->
</xr:Item_standard_identifier>
</xsl:template>
<xsl:template mode="BT-158"
@@ -1890,7 +2061,10 @@
<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"/>
<!--<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 -->
</xr:Item_classification_identifier>
</xsl:template>
<xsl:template mode="BT-159"
@@ -1898,7 +2072,12 @@
<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"/>
<!--<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 -->
</xr:Item_country_of_origin>
</xsl:template>
<xsl:template mode="BG-32"
@@ -2103,5 +2282,151 @@
</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>

File diff suppressed because it is too large Load Diff