![]() |
ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme
Ja, ich arbeite mich auch durch die ERechnung Anforderung durch.
Ich bin eigentlich schon rechts weit und wie folgt vorgegangen: -aktuelle XML Definition von ![]() -mit dem in Delphi enthaltenen "XML Data Binding" diese xsd Datei(en) importiert und mir einer Unit erstellen lassen -damit kann mal sehr komfortabel die XML Datei erstellen lassen ABER: Die Namespaces fehlen komplett! Das XML Data Binding erzeugt da gar nichts und das ist wohl auch ein Bug der schon seit Delphi 7 Zeiten nicht behoben ist. Bei komplexen xsd Dateien und include von verschiedenen xsd Dateien kommt das Tool nicht klar. Dann habe ich noch mal einen Angang mit einem alternativen XML Data Binding gemacht (hier sollen die Namespace Probleme nicht auftreten): ![]() Der erzeugt auch eine schöne Unit mit der sich die XML Datei ähnlich einfach erstellen läßt. Namespaces sind drin, aber verkehrt (URIs statt namespaces; und das Format in der Node sieht anders aus). Hat da jemand eine Lösung oder Idee? Hier eine ZUGFerD Mustervorlage, wie die XML Datei aussehen sollte; aus einer Muster XML Datei nur mal den Anfang rausgeschnitten und wir konzentrieren uns auf die Darstellung des Feldes ram:ID (letzte Zeile):
Code:
jetzt ein erzeugter Code mit dem Delphi XML Data Binding; es fehlen Namespace-Anfangen in den Nodes:
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice xmlns:a="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:10" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"> <rsm:ExchangedDocumentContext> <ram:GuidelineSpecifiedDocumentContextParameter> <ram:ID>urn:cen.eu:en16931:2017</ram:ID> </ram:GuidelineSpecifiedDocumentContextParameter> </rsm:ExchangedDocumentContext> <rsm:ExchangedDocument> <ram:ID>R-00011</ram:ID>
Code:
und zuletzt der erzeugte Code mit dem alternativen XML Data binding; da sind Namespaces drin, aber die URI und nicht die kurzen Namespaces, außerdem im Format nicht passend:
<CrossIndustryInvoice xmlns="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:10" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
<ExchangedDocumentContext> <GuidelineSpecifiedDocumentContextParameter> <ID>urn:factur-x.eu:1p0:basicwl</ID> </GuidelineSpecifiedDocumentContextParameter> </ExchangedDocumentContext> <ExchangedDocument> <ID>12450011</ID>
Code:
<rsm:CrossIndustryInvoice xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:10" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
<rsm:ExchangedDocumentContext> <GuidelineSpecifiedDocumentContextParameter xmlns="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"> <ID>urn:factur-x.eu:1p0:basicwl</ID> </GuidelineSpecifiedDocumentContextParameter> </rsm:ExchangedDocumentContext> <rsm:ExchangedDocument> <ID xmlns="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100">12450011</ID> |
AW: ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme
Eine neue Erkenntnis:
Quba lädt ohne Beschwerden die XML Datei im Format des X2XML Data Bindings (die untere Alternative). Dort sind die Namespaces eben voll qualifiziert (immer lange URI) und nicht wie gewünscht die Kürzel des Namespaces. Ist das XML syntaktisch auch in Ordnung? Vielleicht ist das so, hat mich aber überrascht, das es funktioniert. Ich weiterhin eine Lösung das mit den Namespaces sauber erledigen zu können. Aber ich werde meinen Zugferd Prototypen soweit voran bringen, das ich eine erzeugte XML das mal mit einem Validator testen kann. Mal sehen was die zu dem Namespace sagen. |
AW: ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme
Zur Info: Ich habe die Versuche mit den Data-Binding Versionen aufgegeben.
Ich mache jetzt mit den Delphi Units "wpxorder" gute Fortschritte! Die ersten vom Validator fehlerfrei akzeptierten XML Dateien sind erstellt. |
AW: ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme
Danke für den Hinweis auf den alternativen XML Data Binding Umsetzer.
Die Ausgabe des XMLs muss man aber leider selbst erledigen, damit die Namespaces mit den korrekten Abkürzungen drin stehen. Falls das noch jemand braucht, hier die umgesetzen Units und der Handling Funktionen. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz