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.
Inhaltsverzeichnis |
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.
Der XML Events-Standard wurde definiert, um XML-basierten Sprachen eine Möglichkeit zu geben, einheitliche Observer 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.
XML Events nutzt eine separation of concerns-Designvorlage, und seine Techonologie 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 Attibuts 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:
Anders als DOM Events, die normalerweise mit HTML-Dokumenten assoziiert werden, sind XML-Events dazu entworfen worden, vollkommen unabhängig von Devices zu sein. XML Events werden extensiv in XForms genutzt, sowie in Version 1.2 der SVG-Spezifikation, seit Juli 2006 immer noch Arbeitsentwurf.
Nachfolgend ein Beispiel, wie XML-Events 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>
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.
Empfehlungen (recommendations): Canonical XML | CDF | CGI | CSS | DOM | HTML | MathML | OWL | PLS | RDF | RDF-Schema | SISR | SMIL | SOAP | SRGS | SSML | SVG | SPARQL | Timed Text | VoiceXML | WSDL | XACML | XForms | XHTML | XML | XML Base | XML Events | XML Information Set | XML Schema | XML Signature | XPath | XPointer | XQuery | XSL Transformation | XSL-FO | XSL | XLink
Anmerkungen (notes): XHTML+SMIL | XAdES
Arbeitsentwürfe (working drafts): CCXML | CURIE | InkML | XFrames | XFDL | WICD | XHTML+MathML+SVG | XBL | HTML5