AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme
Thema durchsuchen
Ansicht
Themen-Optionen

ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme

Ein Thema von motion · begonnen am 22. Nov 2024
Antwort Antwort
motion

Registriert seit: 23. Jan 2006
9 Beiträge
 
#1

ZUGFerD und XML Bearbeitung mit dem Delphi XML Data Binding - Namespace Probleme

  Alt Gestern, 20:39
Ja, ich arbeite mich auch durch die ERechnung Anforderung durch.

Ich bin eigentlich schon rechts weit und wie folgt vorgegangen:
-aktuelle XML Definition von www.ferd-net.de/ZUGFeRD-Download herunter geladen und eines der Profile ausgewählt.
-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):
https://git.x2software.net/GitHub-Mi...xmldatabinding
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:
<?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>
jetzt ein erzeugter Code mit dem Delphi XML Data Binding; es fehlen Namespace-Anfangen in den Nodes:
Code:
<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>
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:
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>
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz