al90 hat geschrieben:Oh man, da bin ich aber froh das PB Code nicht so aussieht, sonst hätte
ich PBSC wohl nie ins leben gerufen.

kann es sein, dass Du bisher noch nicht allzu viel Kontakt mit XML hattest?
Meiner Meinung nach ist es wesentlich anspruchsvoller ein Tool wie Deinen
PBSC zu schreiben, als einen Konverter von XML zu PB. Und zwar aus dem
einfachen Grund, weil es viele verschiedene Arten und Weisen gibt, seine
PB-Befehle zu schreiben (und auf die Du in entsprechender Konsequenz
reagieren musst). In XML hingegen ist alles streng normiert.
Ein kleines Beispiel (aus der Online-Hilfe geklaut und modifiziert)...
Code: Alles auswählen
; Zeigt die Verwendung mehrerer Panels...
If OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
PanelGadget (0, 8, 8, 306, 203)
AddGadgetItem (0, -1, "Panel 1")
ButtonGadget(2, 10, 15, 80, 24,"Button 1")
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
... sieht auf den ersten Blick OK aus. Läuft auch in PB ohne Mucken. Bei
näherer Betrachtung bemerkt man jedoch, dass ein CloseGadgetList()
fehlt. Ist eigentlich auch nicht besonders schlimm, funktioniert ja auch
ohne. Aber ein Konverter "PB zu Irgendwas" muss das auch abfangen
können.
Anders beim XML. Hier wird das CloseGadgetList() in Form eines
schliessenden Tags immer mitgeliefert, denn ansonsten wäre das XML
nicht valide. Insofern kann der Konverter-Programmierer sich darauf
verlassen, dass manche Voraussetzungen immer gegeben sein werden
und er keine besonderen Abfangroutinen einbauen muss.
Wie gesagt: Lasst Euch nicht von den anfangs verwirrenden Zeichenfolgen
in's Bockshorn jagen, sondern riskiert auch mal einen zweiten oder dritten
Blick. Dann wird alles viel klarer.
Ich werde auch noch die ein oder andere Doku veröffentlichen, die
zusätzlich Licht in's Dunkel bringen werden.
al90 hat geschrieben:Viel erfolg allen beteiligten.

Danke!
Grüße ... Kiffi