Einleitung
Für die Darstellung von Interfaceanpassungen(Buttons, Balken, etc.) verwendet World of Warcraft das XML-Format. Die XML-Dateien ähneln dem HTML-System da auch XML Elemente verwendet, die aus sogenannten Tags bestehen. Die Elemente für der XML-Datei sind allerdings von Blizzard vorgegeben und haben bestimmte Attribute, welche man optional einstellen kann. Die Attribute werden in den Anfangs-Tags eingebundenFolgende Möglichkeiten von Elementen gibt es:
Element mit Start- und EndTag
StartTag Attribut1=”Wert” Attribut2=”Wert”…/EndTag !– zwischen den Tags können andere Elemente oder Inhalte stehen –
Element das in sich geschlossen ist
StartTag Attribut1=”Wert” Attribut2=”Wert” / !– das Zeichen “/” beendet das Tag –
StartTag Attribut1=”Wert” Attribut2=”Wert”…/EndTag !– zwischen den Tags können andere Elemente oder Inhalte stehen –
Element das in sich geschlossen ist
StartTag Attribut1=”Wert” Attribut2=”Wert” / !– das Zeichen “/” beendet das Tag –
Grundsätzlich kann jedes Element mit Start- und
Ende-Tag zu einem Single-Tag werden, sofern es keine Kindelemente
besitzt.
Innerhalb von XML-Dateien soll das Grundgerüst des AddOns im Aussehen definiert werden. Für die Verwendung von XML-Elementen ist eine vordefinierte Struktur gegeben, welche eingehalten werden muss, um von World of Warcraft verstanden zu werden. Zu diesem Zweck werden hier die verschiedenen XML-Elemente in Ihren Eigenschaften und Verwendungsmöglichkeiten beschrieben.
Zum besseren Verständis des Aufbaus einer XML-Datei, werden die Elemente in ihrer Anordnung und Abhängigkeit aufgezeigt. Es ist nicht immer notwendig alle Kindelemente einzubauen, einige Elemente können sich auch gegenseitig ausschließen (siehe AbsDimension und RelDimension).
Wer sich noch nie mit den XML-Dateien in AddOns
auseinander gesetzt hat sollte sich bei den
HowTos
umsehen bezüglich einer Einführung in diese Materie.
Es kann
nicht für die Vollständigkeit der Liste garantiert werden.
Elemente und Struktur
Die folgende Struktur, soll grob den Aufbau einer XML-Datei für WoW verdeutlichen. Erklärungen und Kommentare werden nach dem Standard XML-Kommentar abgebildet mittels !– … –Ui !-- Rootelement einer XML-Datei für WoW -- Script / !-- Angabe der Datei in der die Skripte(Funktionen, Variablen etc.) liegen -- Frame !-- Standardelement -- Size !-- Element für Definition der Größe -- AbsDimension !-- absolute Angaben -- !-- oder -- RelDimension !-- relative Angaben -- /Size
Anchors !-- Positionierungen -- Anchor !-- Positionierungselement -- !-- optionale Angabe start -- Offset !-- Verschiebungselement -- AbsDimension / !-- absolute Angaben -- !-- oder -- RelDimension / !-- relative Angaben -- /Offset !-- optionale Angabe ende -- /Anchor /Anchors
!-- optionale Angabe start -- Backdrop !-- Hintergrund und Rahmen -- EdgeSize !-- Kanten-- AbsValue / !-- Rahmengröße -- /EdgeSize TileSize !-- Kachelung -- AbsValue / !-- Kachelgröße -- /TileSize BackgroundInsets !-- Hintergrundeinsatz-- AbsInset / !-- oder -- RelInset / /BackgroundInsets /Backdrop !-- optionale Angabe ende --
!-- optionale Angabe start -- Layers !-- Container für Layer-Elemente -- Layer !-- Layer-Element -- FontString / !-- Text-Element -- Texture / !-- Bild/Farb-Element -- /Layer ... !-- beliebige Wiederholung von Layer-Elementen möglich -- /Layers !-- optionale Angabe ende --
!-- optionale Angabe start -- Frames !-- Container für Frame-Elemente -- Frame !-- Frame-Element, siehe Abschnitt Frame-Derivate -- ... !-- Verschachtelung möglich -- /Frame ... !-- beliebige Wiederholung von Frame-Elementen möglich -- /Frames !-- optionale Angabe ende --
!-- optionale Angabe start -- Scripts !-- Container für Script-Elemente -- !-- siehe Abschnitt Script-Elemente -- /Scripts !-- optionale Angabe ende --
/Frame ... !-- beliebige Wiederholung von Frame möglich -- /Ui
Frame-Derivate
Es gibt Elemente, die vom Standardelement Frame abgeitet sind und dementsprechend die gleichen Eigenschaften und Attribute besitzen. Sie sind meistens für spezielle Aufgaben zu gebrauchen. Die folgende Liste zeigt abgeleitete Elemente die als Frame-Elemente gelten und behandelt werden.-
EditBox .. /EditBox
Eingabefeld für einzeilige oder mehrzeilige Texte. -
Button ..
/Button
Button-Element.
Scripts-Elemente
Damit das AddOn auch auf bestimmte Ereignisse reagiert, werden die sogenannten Scripts-Elemente benötigt, welche auch als Handler bezeichnet werden. Innerhalb der Scripts-Elemente wird der auszuführende Teil geschrieben. Dies kann ein Funktionsaufruf sein, welche in einer seperaten (aber gelinkten) lua-Datei definiert ist, oder direkt auszuführender lua-code.Es darf nur innerhalb von Scripts-Elementen
lua-Code in der XML-Datei eingebunden werden!
Die folgenden Script-Elemente können verwendet werden:
-
OnLoad…/OnLoad
Wird aufgerufen, wenn das Element geladen wird. -
OnEvent…/OnEvent
Wird aufgerufen, wenn ein vorher registriertes Ereignis eintritt. siehe API-Ereignisse -
OnShow…/OnShow
Wird aufgerufen, wenn das Element sichtbar wird. -
OnHide…/OnHide
Wird aufgerufen, wenn das Element für den Benutzer unsichtbar wird.
zurück zur AddOn-Materie
zurück zur Übersicht der Skript-Sektion









