XML-händelser

Inom datavetenskap och webbutveckling är XML Events en W3C- standard för hantering av händelser som inträffar i ett XML -dokument . Dessa händelser orsakas vanligtvis av användare som interagerar med webbsidan med hjälp av en enhet, till exempel en webbläsare på en persondator eller mobiltelefon .

Formell definition

En XML-händelse är representationen av någon asynkron förekomst (som ett musknappsklick ) som associeras med ett dataelement i ett XML -dokument. XML Events tillhandahåller en statisk, syntaktisk bindning till DOM Events- gränssnittet, vilket gör att händelsen kan hanteras.

Motivering

XML Events-standarden är definierad för att ge XML-baserade språk förmågan att enhetligt integrera händelseavlyssnare och associerade händelsehanterare med Document Object Model (DOM) nivå 2 händelsegränssnitt. Resultatet är att tillhandahålla ett deklarativt, interoperabelt sätt att associera beteenden med XML-baserade dokument som XHTML .

Fördelar med XML-händelser

XML Events använder en separation av problem designmönster och är teknikneutralt med avseende på hanterare . Det ger författare frihet att organisera sin kod och tillåter separation av dokumentinnehåll från skript .

Äldre HTML- och tidiga SVG- versioner binder händelser till presentationselement genom att koda händelsenamnet i ett attributnamn , så att värdet på attributet är åtgärden för den händelsen vid det elementet. Till exempel (med JavaScripts onclick - attribut):

Stanna <a href="http://www.example.org" onclick="window.alert('Hello!'); return false;">här</a> !

Denna design har tre nackdelar:

  1. den kopplar händelserna till språket att nya händelsetyper kräver ändringar av språket
  2. det tvingar författare att blanda innehållet i dokumentet med specifikationerna för skript och händelsehantering, snarare än att låta dem separera dem.
  3. det begränsar författare till ett enda skriptspråk per dokument.

Förhållande till andra standarder

Till skillnad från DOM Events , som vanligtvis associeras med HTML-dokument, är XML-händelser utformade för att vara oberoende av specifika enheter. XML-händelser används flitigt i XForms och i version 1.2 av SVG -specifikationen, från och med juli 2006, vilket fortfarande är ett fungerande utkast.

Exempel på XML-händelser som använder en lyssnare i XForms

Följande är ett exempel på hur XML-händelser används i XForms-specifikationen:


   
   
   
   
         
          
   
   
 
  
 <html  xmlns=  "http://www.w3.org/1999/xhtml"  xmlns:ev=  "http://www.w3.org/2001/xml-events"  xmlns:xf=  "http://www. .w3.org/2002/xforms"  >  <head>  <ev:listener  event=  "DOMActivate"  observer=  "myButton"  handler=  "#doit"  />  </head>  <xf:trigger  xml:id=  "myButton"  ><xf:label>  Gör det!  </xf:label></xf:trigger>  <script  xml:id=  "doit"  type=  "application/ecmascript"  >  alert("test");  </script>  </html> 

I det här exemplet, när DOMActivate -händelsen inträffar på dataelementet med id-attributet myButton , exekveras hanteraren doit (till exempel ett JavaScript-element).

Se även

externa länkar