Subject: [Simple] xml-patch-ops issues

From: Jari Urpalainen <[email-masked]>
Date: Fri, 18 Nov 2005 09:56:52 +0200

Hi all!

In Vancouver BoF some issues were left open:
1. Some folks wanted to have text node patching. I've studied the
situation and it seems that it is fairly trivial to add this sort of
patching to the framework once a proper algorithm exists. So what I'm
proposing is that I'll add a <patch> schema type to the framework. As
you always need to include this schema with some other spec that defines
the mime type, it doesn't harm applications like partial-pidf and
xcap-diff which do not need this feature. It is somewhat feature creep,
but as it is so simple it doesn't much delay this work. So the new type:
<patch sel="*/note/text()" [method="vcdiff, gdiff"]>[base64 encoded
string]</patch>
RFCs 3229 & 3284 list the algorithm alternatives. gdiff is not a
standards track doc and vcdiff has some ipr issues. However, the purpose
is to show that it is easy to integrate this feature if some application
needs it.

2. There has been a request to e.g. remove multiple attributes at the
same time by using an everywhere "//" selector, like <remove
sel="//@attr"/>. As this operation has performance implications I'm
inclined not to include it, some reasoning:
Why not limit to attributes only, search elements as well. How about
replacing multiple elements with the same new content. With elements you
would have to check for nested elements, how it it supposed to work. It
isn't that difficult to implement (actually i've done it with
xcap-multi-insert), but I'm still hesitant to add any feature creep that
it isn't really necessary. This could be added to spec with e.g. a
'msel' selector (multi-selector) and with a new type inherited from the
"base" patch operation types. As this adds quite a lot of text and yes
something "nice to have", I don't want to add it here. So if this is
really must feature it can be added later with a separate spec.

Any comments, objections ?
br,
Jari

_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple