]> git.ipfire.org Git - thirdparty/python-drafthorse.git/commitdiff
Fix wrong namespaces
authorRaphael Michel <mail@raphaelmichel.de>
Mon, 15 Oct 2018 18:51:43 +0000 (20:51 +0200)
committerRaphael Michel <mail@raphaelmichel.de>
Mon, 15 Oct 2018 18:51:43 +0000 (20:51 +0200)
13 files changed:
drafthorse/models/accounting.py
drafthorse/models/delivery.py
drafthorse/models/document.py
drafthorse/models/elements.py
drafthorse/models/note.py
drafthorse/models/party.py
drafthorse/models/payment.py
drafthorse/models/product.py
drafthorse/models/references.py
drafthorse/models/trade.py
drafthorse/models/tradelines.py
drafthorse/utils.py
tests/utils.py [deleted file]

index 253941b6377dcdde6f9b41fea0786a3ae77a58e3..f2c565387c74bbbfd4d7de72f7ef269b0ec52b46 100644 (file)
-from . import NS_FERD_1p0, COMFORT, EXTENDED, BASIC
+from . import NS_RAM, COMFORT, EXTENDED, BASIC
 from .elements import Element
 from .fields import DateTimeField, StringField, CurrencyField, DecimalField, MultiField, IndicatorField
 
 
 class LineApplicableTradeTax(Element):
-    calculated_amount = CurrencyField(NS_FERD_1p0, "CalculatedAmount", required=True,
+    calculated_amount = CurrencyField(NS_RAM, "CalculatedAmount", required=True,
                                       profile=BASIC, _d="Steuerbetrag")
-    type_code = StringField(NS_FERD_1p0, "TypeCode", required=True, profile=BASIC,
+    type_code = StringField(NS_RAM, "TypeCode", required=True, profile=BASIC,
                             _d="Steuerart (Code)")
-    exemption_reason = StringField(NS_FERD_1p0, "ExemptionReason", required=False,
+    exemption_reason = StringField(NS_RAM, "ExemptionReason", required=False,
                                    profile=COMFORT, _d="Grund der Steuerbefreiung (Freitext)")
-    category_code = StringField(NS_FERD_1p0, "CategoryCode", required=False,
+    category_code = StringField(NS_RAM, "CategoryCode", required=False,
                                 profile=COMFORT, _d="Steuerkategorie (Wert)")
-    applicable_percent = DecimalField(NS_FERD_1p0, "ApplicablePercent",
+    applicable_percent = DecimalField(NS_RAM, "ApplicablePercent",
                                       required=True, profile=BASIC)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ApplicableTradeTax"
 
 
 class ApplicableTradeTax(LineApplicableTradeTax):
-    basis_amount = CurrencyField(NS_FERD_1p0, "BasisAmount", required=True,
+    basis_amount = CurrencyField(NS_RAM, "BasisAmount", required=True,
                                  profile=BASIC, _d="Basisbetrag der Steuerberechnung")
-    line_total_basis_amount = CurrencyField(NS_FERD_1p0, "LineTotalBasisAmount",
+    line_total_basis_amount = CurrencyField(NS_RAM, "LineTotalBasisAmount",
                                             required=False, profile=EXTENDED,
                                             _d="Warenbetrag des Steuersatzes")
-    allowance_charge_basis_amount = CurrencyField(NS_FERD_1p0, "AllowanceChargeBasisAmount",
+    allowance_charge_basis_amount = CurrencyField(NS_RAM, "AllowanceChargeBasisAmount",
                                                   required=False, profile=EXTENDED,
                                                   _d="Gesamtbetrag Zu- und Abschläge des Steuersatzes")
 
 
 class AccountingAccount(Element):
-    id = StringField(NS_FERD_1p0, "ID", required=True, profile=EXTENDED, _d="Buchungsreferenz")
+    id = StringField(NS_RAM, "ID", required=True, profile=EXTENDED, _d="Buchungsreferenz")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ReceivableSpecifiedTradeAccount"
 
 
 class MonetarySummation(Element):
-    line_total = CurrencyField(NS_FERD_1p0, "LineTotalAmount", required=True,
+    line_total = CurrencyField(NS_RAM, "LineTotalAmount", required=True,
                                profile=BASIC, _d="Gesamtbetrag der Positionen")
-    charge_total = CurrencyField(NS_FERD_1p0, "ChargeTotalAmount", required=True,
+    charge_total = CurrencyField(NS_RAM, "ChargeTotalAmount", required=True,
                                  profile=BASIC, _d="Gesamtbetrag der Zuschläge")
-    allowance_total = CurrencyField(NS_FERD_1p0, "AllowanceTotalAmount", required=True,
+    allowance_total = CurrencyField(NS_RAM, "AllowanceTotalAmount", required=True,
                                     profile=BASIC, _d="Gesamtbetrag der Abschläge")
-    tax_basis_total = CurrencyField(NS_FERD_1p0, "TaxBasisTotalAmount", required=True,
+    tax_basis_total = CurrencyField(NS_RAM, "TaxBasisTotalAmount", required=True,
                                     profile=BASIC, _d="Steuerbasisbetrag")
-    tax_total = CurrencyField(NS_FERD_1p0, "TaxTotalAmount", required=True,
+    tax_total = CurrencyField(NS_RAM, "TaxTotalAmount", required=True,
                               profile=BASIC, _d="Steuergesamtbetrag")
-    grand_total = CurrencyField(NS_FERD_1p0, "GrandTotalAmount", required=True,
+    grand_total = CurrencyField(NS_RAM, "GrandTotalAmount", required=True,
                                 profile=BASIC, _d="Bruttosumme")
-    prepaid_total = CurrencyField(NS_FERD_1p0, "TotalPrepaidAmount", required=False,
+    prepaid_total = CurrencyField(NS_RAM, "TotalPrepaidAmount", required=False,
                                   profile=COMFORT, _d="Anzahlungsbetrag")
-    due_amount = CurrencyField(NS_FERD_1p0, "DuePayableAmount", required=False,
+    due_amount = CurrencyField(NS_RAM, "DuePayableAmount", required=False,
                                profile=COMFORT, _d="Zahlbetrag")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTradeSettlementMonetarySummation"
 
 
 class BillingSpecifiedPeriod(Element):
-    start = DateTimeField(NS_FERD_1p0, "StartDateTime", required=True, profile=COMFORT)
-    end = DateTimeField(NS_FERD_1p0, "EndDateTime", required=True, profile=COMFORT)
+    start = DateTimeField(NS_RAM, "StartDateTime", required=True, profile=COMFORT)
+    end = DateTimeField(NS_RAM, "EndDateTime", required=True, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "BillingSpecifiedPeriod"
 
 
 class AppliedTradeTax(Element):
-    type_code = StringField(NS_FERD_1p0, "TypeCode", required=True, profile=COMFORT)
-    category_code = StringField(NS_FERD_1p0, "CategoryCode", required=True, profile=COMFORT)
-    applicable_percent = StringField(NS_FERD_1p0, "ApplicablePercent", required=True, profile=COMFORT)
+    type_code = StringField(NS_RAM, "TypeCode", required=True, profile=COMFORT)
+    category_code = StringField(NS_RAM, "CategoryCode", required=True, profile=COMFORT)
+    applicable_percent = StringField(NS_RAM, "ApplicablePercent", required=True, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "AppliedTradeTax"
 
 
 class CategoryTradeTax(AppliedTradeTax):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "CategoryTradeTax"
 
 
 class TradeAllowanceCharge(Element):
-    indicator = IndicatorField(NS_FERD_1p0, "ChargeIndicator", required=False, profile=COMFORT,
+    indicator = IndicatorField(NS_RAM, "ChargeIndicator", required=False, profile=COMFORT,
                                _d="Schalter für Zu-/Abschlag")
-    sequence_numeric = DecimalField(NS_FERD_1p0, "SequenceNumeric", required=False, profile=EXTENDED,
+    sequence_numeric = DecimalField(NS_RAM, "SequenceNumeric", required=False, profile=EXTENDED,
                                     _d="Berechnungsreihenfolge")
-    calculation_percent = DecimalField(NS_FERD_1p0, "CalculationPercent",
+    calculation_percent = DecimalField(NS_RAM, "CalculationPercent",
                                        required=False, profile=EXTENDED,
                                        _d="Rabatt in Prozent")
-    basis_amount = CurrencyField(NS_FERD_1p0, "BasisAmount", required=False,
+    basis_amount = CurrencyField(NS_RAM, "BasisAmount", required=False,
                                  profile=EXTENDED, _d="Basisbetrag des Rabatts")
-    basis_quantity = CurrencyField(NS_FERD_1p0, "BasisQuantity", required=False,
+    basis_quantity = CurrencyField(NS_RAM, "BasisQuantity", required=False,
                                    profile=EXTENDED, _d="Basismenge des Rabatts")
-    actual_amount = CurrencyField(NS_FERD_1p0, "ActualAmount", required=True,
+    actual_amount = CurrencyField(NS_RAM, "ActualAmount", required=True,
                                   profile=COMFORT, _d="Betrag des Zu-/Abschlags")
-    reason_code = StringField(NS_FERD_1p0, "ReasonCode", required=False, profile=EXTENDED)
-    reason = StringField(NS_FERD_1p0, "Reason", required=False, profile=COMFORT)
+    reason_code = StringField(NS_RAM, "ReasonCode", required=False, profile=EXTENDED)
+    reason = StringField(NS_RAM, "Reason", required=False, profile=COMFORT)
     trade_tax = MultiField(CategoryTradeTax, required=False, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTradeAllowanceCharge"
index 83d6214508a1007ed212e2948e58953ebc070227..aaf071cf89581003aaf76f7d3d0c9680178082eb 100644 (file)
@@ -1,4 +1,4 @@
-from . import NS_FERD_1p0, BASIC, EXTENDED
+from . import NS_RAM, BASIC, EXTENDED
 from .elements import Element
 from .fields import DateTimeField, StringField, IDField, Field
 from .party import ShipToTradeParty, ShipFromTradeParty, UltimateShipToTradeParty
@@ -6,21 +6,21 @@ from .references import DespatchAdviceReferencedDocument, DeliveryNoteReferenced
 
 
 class SupplyChainEvent(Element):
-    occurrence = DateTimeField(NS_FERD_1p0, "OccurenceDateTime",
+    occurrence = DateTimeField(NS_RAM, "OccurenceDateTime",
                                required=False, profile=BASIC,
                                _d="Tatsächlicher Lieferungszeitpunkt")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ActualDeliverySupplyChainEvent"
 
 
 class LogisticsTransportMovement(Element):
-    mode_code = StringField(NS_FERD_1p0, "ModeCode", required=False, profile=EXTENDED)
-    id = IDField(NS_FERD_1p0, "ID", required=False, profile=EXTENDED)
+    mode_code = StringField(NS_RAM, "ModeCode", required=False, profile=EXTENDED)
+    id = IDField(NS_RAM, "ID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedLogisticsTransportMovement"
 
 
@@ -28,7 +28,7 @@ class SupplyChainConsignment(Element):
     movement = Field(LogisticsTransportMovement, required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "RelatedSupplyChainConsignment"
 
 
@@ -45,5 +45,5 @@ class TradeDelivery(Element):
                           profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ApplicableSupplyChainTradeDelivery"
index 6104b49ed55595b6812035f5b6c8d399309409f1..ea212c4963eefc8b71499cc29e413c2e869ef029 100644 (file)
@@ -1,30 +1,30 @@
 import xml.etree.cElementTree as ET
 
 from drafthorse.models.note import IncludedNote
-from . import NS_RAM, NS_UDT, NS_FERD_1p0, EXTENDED, BASIC
+from . import NS_FERD_1p0, NS_UDT, NS_RAM, EXTENDED, BASIC
 from .elements import Element
 from .fields import DateTimeField, Field, MultiField, StringField, IndicatorField, MultiStringField
 from .trade import TradeTransaction
 
 
 class GuidelineDocumentContextParameter(Element):
-    id = StringField(NS_FERD_1p0, "ID")
+    id = StringField(NS_RAM, "ID")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "GuidelineSpecifiedDocumentContextParameter"
 
 
 class BusinessDocumentContextParameter(Element):
-    id = StringField(NS_FERD_1p0, "ID")
+    id = StringField(NS_RAM, "ID")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "BusinessSpecifiedDocumentContextParameter"
 
 
 class DocumentContext(Element):
-    test_indicator = IndicatorField(NS_FERD_1p0, "TestIndicator", required=False,
+    test_indicator = IndicatorField(NS_RAM, "TestIndicator", required=False,
                                     profile=BASIC, _d="Testkennzeichen")
     guideline_parameter = Field(GuidelineDocumentContextParameter, required=True,
                                 profile=BASIC, _d="Anwendungsempfehlung")
@@ -37,28 +37,28 @@ class DocumentContext(Element):
 
 
 class EffectivePeriod(Element):
-    complete = DateTimeField(NS_FERD_1p0, "CompleteDateTime")
+    complete = DateTimeField(NS_RAM, "CompleteDateTime")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "EffectiveSpecifiedPeriod"
 
 
 class Header(Element):
-    id = StringField(NS_FERD_1p0, "ID", required=True, profile=BASIC,
+    id = StringField(NS_RAM, "ID", required=True, profile=BASIC,
                      _d="Rechnungsnummer")
-    name = StringField(NS_FERD_1p0, "Name", required=True, profile=BASIC,
+    name = StringField(NS_RAM, "Name", required=True, profile=BASIC,
                        _d="Dokumentenart (Freitext)")
-    type_code = StringField(NS_FERD_1p0, "TypeCode", required=True, profile=BASIC,
+    type_code = StringField(NS_RAM, "TypeCode", required=True, profile=BASIC,
                             _d="Dokumentenart (Code)")
-    issue_date_time = DateTimeField(NS_FERD_1p0, "IssueDateTime", required=True,
+    issue_date_time = DateTimeField(NS_RAM, "IssueDateTime", required=True,
                                     profile=BASIC, _d="Rechnungsdatum")
-    copy_indicator = IndicatorField(NS_FERD_1p0, "CopyIndicator", required=False,
+    copy_indicator = IndicatorField(NS_RAM, "CopyIndicator", required=False,
                                     profile=EXTENDED, _d="Indikator Original/Kopie")
+    languages = MultiStringField(NS_RAM, "LanguageID", required=False, profile=EXTENDED)
     effective_period = Field(EffectivePeriod, required=False, profile=EXTENDED,
                              _d="Vertragliches Fälligkeitsdatum der Rechnung")
     notes = MultiField(IncludedNote)
-    languages = MultiStringField(NS_FERD_1p0, "LanguageID", required=False, profile=EXTENDED)
 
     class Meta:
         namespace = NS_FERD_1p0
index 564986c6a5db004771dfb12812e5a18f401024a2..404be1b82193817bc8fda8e2d5634f245a5c0651 100644 (file)
@@ -2,6 +2,7 @@ import sys
 import xml.etree.cElementTree as ET
 from collections import OrderedDict
 
+from drafthorse.utils import validate_xml
 from . import NS_UDT
 from .fields import Field
 
@@ -45,7 +46,11 @@ class Element(metaclass=BaseElementMeta):
         node.append(self.to_etree())
 
     def serialize(self):
-        return b"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + ET.tostring(self.to_etree(), "utf-8")
+        xml = b"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + ET.tostring(self.to_etree(), "utf-8")
+        print(xml)
+        validate_xml(xmlout=xml, schema="ZUGFeRD1p0")
+        return xml
+
 
 
 class StringElement(Element):
index 21a101c3a31f7115a64e346acfa0133ca2a9fc67..0be92257ecce637bb2d3372e23c824d5c230aac3 100644 (file)
@@ -1,16 +1,16 @@
-from . import NS_FERD_1p0, BASIC, COMFORT, EXTENDED
+from . import NS_RAM, BASIC, COMFORT, EXTENDED
 from .elements import Element
 from .fields import StringField, MultiStringField
 
 
 class IncludedNote(Element):
-    content = MultiStringField(NS_FERD_1p0, "Content", required=False,
+    content = MultiStringField(NS_RAM, "Content", required=False,
                                profile=BASIC)
-    content_code = StringField(NS_FERD_1p0, "ContentCode", required=False,
+    content_code = StringField(NS_RAM, "ContentCode", required=False,
                                profile=EXTENDED)
-    subject_code = StringField(NS_FERD_1p0, "SubjectCode", required=False,
+    subject_code = StringField(NS_RAM, "SubjectCode", required=False,
                                profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "IncludedNote"
index c636fd4fc70ee2fc874eea8f531864085bd97e3a..ae15492dc2d7bb9d3794fd794d1922ac7bc71b55 100644 (file)
@@ -1,75 +1,75 @@
-from . import NS_FERD_1p0, COMFORT, BASIC, EXTENDED
+from . import NS_RAM, COMFORT, BASIC, EXTENDED
 from .elements import Element
 from .fields import StringField, Field, IDField, MultiField, MultiIDField
 
 
 class PostalTradeAddress(Element):
-    postcode = StringField(NS_FERD_1p0, "PostcodeCode", required=False, profile=BASIC)
-    line_one = StringField(NS_FERD_1p0, "LineOne", required=False, profile=BASIC)
-    line_two = StringField(NS_FERD_1p0, "LineTwo", required=False, profile=BASIC)
-    city_name = StringField(NS_FERD_1p0, "CityName", required=False, profile=BASIC)
-    country_id = StringField(NS_FERD_1p0, "CountryID", required=False, profile=BASIC)
+    postcode = StringField(NS_RAM, "PostcodeCode", required=False, profile=BASIC)
+    line_one = StringField(NS_RAM, "LineOne", required=False, profile=BASIC)
+    line_two = StringField(NS_RAM, "LineTwo", required=False, profile=BASIC)
+    city_name = StringField(NS_RAM, "CityName", required=False, profile=BASIC)
+    country_id = StringField(NS_RAM, "CountryID", required=False, profile=BASIC)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PostalTradeAddress"
 
 
 class TaxRegistration(Element):
-    id = IDField(NS_FERD_1p0, "ID")
+    id = IDField(NS_RAM, "ID")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTaxRegistration"
 
 
 class PhoneNumber(Element):
-    number = StringField(NS_FERD_1p0, "CompleteNumber", required=False,
+    number = StringField(NS_RAM, "CompleteNumber", required=False,
                          profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "TelephoneUniversalCommunication"
 
 
 class FaxNumber(Element):
-    number = StringField(NS_FERD_1p0, "CompleteNumber", required=False,
+    number = StringField(NS_RAM, "CompleteNumber", required=False,
                          profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "FaxUniversalCommunication"
 
 
 class EmailURI(Element):
-    address = StringField(NS_FERD_1p0, "URIID", required=False,
+    address = StringField(NS_RAM, "URIID", required=False,
                           profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "EmailURICommunication"
 
 
 class TradeContact(Element):
-    person_name = StringField(NS_FERD_1p0, "PersonName", required=False,
+    person_name = StringField(NS_RAM, "PersonName", required=False,
                               profile=EXTENDED)
-    department_name = StringField(NS_FERD_1p0, "DepartmentName", required=False,
+    department_name = StringField(NS_RAM, "DepartmentName", required=False,
                                   profile=EXTENDED)
     telephone = Field(PhoneNumber, required=False, profile=EXTENDED)
     fax = Field(FaxNumber, required=False, profile=EXTENDED)
     email = Field(EmailURI, required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "DefinedTradeContact"
 
 
 class TradeParty(Element):
-    id = StringField(NS_FERD_1p0, "ID", required=False, profile=COMFORT,
+    id = StringField(NS_RAM, "ID", required=False, profile=COMFORT,
                      _d="Identifier des Verkäufers")
-    global_id = MultiIDField(NS_FERD_1p0, "GlobalID", required=False, profile=COMFORT,
+    global_id = MultiIDField(NS_RAM, "GlobalID", required=False, profile=COMFORT,
                              _d="Globaler Identifier des Verkäufers")
-    name = StringField(NS_FERD_1p0, "Name", required=False, profile=BASIC)
+    name = StringField(NS_RAM, "Name", required=False, profile=BASIC)
     contact = Field(TradeContact, required=False, profile=EXTENDED,
                     _d="Ansprechpartner des Käufers")
     address = Field(PostalTradeAddress, required=False, profile=BASIC,
@@ -79,47 +79,47 @@ class TradeParty(Element):
 
 class PayeeTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PayeeTradeParty"
 
 
 class InvoiceeTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "InvoiceeTradeParty"
 
 
 class BuyerTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "BuyerTradeParty"
 
 
 class SellerTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SellerTradeParty"
 
 
 class EndUserTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ProductEndUserTradeParty"
 
 
 class ShipToTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ShipToTradeParty"
 
 
 class ShipFromTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ShipFromTradeParty"
 
 
 class UltimateShipToTradeParty(TradeParty):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "UltimateShipToTradeParty"
index 88bcbd6eb974304b720a4ea2c6e04d55b44bea64..2028db56106b770d45753aec13844590108ea528 100644 (file)
@@ -1,94 +1,94 @@
-from . import NS_FERD_1p0, COMFORT, BASIC, EXTENDED
+from . import NS_RAM, COMFORT, BASIC, EXTENDED
 from .elements import Element
 from .fields import Field, StringField, IDField, DateTimeField, DecimalField, CurrencyField, MultiStringField, \
     MultiCurrencyField
 
 
 class PayerFinancialAccount(Element):
-    iban = StringField(NS_FERD_1p0, "IBANID")
-    proprietary_id = StringField(NS_FERD_1p0, "ProprietaryID")
+    iban = StringField(NS_RAM, "IBANID")
+    proprietary_id = StringField(NS_RAM, "ProprietaryID")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PayerPartyDebtorFinancialAccount"
 
 
 class PayerFinancialInstitution(Element):
-    bic = StringField(NS_FERD_1p0, "BICID")
-    german_blz = StringField(NS_FERD_1p0, "GermanBankleitzahlID")
-    name = StringField(NS_FERD_1p0, "Name")
+    bic = StringField(NS_RAM, "BICID")
+    german_blz = StringField(NS_RAM, "GermanBankleitzahlID")
+    name = StringField(NS_RAM, "Name")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PayerSpecifiedDebtorFinancialInstitution"
 
 
 class PayeeFinancialAccount(Element):
-    iban = StringField(NS_FERD_1p0, "IBANID")
-    account_name = StringField(NS_FERD_1p0, "AccountName")
-    proprietary_id = StringField(NS_FERD_1p0, "ProprietaryID")
+    iban = StringField(NS_RAM, "IBANID")
+    account_name = StringField(NS_RAM, "AccountName")
+    proprietary_id = StringField(NS_RAM, "ProprietaryID")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PayeePartyCreditorFinancialAccount"
 
 
 class PayeeFinancialInstitution(Element):
-    bic = StringField(NS_FERD_1p0, "BICID")
-    german_blz = StringField(NS_FERD_1p0, "GermanBankleitzahlID")
-    name = StringField(NS_FERD_1p0, "Name")
+    bic = StringField(NS_RAM, "BICID")
+    german_blz = StringField(NS_RAM, "GermanBankleitzahlID")
+    name = StringField(NS_RAM, "Name")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "PayeeSpecifiedCreditorFinancialInstitution"
 
 
 class PaymentMeans(Element):
-    type_code = StringField(NS_FERD_1p0, "TypeCode", required=False, profile=COMFORT)
-    information = MultiStringField(NS_FERD_1p0, "Information", required=False, profile=COMFORT)
-    id = IDField(NS_FERD_1p0, "ID", required=False, profile=BASIC)
+    type_code = StringField(NS_RAM, "TypeCode", required=False, profile=COMFORT)
+    information = MultiStringField(NS_RAM, "Information", required=False, profile=COMFORT)
+    id = IDField(NS_RAM, "ID", required=False, profile=BASIC)
     payer_account = Field(PayerFinancialAccount)
     payer_institution = Field(PayerFinancialInstitution)
     payee_account = Field(PayeeFinancialAccount)
     payee_institution = Field(PayeeFinancialInstitution)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTradeSettlementPaymentMeans"
 
 
 class PaymentPenaltyTerms(Element):
-    basis_date_time = DateTimeField(NS_FERD_1p0, "BasisDateTime", required=False,
+    basis_date_time = DateTimeField(NS_RAM, "BasisDateTime", required=False,
                                     profile=EXTENDED, _d="Bezugsdatum der Fälligkeit")
-    basis_period_measure = StringField(NS_FERD_1p0, "BasisPeriodMeasure", required=False,
+    basis_period_measure = StringField(NS_RAM, "BasisPeriodMeasure", required=False,
                                        profile=EXTENDED, _d="Fälligkeitszeitraum")
-    basis_amount = CurrencyField(NS_FERD_1p0, "BasisAmount", required=False,
+    basis_amount = CurrencyField(NS_RAM, "BasisAmount", required=False,
                                  profile=EXTENDED, _d="Basisbetrag des Zahlungszuschlags")
-    calculation_percent = DecimalField(NS_FERD_1p0, "CalculationPercent", required=False,
+    calculation_percent = DecimalField(NS_RAM, "CalculationPercent", required=False,
                                        profile=EXTENDED, _d="Prozentwert des Zahlungszuschlags")
-    actual_amount = CurrencyField(NS_FERD_1p0, "ActualPenaltyAmount", required=False,
+    actual_amount = CurrencyField(NS_RAM, "ActualPenaltyAmount", required=False,
                                   profile=EXTENDED, _d="Betrag des Zahlungszuschlags")
 
 
 class PaymentDiscountTerms(Element):
-    basis_date_time = DateTimeField(NS_FERD_1p0, "BasisDateTime", required=False,
+    basis_date_time = DateTimeField(NS_RAM, "BasisDateTime", required=False,
                                     profile=EXTENDED, _d="Bezugsdatum der Fälligkeit")
-    basis_period_measure = StringField(NS_FERD_1p0, "BasisPeriodMeasure", required=False,
+    basis_period_measure = StringField(NS_RAM, "BasisPeriodMeasure", required=False,
                                        profile=EXTENDED, _d="Fälligkeitszeitraum")
-    basis_amount = CurrencyField(NS_FERD_1p0, "BasisAmount", required=False,
+    basis_amount = CurrencyField(NS_RAM, "BasisAmount", required=False,
                                  profile=EXTENDED, _d="Basisbetrag des Zahlungsabschlags")
-    calculation_percent = DecimalField(NS_FERD_1p0, "CalculationPercent", required=False,
+    calculation_percent = DecimalField(NS_RAM, "CalculationPercent", required=False,
                                        profile=EXTENDED, _d="Prozentwert des Zahlungsabschlags")
-    actual_amount = CurrencyField(NS_FERD_1p0, "ActualDiscountAmount", required=False,
+    actual_amount = CurrencyField(NS_RAM, "ActualDiscountAmount", required=False,
                                   profile=EXTENDED, _d="Betrag des Zahlungsabschlags")
 
 
 class PaymentTerms(Element):
-    description = StringField(NS_FERD_1p0, "Description", required=True, profile=COMFORT,
+    description = StringField(NS_RAM, "Description", required=True, profile=COMFORT,
                               _d="Freitext der Zahlungsbedingungen")
-    due = DateTimeField(NS_FERD_1p0, "DueDateDateTime", required=False, profile=COMFORT,
+    due = DateTimeField(NS_RAM, "DueDateDateTime", required=False, profile=COMFORT,
                         _d="Fälligkeitsdatum")
-    partial_amount = MultiCurrencyField(NS_FERD_1p0, "PartialPaymentAmount", profile=EXTENDED,
+    partial_amount = MultiCurrencyField(NS_RAM, "PartialPaymentAmount", profile=EXTENDED,
                                         required=False, _d="Betrag der Teilzahlung")
     penalty_terms = Field(PaymentPenaltyTerms, required=False, profile=EXTENDED,
                           _d="Detailinformationen zu Zahlungszuschlägen")
@@ -96,5 +96,5 @@ class PaymentTerms(Element):
                            _d="Detailinformationen zu Zahlungsabschlägen")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTradePaymentTerms"
index 1ba1171f328ce6e3e7e3cd4bef9766bf23aff90e..47a83b9cdc52eb643d12266bebe54f5e002770d5 100644 (file)
@@ -1,47 +1,47 @@
-from . import NS_FERD_1p0, EXTENDED, COMFORT
+from . import NS_RAM, EXTENDED, COMFORT
 from .elements import Element
 from .fields import StringField, QuantityField, IDField, MultiField, ClassificationField
 
 
 class ProductCharacteristic(Element):
-    type_code = StringField(NS_FERD_1p0, "TypeCode", required=True, profile=EXTENDED,
+    type_code = StringField(NS_RAM, "TypeCode", required=True, profile=EXTENDED,
                             _d="Art der Produkteigenschaft")
-    description = StringField(NS_FERD_1p0, "Description", required=True, profile=EXTENDED)
-    value_measure = QuantityField(NS_FERD_1p0, "ValueMeasure", required=False,
+    description = StringField(NS_RAM, "Description", required=True, profile=EXTENDED)
+    value_measure = QuantityField(NS_RAM, "ValueMeasure", required=False,
                                   profile=EXTENDED, _d="Numerische Messgröße")
-    value = StringField(NS_FERD_1p0, "Value", required=False, profile=EXTENDED)
+    value = StringField(NS_RAM, "Value", required=False, profile=EXTENDED)
 
 
 class ProductClassification(Element):
-    class_code = ClassificationField(NS_FERD_1p0, "ClassCode", required=True,
+    class_code = ClassificationField(NS_RAM, "ClassCode", required=True,
                                      profile=EXTENDED)
-    value = StringField(NS_FERD_1p0, "ClassName", required=True, profile=EXTENDED)
+    value = StringField(NS_RAM, "ClassName", required=True, profile=EXTENDED)
 
 
 class OriginCountry(Element):
-    id = StringField(NS_FERD_1p0, "ID", required=True, profile=EXTENDED,
+    id = StringField(NS_RAM, "ID", required=True, profile=EXTENDED,
                      _d="Land der Produktherkunft")
 
 
 class ReferencedProduct(Element):
-    name = StringField(NS_FERD_1p0, "Name", required=False, profile=EXTENDED)
-    description = StringField(NS_FERD_1p0, "Description", required=False, profile=EXTENDED)
-    global_id = IDField(NS_FERD_1p0, "GlobalID", required=False, profile=EXTENDED)
-    seller_assigned_id = StringField(NS_FERD_1p0, "SellerAssignedID", required=False,
+    name = StringField(NS_RAM, "Name", required=False, profile=EXTENDED)
+    description = StringField(NS_RAM, "Description", required=False, profile=EXTENDED)
+    global_id = IDField(NS_RAM, "GlobalID", required=False, profile=EXTENDED)
+    seller_assigned_id = StringField(NS_RAM, "SellerAssignedID", required=False,
                                      profile=EXTENDED)
-    buyer_assigned_id = StringField(NS_FERD_1p0, "BuyerAssignedID", required=False,
+    buyer_assigned_id = StringField(NS_RAM, "BuyerAssignedID", required=False,
                                     profile=EXTENDED)
-    unit_quantity = QuantityField(NS_FERD_1p0, "UnitQuantity", required=False,
+    unit_quantity = QuantityField(NS_RAM, "UnitQuantity", required=False,
                                   profile=EXTENDED)
 
 
 class TradeProduct(Element):
-    name = StringField(NS_FERD_1p0, "Name", required=False, profile=COMFORT)
-    description = StringField(NS_FERD_1p0, "Description", required=False, profile=COMFORT)
-    global_id = IDField(NS_FERD_1p0, "GlobalID", required=False, profile=COMFORT)
-    seller_assigned_id = StringField(NS_FERD_1p0, "SellerAssignedID", required=False,
+    name = StringField(NS_RAM, "Name", required=False, profile=COMFORT)
+    description = StringField(NS_RAM, "Description", required=False, profile=COMFORT)
+    global_id = IDField(NS_RAM, "GlobalID", required=False, profile=COMFORT)
+    seller_assigned_id = StringField(NS_RAM, "SellerAssignedID", required=False,
                                      profile=COMFORT)
-    buyer_assigned_id = StringField(NS_FERD_1p0, "BuyerAssignedID", required=False,
+    buyer_assigned_id = StringField(NS_RAM, "BuyerAssignedID", required=False,
                                     profile=COMFORT)
     characteristics = MultiField(ProductCharacteristic, required=False, profile=EXTENDED)
     classifications = MultiField(ProductClassification, required=False, profile=EXTENDED)
index 02e1110302ed6f903444e982d89d1157b2059db0..b9a09a38461f8f5dacdfcded95801f49ed7ae0ba 100644 (file)
-from . import COMFORT, EXTENDED, NS_FERD_1p0
+from . import COMFORT, EXTENDED, NS_RAM
 from .elements import Element
 from .fields import DateTimeField, StringField
 
 
 class ReferencedDocument(Element):
-    issue_date_time = DateTimeField(NS_FERD_1p0, "IssueDateTime", required=False,
+    issue_date_time = DateTimeField(NS_RAM, "IssueDateTime", required=False,
                                     profile=COMFORT)
-    id = StringField(NS_FERD_1p0, "ID", required=False,
+    id = StringField(NS_RAM, "ID", required=False,
                      profile=COMFORT)
 
 
 class BuyerOrderReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "BuyerOrderReferencedDocument"
 
 
 class ContractReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ContractReferencedDocument"
 
 
 class AdditionalReferencedDocument(ReferencedDocument):
-    type_code = StringField(NS_FERD_1p0, "ReferenceTypeCode", profile=EXTENDED, required=True)
+    type_code = StringField(NS_RAM, "ReferenceTypeCode", profile=EXTENDED, required=True)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "AdditionalReferencedDocument"
 
 
 class CustomerOrderReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "CustomerOrderReferencedDocument"
 
 
 class DespatchAdviceReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "DespatchAdviceReferencedDocument"
 
 
 class LineCustomerOrderReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "CustomerOrderReferencedDocument"
 
 
 class LineBuyerOrderReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "BuyerOrderReferencedDocument"
 
 
 class LineContractReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ContractReferencedDocument"
 
 
 class LineDespatchAdviceReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "DespatchAdviceReferencedDocument"
 
 
 class LineReceivingAdviceReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ReceivingAdviceReferencedDocument"
 
 
 class LineAdditionalReferencedDocument(ReferencedDocument):
-    line_id = StringField(NS_FERD_1p0, "LineID", required=False, profile=EXTENDED)
-    type_code = StringField(NS_FERD_1p0, "ReferenceTypeCode", profile=EXTENDED, required=True)
+    line_id = StringField(NS_RAM, "LineID", required=False, profile=EXTENDED)
+    type_code = StringField(NS_RAM, "ReferenceTypeCode", profile=EXTENDED, required=True)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "AdditionalReferencedDocument"
 
 
 class DeliveryNoteReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "DeliveryNoteReferencedDocument"
 
 
 class LineDeliveryNoteReferencedDocument(ReferencedDocument):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "LineDeliveryNoteReferencedDocument"
index d4287d40f3d1cfec98ba7560c9b73beea395d565..b1536c758047306700dd43ac4a1888c7f7bee979 100644 (file)
@@ -1,4 +1,4 @@
-from . import NS_FERD_1p0, COMFORT, EXTENDED, BASIC
+from . import NS_RAM, COMFORT, EXTENDED, BASIC, NS_FERD_1p0
 from .accounting import ApplicableTradeTax, BillingSpecifiedPeriod, MonetarySummation, \
     AccountingAccount
 from .accounting import TradeAllowanceCharge
@@ -14,12 +14,12 @@ from .tradelines import LineItem
 
 
 class TradeAgreement(Element):
-    buyer_reference = StringField(NS_FERD_1p0, "BuyerReference", required=False,
+    buyer_reference = StringField(NS_RAM, "BuyerReference", required=False,
                                   profile=COMFORT, _d="Referenz des Käufers")
     seller = Field(SellerTradeParty, required=True, _d="Detailinformationen zum Verkäufer")
     buyer = Field(BuyerTradeParty, required=True)
     end_user = Field(EndUserTradeParty, required=False, _d="Abweichender Endverbraucher")
-    delivery_type_code = StringField(NS_FERD_1p0, "DeliveryTypeCode", required=False,
+    delivery_type_code = StringField(NS_RAM, "DeliveryTypeCode", required=False,
                                      profile=EXTENDED, _d="Lieferbedingung (Code)")
     buyer_order = BuyerOrderReferencedDocument(required=False, profile=COMFORT)
     customer_order = CustomerOrderReferencedDocument(required=False, profile=COMFORT)
@@ -28,25 +28,25 @@ class TradeAgreement(Element):
                                        profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ApplicableSupplyChainTradeAgreement"
 
 
 class LogisticsServiceCharge(Element):
-    description = StringField(NS_FERD_1p0, "Description", required=True, profile=COMFORT,
+    description = StringField(NS_RAM, "Description", required=True, profile=COMFORT,
                               _d="Identifikation der Servicegebühr")
-    applied_amount = CurrencyField(NS_FERD_1p0, "AppliedAmount", required=True,
+    applied_amount = CurrencyField(NS_RAM, "AppliedAmount", required=True,
                                    profile=COMFORT, _d="Betrag der Servicegebühr")
     trade_tax = MultiField(ApplicableTradeTax, required=False, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedLogisticsServiceCharge"
 
 
 class TradeSettlement(Element):
-    payment_reference = StringField(NS_FERD_1p0, "PaymentReference")
-    currency_code = StringField(NS_FERD_1p0, "InvoiceCurrencyCode")
+    payment_reference = StringField(NS_RAM, "PaymentReference")
+    currency_code = StringField(NS_RAM, "InvoiceCurrencyCode")
     invoicee = Field(InvoiceeTradeParty, required=False, profile=COMFORT,
                      _d="Rechnungsempfänger")
     payee = Field(PayeeTradeParty, required=False, profile=COMFORT,
@@ -64,7 +64,7 @@ class TradeSettlement(Element):
                                _d="Detailinformationen zur Buchungsreferenz")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "ApplicableSupplyChainTradeSettlement"
 
 
index b8e55f09c8718be8e8aa731a03df60efabcfefbd..c79a8e822ca14c90036a31428088b8aa60e1bfa5 100644 (file)
@@ -1,5 +1,5 @@
 from drafthorse.models.delivery import SupplyChainEvent
-from . import NS_FERD_1p0, BASIC, COMFORT, EXTENDED
+from . import NS_RAM, BASIC, COMFORT, EXTENDED
 from .accounting import TradeAllowanceCharge, BillingSpecifiedPeriod, AccountingAccount
 from .elements import Element
 from .fields import CurrencyField, QuantityField, Field, MultiField, StringField
@@ -13,38 +13,38 @@ from .references import LineReceivingAdviceReferencedDocument, LineDespatchAdvic
 
 class AllowanceCharge(TradeAllowanceCharge):
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "AppliedTradeAllowanceCharge"
 
 
 class GrossPrice(Element):
-    amount = CurrencyField(NS_FERD_1p0, "ChargeAmount", required=True, profile=COMFORT,
+    amount = CurrencyField(NS_RAM, "ChargeAmount", required=True, profile=COMFORT,
                            _d="Bruttopreis")
-    basis_quantity = QuantityField(NS_FERD_1p0, "BasisQuantity", required=False,
+    basis_quantity = QuantityField(NS_RAM, "BasisQuantity", required=False,
                                    profile=COMFORT, _d="Preisbasismenge")
     charge = Field(AllowanceCharge, required=False, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "GrossPriceProductTradePrice"
 
 
 class NetPrice(Element):
-    amount = CurrencyField(NS_FERD_1p0, "ChargeAmount", required=True, profile=COMFORT)
-    basis_quantity = QuantityField(NS_FERD_1p0, "BasisQuantity", required=False,
+    amount = CurrencyField(NS_RAM, "ChargeAmount", required=True, profile=COMFORT)
+    basis_quantity = QuantityField(NS_RAM, "BasisQuantity", required=False,
                                    profile=COMFORT, _d="Preisbasismenge")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "NetPriceProductTradePrice"
 
 
 class LineDocument(Element):
-    line_id = StringField(NS_FERD_1p0, "LineID")
+    line_id = StringField(NS_RAM, "LineID")
     notes = MultiField(IncludedNote)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "AssociatedDocumentLineDocument"
 
 
@@ -58,16 +58,16 @@ class LineAgreement(Element):
     net = Field(NetPrice)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedSupplyChainTradeAgreement"
 
 
 class LineDelivery(Element):
-    billed_quantity = QuantityField(NS_FERD_1p0, "BilledQuantity", required=True,
+    billed_quantity = QuantityField(NS_RAM, "BilledQuantity", required=True,
                                     profile=BASIC, _d="Menge, berechnet")
-    charge_free_quantity = QuantityField(NS_FERD_1p0, "ChargeFreeQuantity", required=False,
+    charge_free_quantity = QuantityField(NS_RAM, "ChargeFreeQuantity", required=False,
                                          profile=EXTENDED, _d="Menge, ohne Berechnung")
-    package_quantity = QuantityField(NS_FERD_1p0, "ChargeFreeQuantity", required=False,
+    package_quantity = QuantityField(NS_RAM, "ChargeFreeQuantity", required=False,
                                      profile=EXTENDED, _d="Anzahl Packstücke")
     ship_to = Field(ShipToTradeParty, required=False, profile=EXTENDED)
     ultimate_ship_to = Field(UltimateShipToTradeParty, required=False, profile=EXTENDED)
@@ -81,18 +81,18 @@ class LineDelivery(Element):
                           profile=EXTENDED)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedSupplyChainTradeDelivery"
 
 
 class LineSummation(Element):
-    total_amount = CurrencyField(NS_FERD_1p0, "LineTotalAmount", required=True,
+    total_amount = CurrencyField(NS_RAM, "LineTotalAmount", required=True,
                                  profile=COMFORT)
-    total_allowance_charge = CurrencyField(NS_FERD_1p0, "TotalAllowanceChargeAmount",
+    total_allowance_charge = CurrencyField(NS_RAM, "TotalAllowanceChargeAmount",
                                            required=False, profile=EXTENDED, _d="Gesamtbetrag der Zu- und Abschläge")
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedTradeSettlementMonetarySummation"
 
 
@@ -104,7 +104,7 @@ class LineSettlement(Element):
     monetary_summation = Field(LineSummation, required=False, profile=COMFORT)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "SpecifiedSupplyChainTradeSettlement"
 
 
@@ -116,5 +116,5 @@ class LineItem(Element):
     product = Field(TradeProduct)
 
     class Meta:
-        namespace = NS_FERD_1p0
+        namespace = NS_RAM
         tag = "IncludedSupplyChainTradeLineItem"
index 0f7d76a071bb72b6f8c23c2160671f285321620d..1e190c834ffd5552ef1efa03b0178a17f50b18e2 100644 (file)
@@ -1,6 +1,23 @@
+import logging
+import os
+
 from xml.dom import minidom
 
 
+logger = logging.getLogger("drafthorse")
+
 def prettify(xml):
     reparsed = minidom.parseString(xml)
     return reparsed.toprettyxml(indent="\t")
+
+
+def validate_xml(xmlout, schema):
+    try:
+        from lxml import etree
+    except ImportError:
+        logger.warning("Could not validate output as LXML is not installed.")
+        return xmlout
+    schema = etree.XMLSchema(file=os.path.join(os.path.dirname(__file__), 'schema', schema + '.xsd'))
+    parser = etree.XMLParser(schema=schema)
+    xml_root = etree.fromstring(xmlout, parser)
+    return etree.tostring(xml_root, pretty_print=True)
diff --git a/tests/utils.py b/tests/utils.py
deleted file mode 100644 (file)
index 5b3acb4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-import os
-
-from lxml import etree
-
-import drafthorse
-
-
-def validate_xml(xmlout, schema):
-    with open(os.path.join(os.path.dirname(drafthorse.__file__), 'schema', schema + '.xsd'), 'rb') as schema_file:
-        schema_xml = schema_file.read()
-    schema_root = etree.XML(schema_xml)
-    schema = etree.XMLSchema(schema_root)
-    parser = etree.XMLParser(schema=schema)
-    xml_root = etree.fromstring(xmlout, parser)
-    return etree.tostring(xml_root, pretty_print=True)