Stefan Muenz: Behaviors, XBL - wohin geht die Reise?

Beitrag lesen

Liebe Forumer,

schon seit laengerem gibt es Ueberlegungen, wie man elementbezogenes Event-Handling bei HTML oder auch XML-Sprachen besser organisieren koennte.

Der MS IE 5.0 fuehrte seinerzeit die DHTML-Behaviors ein. Ueber eine spezielle CSS-Eigenschaft namens behavior:url(...) kann man dabei auf eine HTC-Datei linken, die aus XML-Code besteht und Script-Anweisungen (z.B. in JavaScript) fuer Reaktionen z.B. auf Maus-Events zu diesem Element enthaelt. Die CSS-Eigenschaft behavior kann man natuerlich beliebigen CSS-Selektoren zuweisen, was fuer eine hohe Flexibilitaet sorgt. Und wer nun glaubt, die DHTML-Behaviors seien irgendeine Hirngeburt von MS-Strategen, der irrt: auf http://www.w3.org/TR/becss geistert seit 1999 eine entsprechende W3C Working Draft herum. In CSS 3.0 ist diese aber meines Wissens bis heute nicht eingeflossen.

Neuere Gecko-basierte Browser haben - hoch lebe der Browserkrieg - natuerlich eine Alternativloesung parat: das ganze laeuft unter dem Stichwort XBL und funktioniert eigentlich ganz genauso wie die DHTML-Behaviors, nur dass natuerlich ein ganz anderes XML-Format benutzt wird. Die Originaldoku von Mozilla hierzu (http://www.mozilla.org/projects/xbl/xbl.html) findet sich mittlerweile auch beim W3C auf http://www.w3.org/TR/xbl/ als technische Notiz wieder - ein Hinweis darauf, dass man beim W3C auch diesen Ansatz ernst nimmt.

Da scheint es also mal wieder viel Diplomatie und viel kleines Browser-Gemetzel zu geben. Meine Fragen in diese Runde:

  • hat von euch schon jemand naehere Erfahrungen mit einer der beiden Techniken gemacht?
  • sind beide Techniken ueberhaupt standardkonform einsetzbar? Zumindest bei den DHMTL-Behaviors ist mir aufgefallen, dass da munter mit eigenen HTML-Namespaces gearbeitet wird, was ja eigentlich nur im Rahmen von XHTML erlaubt sein sollte
  • welche Technik erscheint euch ausgereifter?
  • oder sind beide Techniken letztlich ueberfluessig, weil das Event-Modell von DOM2.0 alles Noetige befriedigend abdeckt?

viele Gruesse
  Stefan Muenz