XML Events
XML Events ist eine Spezifikation des W3C, um Ereignisse, die in einem XML-Dokument auftreten, zu handhaben. Diese Ereignisse werden typischerweise durch einen Benutzer ausgelöst, der mit dem Dokument, einer Webseite, mit Hilfe eines Internetbrowsers auf einem PC, Mobiltelefon oder Telefon interagiert.
Formale Definition
[Bearbeiten | Quelltext bearbeiten]Technisch gesehen ist ein XML-Event die Repräsentation eines asynchronen Vorgangs (z. B. eines Mausklicks auf einen Button), dem ein beliebiges Datenelement in einem XML-Dokument zugeordnet wird. XML-Events bietet eine statische, syntaktische Bindung zum DOM-Events-Interface, wodurch das Ereignis verarbeitet werden kann.
Beweggründe
[Bearbeiten | Quelltext bearbeiten]Der XML Events-Standard wurde definiert, um XML-basierten Sprachen eine Möglichkeit zu geben, einheitliche Beobachter und assoziierte Eventhandler in Document Object Model (DOM) Level 2 Event-Interfaces zu integrieren. Das Ergebnis ist eine erklärende, interoperabile Methode, Verhalten mit XML-basierten Dokumenten zu assoziieren, beispielsweise XHTML.
Vorteile von XML Events
[Bearbeiten | Quelltext bearbeiten]XML Events nutzt eine separation of concerns-Designvorlage, und seine Technologie ist dank Handler sehr neutral. Somit wird den Webseitengestaltern Freiheit in Bezug auf die Code-Organisation eingeräumt, und eine Trennung von Dokumentinhalt und Skript ist ebenfalls möglich.
Sowohl frühere HTML- als auch frühere Versionen von SVG verbinden Elemente mit einem Präsentationselement dadurch, dass der Ereignisname in einen Attributnamen encodiert wird. Somit ist der Wert des Attributs gleichzeitig die Aktion für das Ereignis des Elements. Zum Beispiel (mit dem onclick-Attribut):
<p>Bleib <a href="http://www.beispiel.com" onclick="window.alert('Hallo!'); return false;">hier</a>!</p>
Dieser Entwurf hat drei Nachteile:
- Die Events sind an die Sprache gebunden, so dass man eine Änderung der Sprache vornehmen muss, um einen neuen Ereignistyp hinzuzufügen
- Er zwingt Software-Entwickler, die Inhalte eines Dokuments mit den Spezifikationen des Scriptings und Eventhandling zu mischen, anstatt eine Trennung zu erlauben
- Man kann nur eine Scriptsprache pro Dokument verwenden.
Beziehung zu anderen Standards
[Bearbeiten | Quelltext bearbeiten]Anders als Events im DOM, die laut Spezifikation fix mit dem jeweiligen HTML-Dokument verbunden sind, wurden XML-Events dazu entworfen, vollkommen unabhängig vom darstellenden bzw. verarbeitenden Gerät zu sein. XML-Events werden extensiv in XForms genutzt, sowie in Version 1.2 der SVG-Spezifikation.
Beispiel von XML Events unter Benutzung von Listener in XForms
[Bearbeiten | Quelltext bearbeiten]Nachfolgend ein Beispiel, wie XML-Events unter Benutzung von Listener in der XForms-Spezifikation genutzt werden:
<html
xmlns="http://www.w3.org/2002/xhtml"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xf="http://www.w3.org/2002/xforms">
<head>
...
<ev:listener event="DOMActivate" observer="meinButton"
handler="#doit"/>
</head>
...
</html>
In diesem Beispiel wird der Handler doit (zum Beispiel ein JavaScript-Scriptelement) ausgeführt, wenn das DOMActivate-Ereignis bei dem Datenelement mit dem ID-Attribut meinButton eintritt.