diff --git a/library/src/main/resources/stylesheets/cii-xr.xsl b/library/src/main/resources/stylesheets/cii-xr.xsl index fb1eefdf..a27035b5 100644 --- a/library/src/main/resources/stylesheets/cii-xr.xsl +++ b/library/src/main/resources/stylesheets/cii-xr.xsl @@ -3,6 +3,7 @@ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" @@ -11,2149 +12,2533 @@ xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="#all" version="2.0"> - - - - Author: KoSIT Bremen (kosit@finanzen.bremen.de) - Fassung vom: 2020-06-30+02:00 - Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. - Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Author: + KoSIT Bremen (kosit@finanzen.bremen.de) + + Fassung vom: 2020-06-30+02:00 + modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 + Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B + in eine Instanz gemäß des Schemas für den Namensraum + urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. + + Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der + Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - --> - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + ; - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + #SKONTO# - - - - - - - - + TAGE + WOCHEN - - - - - - + =#PROZENT=# + + + + + + + ; + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ILLEGAL DATE FORMAT: <para>Mit diesem Datentyp wird ein kalendarisches Datum + abgebildet, wie es in der ISO 8601 Spezifikation <quote>Calendar date complete representation</quote> + beschrieben ist (siehe ISO 8601:2004, Abschnitt 5.2.1.1). Das Datum beinhaltet keine Zeitangabe. Das + konkret zu verwendende Format ist abhängig von der genutzten Syntax.</para> + <para>Der Datentyp basiert auf dem Typ <quote>Date Time. Type</quote>, wie in ISO + 15000-5:2014 Anhang B definiert.</para> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + / + + + [ + + ] + + + + /@ + + diff --git a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl index 711a6f9f..da2b18c8 100644 --- a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl +++ b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl @@ -15,14 +15,31 @@ Author: KoSIT Bremen (kosit@finanzen.bremen.de) Fassung vom: 2020-06-30+02:00 + modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.CreditNote in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. - + + + + + + + + + + + + + + + + + - + @@ -58,7 +75,16 @@ - + + + + + + + + + + @@ -100,7 +126,6 @@ - @@ -137,21 +162,36 @@ - + + + + + + - + + + + + + - + + + + + + @@ -166,7 +206,12 @@ - + + + + + + - + + + + @@ -337,7 +385,10 @@ - + + + + - + + + + - + + + + - + + + + + + + @@ -536,11 +600,25 @@ - + + + + + + + + + + + + + + @@ -560,7 +638,10 @@ - + + + + - + + + + + + - + + + + - + + + + @@ -818,7 +910,12 @@ - + + + + + + @@ -850,7 +947,10 @@ - + + + + - + + + + + + - + + + + + + + match="/CreditNote:CreditNote/cac:PaymentMeans/cbc:PaymentMeansCode/@Name"> @@ -1163,7 +1273,12 @@ - + + + + + + - + + + + + + - + + + + + + - + + + + + + @@ -1279,9 +1409,9 @@ + select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/> + select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount"/> @@ -1413,7 +1543,12 @@ - + + + + + + - + + + + + + - + + + + - + + + + + + - + + + + + + - + + + + + + - + + + + + + - + + + + + + - + + + + - + + + + - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + / + + + [ + + ] + + + + /@ + + + diff --git a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl index b3031ba8..7bdec35d 100644 --- a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl +++ b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl @@ -1,31 +1,46 @@ + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1" + xmlns:Invoice="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" + xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" + xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" + xmlns:saxon="http://saxon.sf.net/" + exclude-result-prefixes="#all" + version="2.0"> Author: KoSIT Bremen (kosit@finanzen.bremen.de) Fassung vom: 2020-06-30+02:00 - Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax - UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum - urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. - Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML - Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das - Ergebnis nicht definiert. + modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 + Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. + Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. + + + + + + + + + + + + + + + + + + - - - @@ -46,15 +61,12 @@ + select="./cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode='130']"/> - + @@ -62,7 +74,16 @@ - + + + + + + + + + + @@ -90,7 +111,7 @@ + select="./cac:BillingReference/cac:InvoiceDocumentReference"/> @@ -104,7 +125,6 @@ - @@ -114,14 +134,13 @@ + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/> - @@ -142,21 +161,36 @@ - + + + + + + - + + + + + + - + + + + + + @@ -166,11 +200,17 @@ - + - + + + + + + @@ -194,7 +234,8 @@ - + @@ -208,28 +249,32 @@ - + - + - + - + @@ -237,11 +282,14 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode='130']"> - + + + + @@ -259,9 +307,8 @@ - - + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference"> + @@ -274,7 +321,7 @@ + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID"> @@ -282,7 +329,7 @@ + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate"> @@ -290,19 +337,18 @@ - - + + select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']"/> + select="./cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm"/> @@ -316,7 +362,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"> @@ -324,7 +370,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name"> @@ -332,23 +378,29 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID"> - + + + + + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID"> - + + + + + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> @@ -356,7 +408,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']"> @@ -364,7 +416,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm"> @@ -372,17 +424,19 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID"> - + + + + - - + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress"> + @@ -400,7 +454,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName"> @@ -408,7 +462,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -416,7 +470,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -424,7 +478,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName"> @@ -432,7 +486,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone"> @@ -440,7 +494,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity"> @@ -448,17 +502,21 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - + + + + + + - - + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact"> + @@ -472,7 +530,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name"> @@ -480,7 +538,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone"> @@ -488,7 +546,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail"> @@ -496,17 +554,16 @@ - - + + select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -520,7 +577,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"> @@ -528,7 +585,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name"> @@ -536,23 +593,29 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID"> - + + + + + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID"> - + + + + + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> @@ -560,17 +623,19 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID"> - + + + + - - + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress"> + @@ -588,7 +653,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName"> @@ -596,7 +661,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -604,7 +669,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -612,7 +677,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName"> @@ -620,7 +685,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone"> @@ -628,7 +693,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity"> @@ -636,17 +701,21 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - + + + + + + - - + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact"> + @@ -660,7 +729,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name"> @@ -668,7 +737,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Telephone"> @@ -676,7 +745,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail"> @@ -684,8 +753,7 @@ - - + @@ -698,34 +766,41 @@ - + - + - + + + + + match="/Invoice:Invoice/cac:PayeeParty/cac:PartyLegalEntity/cbc:CompanyID"> - + + + + - - + + select="./cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -737,7 +812,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyName/cbc:Name"> @@ -745,16 +820,16 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - - - + + @@ -772,7 +847,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:StreetName"> @@ -780,7 +855,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -788,7 +863,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -796,7 +871,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CityName"> @@ -804,7 +879,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:PostalZone"> @@ -812,7 +887,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CountrySubentity"> @@ -820,16 +895,20 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - + + + + + + - - + @@ -845,21 +924,26 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name"> - + - + + + + - + @@ -867,8 +951,7 @@ - - + @@ -894,9 +977,9 @@ - - - + + @@ -914,7 +997,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName"> @@ -922,7 +1005,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName"> @@ -930,7 +1013,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line"> @@ -938,7 +1021,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName"> @@ -946,7 +1029,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone"> @@ -954,7 +1037,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CountrySubentity"> @@ -962,21 +1045,33 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode"> - + + + + + + - + - + + + + + + - + @@ -990,9 +1085,9 @@ - - - + + @@ -1006,7 +1101,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID"> @@ -1014,7 +1109,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:Name"> @@ -1022,7 +1117,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID"> @@ -1030,8 +1125,7 @@ - - + @@ -1044,7 +1138,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID"> @@ -1052,21 +1146,21 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName"> - - - + + + select="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/> + select="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/> @@ -1077,7 +1171,8 @@ - + @@ -1085,7 +1180,7 @@ + match="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"> @@ -1093,7 +1188,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"> @@ -1101,7 +1196,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID"> @@ -1109,24 +1204,22 @@ - - + match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"> + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> + select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -1137,7 +1230,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1145,7 +1238,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1153,7 +1246,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1161,15 +1254,20 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - + + + + + + + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']"> @@ -1177,7 +1275,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1185,32 +1283,35 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"> - + + + + + + - - + match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"> + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/> + select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"/> @@ -1221,7 +1322,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1229,7 +1330,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1237,7 +1338,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1245,15 +1346,20 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"> - + + + + + + + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"> @@ -1261,7 +1367,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1269,24 +1375,26 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"> - + + + + + + - - + - - + + @@ -1301,7 +1409,7 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount"> @@ -1309,14 +1417,15 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount"> - + @@ -1324,7 +1433,7 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount"> @@ -1346,14 +1455,15 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"> - + @@ -1361,14 +1471,15 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount"> - + @@ -1376,12 +1487,11 @@ - - + + select="./cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -1395,14 +1505,15 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount"> - + @@ -1410,15 +1521,20 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - + + + + + + + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent"> @@ -1426,7 +1542,7 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason"> @@ -1434,21 +1550,25 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode"> - + + + + + + - - + + select="./cac:Attachment/cbc:EmbeddedDocumentBinaryObject"/> @@ -1458,7 +1578,8 @@ - + @@ -1466,7 +1587,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription"> @@ -1474,7 +1595,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI"> @@ -1482,7 +1603,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject"> @@ -1490,13 +1611,11 @@ - - + - + select="./cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"/> @@ -1504,9 +1623,9 @@ + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/> @@ -1535,42 +1654,55 @@ + match="cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"> - + + + + - + - + - + + + + + + - + - + - + @@ -1578,8 +1710,7 @@ - - + @@ -1591,34 +1722,35 @@ - + - + - - - + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -1629,7 +1761,7 @@ + match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1637,7 +1769,7 @@ + match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1645,7 +1777,7 @@ + match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1653,7 +1785,7 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1661,27 +1793,31 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"> - + + + + + + - - - + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"/> @@ -1692,7 +1828,7 @@ + match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1700,7 +1836,7 @@ + match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1708,7 +1844,7 @@ + match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1716,7 +1852,7 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1724,21 +1860,25 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"> - + + + + + + - - + + select="./cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -1750,7 +1890,8 @@ - + @@ -1758,7 +1899,7 @@ + match="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1766,30 +1907,37 @@ + match="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> - + - + - + + + + + + - - - + + @@ -1801,14 +1949,21 @@ - + - + + + + + + - + @@ -1816,15 +1971,14 @@ - - + + select="./cac:CommodityClassification/cbc:ItemClassificationCode"/> @@ -1836,59 +1990,76 @@ - + - + - + - + - + - + + + + + match="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode"> - + + + + - + - + + + + + + - - - + + @@ -1900,14 +2071,16 @@ - + - + @@ -1915,8 +2088,7 @@ - - + - + - - + + select="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode"/> + select="cac:Item/cac:OriginCountry/cbc:IdentificationCode"/> @@ -1965,10 +2136,10 @@ - - - - + + + @@ -1979,22 +2150,20 @@ - + - - + match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"> + + select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -2005,20 +2174,18 @@ - - + match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"> + + select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"/> @@ -2029,8 +2196,7 @@ - - + @@ -2043,11 +2209,9 @@ - - + - + @@ -2056,15 +2220,14 @@ - + - - + + select="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -2076,39 +2239,140 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + + - - - - - - + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + / + + + [ + + ] + + + + /@ - - - - - - - - - - - - - - - - - - - - -