XML News from Thursday, February 9, 2006

The W3C Scalable vector Grphic working group and Web API working group have posted the first public working drafts of Remote Events for XML (REX) 1.0 Requirements and Remote Events for XML (REX) 1.0. REX is "XML grammar intended for representing events as they are defined in DOM 3 Events, primarily but not exclusively for purposes of transmission or synchronisation of remote documents. Such a vocabulary would enable one endpoint to interact remotely with another endpoint holding a DOM representation by sending it DOM Events as if they had occurred directly at the same location." That is, it is

a transport agnostic XML syntax for the transmission of DOM events as specified in the DOM 3 Events specification [DOM3EV] in such a way as to be compatible with streaming protocols.

The first version of this specification deliberately restricts itself to the transmission of mutation events so as to remain limited in scope and allow for progressive enhancements to implementations over time rather than require a large specification to be deployed at once. The framework specified here is however compatible with the transmission of any other event type, and great care has been taken to ensure its extensibility and evolvability.

For example, this fragment might be used to insert a new item on this page:

<rex xmlns='http://www.w3.org/2006/rex' 
  xmlns:html='http://www.w3.org/1999/xhtml'>
  <event target='//html:today' name='DOMNodeInserted' position='0'>
    <div xmlns='http://www.w3.org/1999/xhtml'
      id='February_9_2006_40656' class='2006-02-09T11:18:36Z'>
      <p>text here</p>
    </div>
  </event>
</rex>

It's not immediately clear to me who's supposed to be sending or receiving these events.