ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > GUI Markup Language | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- | [ - Beitrag schreiben - ] |
03.06.2011, 17:39 Uhr Holger Posts: 8116 Nutzer |
Zitat:Es geht nicht um die Namen, sondern darum, dass Du gerade dabei bist, das Rad neu zu erfinden. Du lehnst das eine ab, mit der Begründung, es sei Dir zu kompliziert (oder was auch immer) und erfindest etwas, dass am Ende dasselbe nur mit anderen Namen (und ein paar strukturellen Fehlern) ist. Der Vorteil, etwas vorhandenes zu nutzen, liegt doch auf der Hand: da haben eine paar Leute, die Ahnung davon haben, sich Gedanken zu gemacht und bereits Lösungen für Probleme geschaffen, die Du noch gar nicht erkannt hast. Du könntest Deine OXML-Beschreibung jemand anderes in die Hand drücken, ohne ihm noch erklären zu müssen, wie bestimmte Dinge gemeint sind, was soweit geht, dass XML-Parser die Beschreibung verstehen und die Richtigkeit einer Datei verifizieren können und XML-Editoren Dir sogar Auto-Completion u.ä. Gimmicks bei der Bearbeitung anbieten können. Klar, kann man auf alles verzichten, die Frage ist nur, warum? Wie bereits festgestellt, kommt bei Deinem eigenen Ansatz auch nichts besseres raus. Nicht mal etwas wirklich anderes. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
03.06.2011, 17:55 Uhr AGSzabo Posts: 1663 Nutzer |
@Holger: Du hast vollkommen recht. Aber schau mal: wenn meine Mutter ein Kreutzworträtsel macht, schaut sie dann gleich in der Lösung nach? Und wenn es schon zwei Bibliotheken zum parsen von xml gibt, warum nicht auch noch eine dritte? Klar kann ich den standard nicht erreichen denn mir fehlen Teile (das Wissen). In 68k Assembler zu programmieren und noch tools dafür zu entwickeln ist sowieso eine brotlose kunst. Wen kümmert es da noch, was man macht. So eine konformität zum autocomplete wäre aber nett. Ich weiss leider nicht bescheid. -- Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux [ - Antworten - Zitieren - Direktlink - ] |
03.06.2011, 23:00 Uhr Holger Posts: 8116 Nutzer |
Zitat:Falsche Frage. Wenn Deine Mutter ein Kreuzworträtsel macht, versucht sie dann das Rätsel zu lösen, oder ein eigenes zu erstellen? Und wenn sie wider Erwarten letzteres macht, fängt sie dann an, Papier selber zu schöpfen und eigene Druckertinte zusammenzurühren? Zitat:Mmmh, ich weiß ja, dass Du nicht wirklich eine nützliche Anwendung anstrebst, sondern yet-another-gui-toolkit. Aber selbst für das frage ich mich, ob Du nicht doch Lust hast, selbiges innerhalb Deiner eigenen Lebenszeit fertig zu machen, statt jetzt noch eine XML-Softwaresuite anzufangen, die ebenfalls nie wirklich fertig sein wird. Zitat:Nicht mehr als in jeder anderen Programmiersprache für 68k zu entwickeln. Ob man damit etwas schafft, hängt nicht von der Sprache ab. Zitat:Hehe, machst Du das ganze nicht genau deshalb, um etwas zu lernen? Dann solltest Du aber auch bereit sein, etwas zu lernen. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
03.06.2011, 23:16 Uhr AGSzabo Posts: 1663 Nutzer |
@Holger: Ok. Fragen kostet nix. Was genau muß ich lernen und in welcher Reihenfolge? Und steht es mir frei kleine Abwandlungen vor zu nehmen, wenn mit dem gegebenen etwas nicht so möglich ist wie ich es brauche? -- Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux [ - Antworten - Zitieren - Direktlink - ] |
08.06.2011, 15:47 Uhr Holger Posts: 8116 Nutzer |
Zitat:Hey, wer hat denn was von „müssen“ gesagt? Sind doch nur Empfehlungen und die sind auch frei von irgendeiner Reihenfolge. Ich hab sie auch schon genannt. Das eine Thema ist XSL(T), um XML-Dateien mit bestehenden Tools umwandeln zu können. Dokumentation und Tutorials findet man zuhauf, wenn man sucht, z.B. auch hier: http://de.selfhtml.org/xml/darstellung/index.htm Ein mögliches Zwischenziel könnte es sein, die von mir geposteten Beispiele verstehen zu können. Ab da kann man sie auch für eigene Zwecke erweitern. (Natürlich auch gerne hier Fragen stellen) Interessant dürfte das vielleicht auch insofern für Dich sein, dass Du dann auch bemerkst, wo Dein XUI-API Design die Komplexität bei der Umwandlung in die Höhe treibt. Diese Komplexität trifft Dich teilweise auch dann, wenn Du den Prozess in einem eigenen Programm abbilden wolltest, statt einen XSLT-Prozessor zu verwenden. Das zweite Thema ist, wie man seine eigene XML-Sprache formal deklariert. Da gibt es zwei Möglichkeiten, DTD und Schema. Ersteres ist weniger komplex und auch weniger mächtig, hat aber vor allem den Nachteil, nicht XML zu sein. Schema ist dagegen äußerst leistungsfähig, dementsprechend komplexer, entspricht aber, wie bereits gesagt, in Grundzügen dem, wie Du es auch selbst gemacht hättest. Ich denke, Du findest schon passendes Material, wenn Du danach googlest. Zitat:Kommt drauf an, was Du hinterher draus machst. Als Kommunikationsmittel zwischen Programmierern können an Standards angelehnte, modifizierte Sprachen immer noch funktionieren. Existierende Werkzeuge mit Modifikationen zu verwenden, wird dagegen deutlich schwieriger. Aber eigne Dir erst einmal das Wissen an, bevor Du Dich mit der Frage beschäftigst, ob es für Dich ausreicht, modifiziert werden müsste oder womöglich gar nicht brauchbar ist. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
18.06.2011, 13:23 Uhr AGSzabo Posts: 1663 Nutzer |
Ich habe das Rad neu erfunden und meine bedürfnisse in einem eigenen Programm abgebildet. Unterstützt wird:
hier die gegenwärtige gui testdatei: xml code:<application flags="TEST" relptr="g_app" putptr="g_app_abs" hotkey="f" quitwindow="false" name="oxfilter"> <window title="Memory Monitor" undermouse="TRUE" layout="TRUE" RELPTR="g_pic_window"> <windowmenu popup="false"> <item text="select"></item> </windowmenu> <vertgroup> <title text="bitplane" /> <frame framestyle="BEVEL" hprop="TRUE" vprop="TRUE"> <planeview RELPTR="g_picview" /> </frame> <horizgroup spaceprop="FALSE"> <check senschar="z" RELPTR="g_zoom_check" hook="zoom_checkmark_hook"/> <label text="zoom" linechar="1" /> <button text="Test-Button" /> </horizgroup> <tabs> <tab title="My Tab 1"> <button text="Button on Tab 1" /> </tab> <tab title="My Tab 2"> <button text="Button on Tab 2" /> </tab> </tabs> <menu popup="false" hook="menu_select_hook"> <item text="select option 1" ID="1"> <separator /> <atem taxt="tast"> <saparator /> </atem> <item text ="this is recursive"> <separator /> <atem taxt="tast"> <saparator /> </atem> </item> </item> <separator /> <item text="select option 2" ID="2"> <separator /> </item> </menu> </vertgroup> </window> </application> hier als beispiel die regeldatei für die menu klasse: xml code:<element name="menu" prefix="M"> <attribute name="hook" type="func" /> <element name="separator" short="true"></element> <element name="item" prefix="MI" recursive="true"> <attribute name="text" type="string" /> <attribute name="ID" type="numvar" /> <element name="separator" short="true"></element> <element name="atem"> <attribute name="taxt" type="string" /> <element name="saparator" short="true"></element> </element> </element> <attribute name="popup" type="bool" /> </element> und hier das assembler ergebnis: 68000 assembler code:; OXML Compiler v0.8-15 by Andreas G. Szabo ; silva@psi5.com www.psi5.com/~silva/afilter/ OXCLASSNAME planeview OXCLASSNAME menu .application dc.l oxAA_flags,TEST dc.l OX_RELPTR,g_app dc.l OX_PUTPTR,g_app_abs dc.l oxAA_hotkey,"f" dc.l oxAA_quitwindow,FALSE dc.l oxAA_name,.str dc.l OX_WINDOW,.window dc.l TAG_END .window dc.l oxWA_title,.str1 dc.l oxWA_undermouse,TRUE dc.l oxWA_layout,TRUE dc.l OX_RELPTR,g_pic_window dc.l oxWA_windowmenu,.menu dc.l OX_VERTGROUP,.vertgroup dc.l TAG_END .menu dc.l oxMA_popup,FALSE dc.l oxMA_item,.menu_item dc.l TAG_END .menu_item dc.l oxMIA_text,.str2 dc.l TAG_END .vertgroup dc.l OX_TITLE,.title dc.l OX_FRAME,.frame dc.l OX_HORIZGROUP,.horizgroup dc.l OX_TABS,.tabs dc.l menu,.menu1 dc.l TAG_END .title dc.l oxTA_text,.str3 dc.l TAG_END .frame dc.l oxFrA_framestyle,BEVEL dc.l oxFrA_hprop,TRUE dc.l oxFrA_vprop,TRUE dc.l planeview,.planeview dc.l TAG_END .planeview dc.l OX_RELPTR,g_picview dc.l TAG_END .horizgroup dc.l oxGA_spaceprop,FALSE dc.l OX_CHECK,.check dc.l OX_LABEL,.label dc.l OX_BUTTON,.button dc.l TAG_END .check dc.l oxChkA_senschar,"z" dc.l OX_RELPTR,g_zoom_check dc.l oxChkA_hook,zoom_checkmark_hook dc.l TAG_END .label dc.l oxLabA_text,.str4 dc.l oxLabA_linechar,1 dc.l TAG_END .button dc.l oxBA_text,.str5 dc.l TAG_END .tabs dc.l oxTbA_tab,.tabs_tab dc.l oxTbA_tab,.tabs_tab1 dc.l TAG_END .tabs_tab dc.l oxTbTA_title,.str6 dc.l OX_BUTTON,.button1 dc.l TAG_END .button1 dc.l oxBA_text,.str7 dc.l TAG_END .tabs_tab1 dc.l oxTbTA_title,.str8 dc.l OX_BUTTON,.button2 dc.l TAG_END .button2 dc.l oxBA_text,.str9 dc.l TAG_END .menu1 dc.l oxMA_popup,FALSE dc.l oxMA_hook,menu_select_hook dc.l oxMA_item,.menu_item1 dc.l oxMA_separator,0 dc.l oxMA_item,.menu_item2 dc.l TAG_END .menu_item1 dc.l oxMIA_text,.str10 dc.l oxMIA_ID,1 dc.l oxMIA_separator,0 dc.l oxMIA_atem,.menu_atem dc.l oxMIA_item,.menu_item3 dc.l TAG_END .menu_atem dc.l oxMIA_taxt,.str11 dc.l oxMIA_saparator,0 dc.l TAG_END .menu_item3 dc.l oxMIA_text,.str12 dc.l oxMIA_separator,0 dc.l oxMIA_atem,.menu_atem1 dc.l TAG_END .menu_atem1 dc.l oxMIA_taxt,.str13 dc.l oxMIA_saparator,0 dc.l TAG_END .menu_item2 dc.l oxMIA_text,.str14 dc.l oxMIA_ID,2 dc.l oxMIA_separator,0 dc.l TAG_END .str dc.b "oxfilter",0 .str1 dc.b "Memory Monitor",0 .str2 dc.b "select",0 .str3 dc.b "bitplane",0 .str4 dc.b "zoom",0 .str5 dc.b "Test-Button",0 .str6 dc.b "My Tab 1",0 .str7 dc.b "Button on Tab 1",0 .str8 dc.b "My Tab 2",0 .str9 dc.b "Button on Tab 2",0 .str10 dc.b "select option 1",0 .str11 dc.b "tast",0 .str12 dc.b "this is recursive",0 .str13 dc.b "tast",0 .str14 dc.b "select option 2",0 even zoom_checkmark_hook ; rts menu_select_hook ; rts Ich wage zu bezweifeln dass all dies mit schema oder dtd auch so möglich ist, lasse mich aber gerne eines besseren belehren! ags -- Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux [ Dieser Beitrag wurde von AGSzabo am 18.06.2011 um 13:26 Uhr geändert. ] [ Dieser Beitrag wurde von AGSzabo am 18.06.2011 um 13:29 Uhr geändert. ] [ Dieser Beitrag wurde von AGSzabo am 18.06.2011 um 13:35 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
22.06.2011, 11:26 Uhr Holger Posts: 8116 Nutzer |
Zitat:Dass es mit Standard-Methoden geht, wurde doch schon vor drei Wochen bewiesen. Die Frage ist eher umgekehrt, ob Du mit Deiner Methodik jemals ein Stück Software erstellen wirst, mit dem jemand anderes außer Dir auch etwas anfangen könnte. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
09.07.2011, 15:37 Uhr AGSzabo Posts: 1663 Nutzer |
@Holger: Ich glaube nicht, daß jemand mein System benutzt blos weil es Schema oder so dtd benutzt. außerdem finde ich meine methode sehr viel überschaubarer und einfacher zum lernen. -- Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux [ - Antworten - Zitieren - Direktlink - ] |
09.07.2011, 17:34 Uhr Thore Posts: 2266 Nutzer |
Was hier interessant wäre, wär ein GUI Editor, indem mans einfach nur hinklickt und er dann eben wahlweise XML oder ASM erzeugt. Das XML könnte man dann zu ASM oder C Code konvertieren können. Dann hätte man auch aus Dritt-Programmierer einen effektiven Nutzen. [ - Antworten - Zitieren - Direktlink - ] |
09.07.2011, 17:44 Uhr AGSzabo Posts: 1663 Nutzer |
@Thore: Das Konvertieren von XML zu ASM ist genau das, was mein OXML Compiler jetzt macht. -- Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux [ - Antworten - Zitieren - Direktlink - ] |
1 -2- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > GUI Markup Language | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |