AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vom XSD zum neuen XML

Ein Thema von Sherlock · begonnen am 15. Okt 2014 · letzter Beitrag vom 17. Okt 2014
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 09:49
XE2

Ich muss aus einem XSD (im Anhang) ein XML erzeugen.

Sherlock
Der Quelltext im Anhang wurde mit dem Data Binding Wizard (Enterprise / Architect) erzeugt?

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.)
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 10:18
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
TXMLAnzeigeLebendgeburtMed = class(TXMLAnzeigeGeburtMed, IXMLAnzeigeLebendgeburtMed) . 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.

Es kann doch nicht sein, daß es nur Methoden gibt XML einzulesen.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 10:29
2. Ich habe aus den xsd per Datei -> Neu -> Weitere -> XML-Datenbindung die angehängte .pas erzeugt.
Hier kann, wenn ich mich richtig erinnere, im Wizard ein Fehler gemacht werden: man hat die Möglichkeit ein Root-Element festzulegen. Das hier gewählte Element wird dann das Element, für das die Erzeugungsmethode im Quelltext erstellt wird. Hierbei würde man dann TXMLAnzeigeLebendgeburtMed wählen.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 13:01
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
Angehängte Grafiken
Dateityp: png 2014-10-16_13h54_58.png (21,5 KB, 104x aufgerufen)
Dateityp: png 2014-10-16_13h55_12.png (3,5 KB, 53x aufgerufen)
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#5

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 13:07
Gnaaaaaaahh! Verdammt, ich habs! Die Bilder im Post eben bezogen sich auf AnzeigeGeburtMed. Wenn man AnzeigeLebendGeburtMed markiert, stellt der wizard auch die Frage, und schon kann ich das sinnvoll füllen und bekomme ein gutes Ergebnis. Endlich!

Danke für Euren Beistand!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 15:10
(XSD ist nicht nur für's Validieren geeignet.)
Das wäre mir neu. Nicht umsonst werden zahllose Validierer für XML auf Grundlage einer XSD im Netz bereitgestellt.

@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?
Das geht nicht. Du kannst XSD nicht zum Erzeugen einer XML verwenden.

Du hast den Sinn von XML, XSL und XSD nicht verstanden. Oder Du hast in verstanden, willst es aber nicht preisgeben. Also in diesem Thread nicht.

Die Frage müsste richtig z.B. lauten: "Wie (verdammt) kann ich aus einer XSD eine Delphi-Klasse erzeugen, mit der ich ohne viel Umstände ein dem Schema entsprechendes XML erzeugen kann?"
Da wäre die Antwort einfach und mit dem Tool von Delphi einfach zu beantworten gewesen.

Ohne dieses Tool bliebe Dir nur das manuelle zusammenbasteln und (Online) Validieren gegen deine XSD.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 16:07
Die Frage müsste richtig z.B. lauten: "Wie (verdammt) kann ich aus einer XSD eine Delphi-Klasse erzeugen, mit der ich ohne viel Umstände ein dem Schema entsprechendes XML erzeugen kann?"
XSD beschreibt XML Dokument-Typen.
Das _kann_ man hernehmen um sie beim Einlesen zu validieren. Aber im Gegensatz zu DTD lassen sich dadurch serialisierbare Datenstrukturen bauen.
Das ist ja die Grundlage von SOAP und SOAP ist wohl auch der Grund, warum es überhaupt soviele XSD Codegens gibt.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 18:14
(XSD ist nicht nur für's Validieren geeignet.)
Das wäre mir neu. Nicht umsonst werden zahllose Validierer für XML auf Grundlage einer XSD im Netz bereitgestellt.
Da war noch ein kleines einschränkendes Bindewort im Satz: "XSD ist nicht nur für's Validieren geeignet."
Michael Justin

Geändert von mjustin (16. Okt 2014 um 18:20 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Vom XSD zum neuen XML

  Alt 16. Okt 2014, 18:25
Da war noch ein kleines einschränkendes Bindewort im Satz: "XSD ist nicht nur für's Validieren geeignet."
Das stand bei mir nicht
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.821 Beiträge
 
Delphi 12 Athens
 
#10

AW: Vom XSD zum neuen XML

  Alt 17. Okt 2014, 08:02
Am Ende hats wie gesagt geklapt. Und die XSD ist entgegen der Behauptungen nicht ausschließlich (selbst wenn man bestimmte Worte weglässt, impliziert die Wiederholung von Aussagen ihre Existenz ) zum Validieren da. Wäre ja auch absoluter Quatsch, wenn es so wäre.

Also Thema ist durch und ohnehin nicht als Frage markiert, eventuell kann jemand künftig davon profitieren.

Ich hoffe bei euch scheint mehr Sonne als bei mir.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  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 20:00 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