[Standards] shared XML editing update

Joonas Govenius joonas.govenius at gmail.com
Thu Feb 7 00:39:36 UTC 2008


Hi Fabio,

Fabio Forno wrote:
> On Feb 4, 2008 9:52 PM, Joonas Govenius <joonas.govenius at gmail.com> wrote:
>
>   
>> The problem is that you need to create a "record" for each new DOM node
>> that is added to the document. Therefore, if we want an instruction that
>> adds its XML payload to the document, we need to specify a unique way of
>> implicitly generating a record for each node in the payload. However,
>> that seems error prone especially given that different DOM engines may
>> parse the XML payload differently (e.g. I think IE ignores some
>> whitespace nodes that Firefox doesn't).
>>     
>
> Uhm, I don't think it's absolutely necessary. For example you could
> select the node where to apply changes using an xpath query, e.g.: add
> this node to /root/child1/child2[@name="spam"].
The xpath method can't handle two different people appending child nodes 
simultaneously; they would end up in opposite orders on the two clients' 
copies.
>  Moreover the
> particular application could already provide explicit ids for nodes,
> and the transport could use them.
I don't think we want to make the transport rely on a particular 
application.

In fact, as it is right now, the SXE implementation of psi for example 
exposes only a regular DOM document to the application (whiteboarding), 
except that the application has to use methods like 
SxeSession::setAttribute(DomNode node, char* name, char* value) instead 
of node.setAttribute(char* name, char* value) to modify the document. 
The application implementation doesn't need to know anything else about 
the transport.
>  Basically what I'm saying is that
> the application could decide to switch to a different transport if it
> is more efficient and supported by both clients, but I think that
> jingle will help a lot in this. Perhaps the protocol won't need
> changes, just examples showing how to do the negotiation.
>   
Agreed. I suppose those examples would belong in the XEPs that define 
application types.

Joonas



More information about the Standards mailing list