XML zur Erzeugung eines DHTML-Menüs


Nun fehlt nur noch eine Funktion, die die XML-Datei lädt und sie dann zum Erzeugen der Funktionsaufrufe für die Erstellung des Menüs verwendet, so wie es auch ein hart codiertes Menü tun würde. Für dieses Beispiel wird angenommen, dass der Benutzer den Internet Explorer 5.5 oder höher einsetzt, mit JavaScript für clientseitiges Scripting. Zur Erzeugung und Konfiguration des XML-Objekts wird der folgende Code verwendet:


Wer auch Nicht-IE-Browser unterstützen will, sollte diesen Teil des Codes entsprechend modifizieren.

Da es nun eine Referenz auf das XML-Objekt gibt, kann man die XML-Datei laden. Diese ist in der Variablen url_xmlFile enthalten. Mit diesem Objekt ist es möglich, alle in der XML-Datei enthaltenen Menü-Einträge herauszuziehen, um sie in ein Array zu packen. Die Einträge werden durch den menuitem-Tag identifiziert:


Sobald sich alle Einträge in einem Array befinden, sollte man sie der Reihe nach durchgehen können, um die Parameter für die Standard-Funktionen des DHTML-Menüs bereitzustellen. Es gibt zwei Hauptunterschiede zwischen dem hart codierten Script oben und dem XML-Beispiel. Erstens: Für Menü-Einträge der obersten Ebene wurde in der XML-Datei eine 0 verwendet statt null im Original-Code. Zweitens: Die Nummern der Menü-Elemente in der XML-Datei haben noch kein alphanumerisches Präfix erhalten. Also muss man diese beiden Aufgaben innerhalb der Funktion erledigen. Wenn man dies berücksichtigt, sieht das Script schließlich aus wie das in Listing B.

Nun kann der hart codierte Teil des Menüs des Scripts durch den neuen dynamischen XML-Prozessor ersetzt werden, wobei der Rest des Codes für das DHTML-Menü-Script unangetastet bleibt.

Bereitstellung von Menü-Einträgen

Mit diesem Ansatz können die Menü-Einträge in einer XML-Datei bereitgestellt werden. Sobald diese mit dem unveränderten Rest des CoolMenus-Scripts kombiniert wird, erhält man ein funktionierendes DHTML-Menü auf XML-Basis.

Dieser Artikel dürfte eine ausreichende Grundlage für die Verwendung dieser Methode in eigenen Anwendungen bieten. Die Aktualisierung der XML-Datei hängt von einer Vielzahl von Faktoren ab, die je nach Anwendung variieren, weshalb dieser Aspekt hier nicht behandelt wurde. Auch die Vorgehensweise beim Erstellen der verwendeten XML-Datei bleibt jedem Anwender selbst überlassen.

Themenseiten: Anwendungsentwicklung, Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

2 Kommentare zu XML zur Erzeugung eines DHTML-Menüs

Kommentar hinzufügen
  • Am 12. Oktober 2003 um 14:29 von Einfacher Geist

    mit ActiveX??? Warum so Kunden vergraulen?
    Lieber Autor,

    die Welt besteht aus mehr als nur MS. Mit dieser Lösung schliesse ich meine professionellen Uuix-Kunden aus, ebenso wie diejenigen, die auf Sicherheit bedacht sind, danke schön.

    Eine soch proprietäre Lösung zeugt von entweder ziemlicher Inkometenz oder zumindest massiver Ignoranz. So jemanden würde ich niemals an meine Webseiten, mit denen ich schliesslich Kunden zu frieden stellen und Geld verdienen will ran lassen. Sowas ist doch nur peinlich.

  • Am 10. Oktober 2003 um 9:21 von Bose-Einstein-Kondensat

    Wie kann man nur so inkompetent sein???
    … und das ganze clientseitig via activex ind m$ dom lösen??

    Wo bleibt da die W3C-konformität und der anspruch dass es auf allen dazu kompatiblen browsern auf allen systemen laufen muss??
    Denn abweichungen davon zeugen nur davon dass man absolut keine ahnung hat.

    Zudem: Genau auf das aufzubauen was die meisten sicherheitslücken hat, für das gerade zu diesem zeitpunkt mehrere exploits zur verfügug stehen, und das aufgrund eines verfahrens vielleicht demnächst gesperrt sein wird…. das ist schon sehr dreist… und ziemlich offensichtlich dass da jemand doch ein büsschen zu m$-affin ist.

    Nur damit wir uns richtig verstehen: Wenn M$ was gutes macht, dann sollte man das auch würdigen.
    Aber ActiveX gehört nun wirklich nicht dazu, und bei dem was diese firma die letzten jahre und zur zeit veranstaltet, da ist es schon fast ein verbrechen gegen die menschheit die noch länger zu unterstützen…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *