View Full Version : lib SYSPROC - XML
Dazu müsste es mal ein Dokument geben, dass die Zusammenhänge mal darstellt.
Bei der Beschreibung der XSR-Routinen fehlt der Hinweis wozu diese denn eigentlich gut sind.
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/db2/rbafzprocs.htm
Die Beispiele sind ja nur Syntax-Beispiele.
Prinzipiell funktioniert es so:
- Mit XSR_Register und Complete wird die XSD als Prozedur definiert
- In der XSD gibt es einen Bezug zu einer phyischen Tabelle auf der AS/400
- Mit XDBDECOMPXML (https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/db2/rbafzprocxdbdecomp.htm?view=kc) wird der Inhalt der XML Datei in die physische Datei geschrieben
- Mit SQL oder RPG Read kann dann der Inhalt einfach ausgelesen werden
So viel zur Theorie.
Wenn ich zu jeder XSD Datei diesen Umstand betreiben muss, dann muss ich etwas anderes suchen um einfach XML Dateien zu parsen und mittels RPG auszulesen.
Aber ich bin mir halt nicht sicher. Daher wäre es super, wenn jenamd dies schon in der Praxis hat.
Da bietet sich regulär XML-Into aus RPGLE an.
Funktioniert absolut perfekt und deckt die meisten Anforderungen ab.
Beispiele gibts hier einige.
http://newsolutions.de/it/suche/?cx=partner-pub-8670221451956864%3A3379618341&cof=FORID%3A10&ie=UTF-8&q=xml-into&sa=Suche
Danke. Lt. Birgitta wäre es wohl eleganter die neuen BIF per SQL zu nutzen. Die wären mächtiger. Aber ich versuche es mit dem XML-INTO.
Schönen Abend.
Über Eleganz lässt sich da streiten.
Elegant wäre, XML per JAVA zu verarbeiten, da hierarchische Strukturen mit XML in Objekten besser dargestellt wird.
Die Umsetzung in relationale Strukturen stellt mitunter einen Krampf dar, da die XML z.B. mit Parent/Child-Id's ausgestattet sein müssten, um relationale Beziehungen darstellen zu können.
XML-INTO bietet zumindest den Ansatz mittels geschachtelter qualified DS eine Analogie zu schaffen und ich komme ohne XSD und Hilfstabellen aus.
Ich definiere einfach die Baumstruktur, mache meine XML-INTO und verarbeite die Daten.
"Eleganter" und vor allem schneller gehts nicht.
Gut, ein Problem gibt es dann, wenn die DS dann größer 16MB wird. Aber auch das lässt sich durchaus mit geschickter Pfad-Angabe lösen.
XML in SQL liefert immer relationale Strukturen mit z.T. koplexen SQL-Ausdrücken.
Klar sieht ein SUV auf einem Radweg schick aus, aber das Fahrrad wäre da eleganter.
Jedoch wäre der Sportwagen (Java) hier die effektivste Lösung da native.
Danke. Hättest du zufällig ein Beispiel Progrämmchen mit passender XML Datei dazu?
Das wäre perfekt.
http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/22065-XML-into-dann-leere-Tabelle-im-Programm
http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/21958-XML-Parsen-Behandeln-der-Feldinhalte-der-mehrfach-vorkommenden-Elemente
Suche bitte einfach mal nach "XML INTO".