XMLGuiBuilder goes XML


Warum XML?

XML ist auf dem besten Weg, der Standard für Dokumenten-basierten Informationsaustausch zu werden.
Genau betrachtet ist die Beschreibung eine Oberflächenspezifikation ist auch nur ein Dokument, welches nach klaren Regeln strukturiert ist. Es liegt also nahe, diese Regeln in einer DTD festzulegen, und auf dieser Basis mit einem beliebigen XML-Editor Oberfläche zu spezifizieren.

Wie funktioniert das?

Sie können den Editor des GuiBuilder verwenden, um ihre Oberfläche in XML zu spezifizieren. Hierzu müssen einige formale Dinge eingehalten werden:

Siehe auch Beispiel.xml

Dokumenten-Validierung

Für die Validierung von Spezifikationen dient die Datei "gdl.dtd".

Der Vorteil einer Validierung besteht darin, daß unzulässige Tags und ihre Attribute sowie unzulässige Schachtelungen von Containern vom Parser mit einer Fehlermeldung zurückgewiesen werden.

Um die Validierung einzuschalten, ist nach der Zeile <?xml ...> eine entsprechende Deklaration einzutragen und die gesamte Spezifikation mit den Tags <GDL> ... </GDL> zu umschließen.
Beispiel:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE GDL SYSTEM "gdl.dtd">
<GDL>
   <Form label="Beispiel für Validierung">
   ...
   </Form>
</GDL>

In der Datei "GuiBuilderConfig.xml" kann ein Default-Wert für den initialen Inhalt des Editor eingetragen werden.

Hierbei werden verschiedene Defaults gesetzt, je nachdem ob über das file-Protokoll oder per HTTP auf Dateien zugegriffen wird.

Hinweis:
Die Datei "gdl.dtd" wird vom Parser in der Codebase des Applet gesucht.

XML-Editor

Der GuiBuilder kann als XML-Editor verwendet werden, vor allem um Beispieldaten zu speichern und wieder zu laden.

Um die Speicherung der Daten etwas von Layout-Änderungen unabhängig zu machen, werden standardmäßig nur Registerkarten als Unterkontainer bei der Gliedrung des XML-Dokumentes verwendet, also keine nomalen Panels oder Gruppen.

Hierzu werden die Attribute "name" und "ref" verwendet:

Für die Speicherung und das Laden von XML-Dokumenten dienen die Methoden "XmlSave()" und "XmlOpen()"; sie können in dem Attribute "file" einem Menüeintrag, einem Button oder einem Tool in der Toolbar zugewiesen werden.

Für die Validierung dieser Dokumente wird guivalues.dtd verwendet.

XML-Navigator

Für die Erfassung tief gestaffelter XML-Dokumente kann das Navigator-Pattern eingesetzt werden:

Als Beispiel siehe Büro.xml.

Konvertierung von GDL nach XML

Im Popup-Menü des Editors gibt es einen Eintrag "Generate XML...".

Mit ihm können "alte" Spezifikation nach XML konvertiert werden.

Risiken und Nebenwirkungen

Eine Erweiterung des Sprachumfangs ist bei dem Einsatz dieser DTD nicht möglich, es sei denn, Sie erweitern auch die DTD entsprechend.

Versionen von Spezifikationen sind nur eingeschränkt möglich (Schlüsselwort "Case" wird bei der XML-Notation als Attribut verwendet). Bei der Konvertierung der "alten" Notation nach XML wird die jeweils eingestellt Variante generiert.


Stand: 4.6.2000

home