Font
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12597[/thread]

Perl und XML Schema

Tags: Similar Threads

Readers: 2


<< >> 3 entries, 1 page
soltyr
 2008-10-07 18:21
#115247 #115247
User since
2008-10-07
2 articles
BenutzerIn
[default_avatar]
Hallo zusammen,

ich muss gestehen, ich bin relativ neu in perl eingestiegen. Jetzt erschließt sich bei mir gerade folgendes Problem:

Ich möchte ein XML Schema (keine einfach XML Datei) einlesen/parsen. Aus den ausgelesenen Elementen möchte ich eine dynamische GUI mit Perl/Tk erstellen, eine einfaches Formular. Also wenn ich zum Beispiel folgendes Element habe
Code: (dl )
<xsd:element name="vorname"	 	type="xsd:string"/>

Möchte ich in das Label eintragen „vorname“ und dahinter kommt ein Entry Widget.

Jetzt möchte ich das aber nicht für eine bestimmte xsd (XML Schema) Datei machen, sondern für irgendein Schema. Ist so etwas prinzipiell möglich? Wenn ja, kann mir irgendjemand einen Tipp geben wie ich das am Einfachsten anstelle? Also eine normale XML Datei parse ich mit XML::Twig.

Ich bedanke mich schon einmal im voraus und freue mich auf Kommentare.

Gruß soltyr
murphy
 2008-10-07 18:46
#115248 #115248
User since
2004-07-19
1776 articles
HausmeisterIn
[Homepage]
user image
Zum Verarbeiten des Schemas eignet sich wahrscheinlich ein spezialisiertes Modul wie CPAN:XML::Schema besser als ein generisches wie CPAN:XML::Twig.

Was das erstellen der GUI betrifft, so ist das Prinzip ganz einfach: Neues Fenster erzeugen, über alle Elementdefinitionen unterhalb eines Rootelementes iterieren, für jedes Element die nötigen Widgets anlegen und verdrahten, zum Schluss ein paar Steuerknöpfe hinzufügen und das Fenster anzeigen.

Das einzige ernsthafte Problem bei dieser Aufgabe ist, dass XML Schemata neue Datentypen beliebiger Komplexität definieren können. Du wirst also wohl kaum mit einfachen Eingabefeldern auskommen, sondern solltest in der Lage sein, dynamisch Widgetgruppen für Strukturen von Subelementen anzulegen, Eingaben des Benutzers anhand des Schemas zu validieren und vielleicht auch für bestimmte Datentypen der Bequemlichkeit halber spezielle Widgets anzuzeigen (z.B. für Kalenderdaten).
When C++ is your hammer, every problem looks like your thumb.
soltyr
 2008-10-08 11:53
#115264 #115264
User since
2008-10-07
2 articles
BenutzerIn
[default_avatar]
Hallo,

zunächst mal danke für die Antwort. Ich hab jetzt versucht weitere Informationen über XML::Schema zu bekommen und habe leider nur die HTML Dokumentation dazu gefunden. Kann mir jemand helfen und sagen, wo ich z.B. ein Tutorial oder Beispielprogramme finde?

Vielen Dank im voraus.

Gruß soltyr
<< >> 3 entries, 1 page



View all threads created 2008-10-07 18:21.