Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce)eine XML Extrakt zu machen

Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce)eine XML Extrakt zu machen

am 22.10.2007 21:18:45 von Lazlo Lebrun

Guten Abend,

ich verfüge über eine SQL Datenbank von unserem OSCommerce Webshop.
Aus einen Teil dieser Daten müsste ich einen XML Extrakt (ONIX) realisi=
eren.

Die Grundstruktur dieser Datei ist bekannt, letztendlich wird das einen=20
großen Textdatei mit einige Variablen.

Eigentlich könnte man fast Word und die Serienbrief-Funktion dafür=20
verwenden, ich frage mich dennoch, ob das den richtigen Weg wäre und=20
welches Programm das am elegantesten ohne große Lernphase lösen kön=
nte.

Ich bin für jeden Tip dankbar.
Laszlo

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce) eine XML Extrakt zu m

am 23.10.2007 11:47:24 von Martin J

Lazlo Lebrun wrote:
> Guten Abend,
>=20
> ich verfüge über eine SQL Datenbank von unserem OSCommerce Webshop.
> Aus einen Teil dieser Daten müsste ich einen XML Extrakt (ONIX) reali=
sieren.
>=20
> Die Grundstruktur dieser Datei ist bekannt, letztendlich wird das einen=
=20
> großen Textdatei mit einige Variablen.
>=20
> Eigentlich könnte man fast Word und die Serienbrief-Funktion dafür=20
> verwenden, ich frage mich dennoch, ob das den richtigen Weg wäre und=20
> welches Programm das am elegantesten ohne große Lernphase lösen kö=
nnte.

Man kann da pfuschen und sowas mit einer beliebigen Sprache programmieren
(z.B. perl), die mysql ansprechen kann und eine Textdatei erzeugen kann.
Dann schaut man sich ein vorhandenes ONIX-Dokument an und erzeugt
das XML zu Fuß. Geht (vermutlich) schnell, bei Fehlern und Problemen
ist man aber dumm dran.

Man kann sich auch etwas mehr Mühe machen, die DTD für ONIX verwenden
und ein validiertes XML-Dokument aus Deiner Datenbank erzeugen. Jemand,
der sowas schonmal gemacht hat, braucht dafür vielleicht 1-2 MT. Das=20
Produkt ist dann aber validierbar, bei komplexeren Sachen sicher der=20
bessere Weg. Möglicherweise gibt es ja für ONIX was ziemlich fertiges=
,=20
das man auf Deinen Anwendungsfall aufbohren kann.

Martin

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce) eine XML Extrakt zu m

am 23.10.2007 13:11:56 von Daniel Fischer

Lazlo Lebrun!

> ich verfüge über eine SQL Datenbank von unserem OSCommerce Webshop.
> Aus einen Teil dieser Daten müsste ich einen XML Extrakt (ONIX)
> realisieren.

Wenn es nur irgendein XML wäre, dann wäre es einfach: Wenn du den
MySQL-Client mit der Option --xml startest, dann gibt er alle Resultsets
als XML aus.

Das könnte man dann z.B. mit xslt in ein anderes XML-Format überführen.
Ist aber wohl Veranlagungssache; einfach ein Script zu schreiben, dass den
Export direkt ins richtige Format macht, dürfte für die meisten
leichter sein. Ob's ein fertiges Tool gibt, weiß ich leider auch nicht.


Gruß
Daniel

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce) eine XML Extrakt zu m

am 23.10.2007 14:33:24 von Axel Schwenke

Martin J wrote:
> Lazlo Lebrun wrote:
>> Guten Abend,
>>
>> ich verfüge über eine SQL Datenbank von unserem OSCommerce Webshop.
>> Aus einen Teil dieser Daten müsste ich einen XML Extrakt (ONIX) reali
>> sieren.

>> ich frage mich ... ob das den richtigen Weg wäre und welches Programm
>> das am elegantesten ohne große Lernphase lösen könnte.

> Man kann da pfuschen und sowas mit einer beliebigen Sprache programmieren
> (z.B. perl), die mysql ansprechen kann und eine Textdatei erzeugen kann.
> Dann schaut man sich ein vorhandenes ONIX-Dokument an und erzeugt
> das XML zu Fuß. Geht (vermutlich) schnell, bei Fehlern und Problemen
> ist man aber dumm dran.
>
> Man kann sich auch etwas mehr Mühe machen, die DTD für ONIX verwenden
> und ein validiertes XML-Dokument aus Deiner Datenbank erzeugen.

Mit Verlaub, aber du redest Unsinn. Ganz unabhängig davon, *wie* man
das XML-Dokument aus der Datenbank generiert, kann (und sollte) man
es zusammen mit der ONIX-DTD einem validierenden XML-Parser vorwerfen.
Damit kann man zumindest die Wohlgeformtheit prüfen.

Aber ich stimme Daniel zu: wenn es um XML geht, ist XSLT oftmals das
Mittel der Wahl. Man überführe seine Daten in XML, was z.B. per
mysqldump --xml geht und schreibe anschließend ein XSLT Stylesheet
zur Transformation in das ONIX Format.

Allerdings liegt der deklarative Stil von XSLT nicht jedem und womög-
lich ist man mit Perl oder PHP oder Java schneller. Die meisten
Programmiersprachen bieten die Möglichkeit, einen DOM-Baum mit Daten
zu füllen und anschließend als XML-Dokument rauszuschreiben.


Lazlo, lesen: http://de.wikipedia.org/wiki/XSL_Transformation


XL

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce) eine XML Extrakt zu m

am 23.10.2007 16:28:16 von Martin J

Axel Schwenke wrote:

> Mit Verlaub, aber du redest Unsinn. Ganz unabhängig davon, *wie* man
> das XML-Dokument aus der Datenbank generiert, kann (und sollte) man
> es zusammen mit der ONIX-DTD einem validierenden XML-Parser vorwerfen.
> Damit kann man zumindest die Wohlgeformtheit prüfen.

Das mit dem Unsinn lasse ich ungern auf mir sitzen, daß ich mich unprä=
zise
ausgedrückt hab, schon eher.=20

Ich meinte folgende (sogar in Tutorials verbreitete) Unsitte:

Man nehme ein (Demo-) XML-File und bastle mit Hilfe von print, echo etc.
und ein paar Schleifen aus den Tags und durch die Datenbank gefüllten=20
Variablen eine Ausgabedatei. Fertig. Nix mit DOM-Baum, Validierung usw.=20
Kann funktionieren, muß aber nicht.

Das meinte ich mit Pfusch. Der Weg über DOM usw. ist halt nicht ganz tr=
ivial,
vor allem wenn man überhaupt keinen Überblick hat.

Martin

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank(OS-Commerce) eine XML Extrakt zu ma

am 23.10.2007 17:42:37 von Lazlo Lebrun

Axel Schwenke wrote:

> Allerdings liegt der deklarative Stil von XSLT nicht jedem und womög-=

> lich ist man mit Perl oder PHP oder Java schneller. Die meisten
> Programmiersprachen bieten die Möglichkeit, einen DOM-Baum mit Daten
> zu füllen und anschließend als XML-Dokument rauszuschreiben.
>=20
>=20
> Lazlo, lesen: http://de.wikipedia.org/wiki/XSL_Transformation
>=20
Danke für die Lektüre. Da bin ich reichlich überfordert. So abstrak=
t=20
kann ich nur in Spezialgebieten denken und diesen Teil der EDV gehört=20
nicht dazu.

Validierungen sind kein großes Thema, da nur eine Klasse zu übertrage=
n=20
ist. Wenn's mal mit einen Buch klappt, dann tut's auch für alle.

Ich vermute, es wird noch Word-Serienbrief werden, da kann ich=20
abschätzen wann ich's fertig habe...

Laszlo

Re: Welches Werkzeug, um am einfachsten aus einer SQL Datenbank (OS-Commerce) eine XML Extrakt zu m

am 23.10.2007 18:03:03 von Sven Paulus

Martin J wrote:
> Ich meinte folgende (sogar in Tutorials verbreitete) Unsitte:

> Man nehme ein (Demo-) XML-File und bastle mit Hilfe von print, echo etc.
> und ein paar Schleifen aus den Tags und durch die Datenbank gefüllten=20
> Variablen eine Ausgabedatei. Fertig. Nix mit DOM-Baum, Validierung usw.=20
> Kann funktionieren, muß aber nicht.

> Das meinte ich mit Pfusch. Der Weg über DOM usw. ist halt nicht ganz t=
rivial,
> vor allem wenn man überhaupt keinen Überblick hat.

Was schiebst Du denn fuer eine Panik?

Wenn ich mir
http://www.editeur.org/onixfiles2.0/ONIXProductInformationMe ssage2.0.pdf u=
nd
http://xml.coverpages.org/onix-international-dtd11.txt anschaue, dann ist
das eine vollkommen simple, praktisch flache XML-Struktur ...

Ob man da jetzt DOM (vollkommen trivial, man erzeugt halt Knoten und
verkettet diese) oder printfs verwendet, macht bei sowas wirklich keinen
grossen Unterschied. Keine Frage, DOM ist sauberer, aber bei derartigen
Strukturen kommt man auch mit printfs zum Ziel.

Ich wuerde da allerdings lieber 50 Zeilen Perl nehmen, um das zu generiere=
n,
als mysqldump --xml und XSLT, weil letzteres eine ziemliche Zusammensucher=
ei
ergibt.