![]() |
Vom XSD zum neuen XML
Liste der Anhänge anzeigen (Anzahl: 3)
XE2
Ich muss aus einem XSD (im Anhang) ein XML erzeugen. Jetzt habe ich aus einigen Forenbeträgen herausgelesen, wie einfach das sein soll und scheitere dennoch. Ich muss nämlich eine AnzeigeLebendGeburtMed erzeugen und nicht nur eine AnzeigeGeburtMed, die halt nur die Oberklasse ist. Aber nur dafür wurde eine globale Erzeugerfunktion bereitgestellt. Muss ich an irgendeiner Option beim Import schrauben? Oder händisch das Ding herstellen (dann käme gleich das "Wie")? Sherlock |
AW: Vom XSD zum neuen XML
Man erzeugt aus einer XSD keine XML sondern verwendet die XSD zum Validieren einer XML.
Du kannst aus einer Pascal-BNF ja auch nicht einfach das Pascal-Programm machen. |
AW: Vom XSD zum neuen XML
Hab das schon lang nicht mehr gemacht mit Delphi und finde das Verfahren (XML /XSD) irgendwie gruselig. Und damit wären wir gleich beim Inhalt.
Kann es sein, dass AnzeigeGeburt mehr oder weniger das Gegenteil von AnzeigeLebendgeburt ist, also Totgeburt? Ich hätte jetzt erwartet, dass sich da nur ein Flag oder so unterscheidet. Aber offenbar sind die Fälle <> Lebendgeburt viel komplizierter. Falls AnzeigeGeburt wirklich eine Oberklasse ist, was mir auf Anhieb nicht so aussieht, müsstest Du mit einem Teil der aufgeführten Funktionen ja den anderen Fall > XML produzieren können und per zugehöriger XSD die Richtigkeit prüfen können. |
AW: Vom XSD zum neuen XML
Zitat:
|
AW: Vom XSD zum neuen XML
Aha, das ist interessant. Wie ist denn der Weg gültige XML zu erzeugen, wenn man nur ein XSD als Spezifikation erhalten hat?
Weil eigentlich wird das auch hier im Forum so beschrieben, wie ich mir das gedacht hatte...nur eben für den typischen Simpelfall à la Embarcadero (Buchladen, Buch). @jobo: Die AnzeigeGeburt ist eine Oberklasse. Ich habe die AnzeigeTotGeburt jetzt einfach mal unterschlagen, um die Sache nicht zu komplex und deprimierend zu gestalten ;) @Dejan Vu: Muss ich wirklich erläutern, daß ich nicht umwandeln, sondern auf Grundlage des XSD ein XML mit Daten aus einer anderen Quelle erzeugen möchte? ;) Sherlock |
AW: Vom XSD zum neuen XML
Zitat:
Du kannst die XSD verwenden, um den gültigen Aufbau der XML zu prüfen und dann eventuell einen Fehler zu werfen oder um ungültige Dinge aus der XML zu entfernen. Delphi nutzt z.B. eine XSL um den DokInsight-Kommentar in eine HTML umzuwandeln. > XML nehmen, per XSL-Befehlen eine neue Ausgabe erzeugen (XML mit anderem Aufbau oder einfach nur nach bestimmten Kriterien gefiltert, Text, HTML oder sonstwas) |
AW: Vom XSD zum neuen XML
Zitat:
Einfacher und ab Professional finde ich den Web über den Schema Binding Wizard, um aus dem XSD die Mappingklassen zu erstellen. Der dadurch erzeugte Quelltext ist dann zwar nicht unmittelbar TDataset-Kompatibel, aber zum Aufbauen von XML Dateien brauchbar. (XSD ist nicht nur für's Validieren geeignet.) |
AW: Vom XSD zum neuen XML
Also ich glaube ich habe mich vollumfänglich blöd ausgedrückt. Ich probiere es nochmal und stelle noch ein paar Anmerkung vorweg:
1. die .xml in meinem anhang sind reine xsd, die ich um ein .xml im Namen erweitert habe, damit ich sie hochladen konnte. 2. Ich habe aus den xsd per Datei -> Neu -> Weitere -> XML-Datenbindung die angehängte .pas erzeugt. 3. Ich möchte eine XML Datei auf Grundlage der Spezifikation in der XSD mit Daten aus einer dritten Quelle befüllen Jetzt mein Problem. Ich kann die .pas nicht verwenden, um das geforderte Objekt zu erzeugen. Ich brauche ein TXMLAnzeigeLebendgeburtMed, das von diesem Typ ist
Delphi-Quellcode:
. Der generierte Code bietet mir lediglich eine Konstruktorenmethode für das TXMLAnzeigeGeburtMed. Das kann ich aber nicht gebrauchen, da ich die eben erwähnte Subklasse erzeugen muss. Wie muss ich vorgehen? XML per xsd oder Wizard oder wie auch immer das genannt werden möchte ist für mich neu. Bisher habe ich die XML selber erstellt. Das ist diesmal aber nicht ohne weiteres möglich.
TXMLAnzeigeLebendgeburtMed = class(TXMLAnzeigeGeburtMed, IXMLAnzeigeLebendgeburtMed)
Es kann doch nicht sein, daß es nur Methoden gibt XML einzulesen. Sherlock |
AW: Vom XSD zum neuen XML
Zitat:
|
AW: Vom XSD zum neuen XML
Liste der Anhänge anzeigen (Anzahl: 2)
In der Tat stellt der Wizard nur eine Frage, nämlich nach dem Namen des Dokumentelemttyps. Siehe Screenshots. Da kann ich im Prinzip angeben was ich will, es wird immer ein AnzeigeGeburtMed daraus erzeugt.
Das ist doch irgendwie ein wenig frustrierend. Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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