Lists Home |
Date Index |
I'm the author of diffxml and DUL. Sorry in the delay replying - I only read the digest format infrequently.
There are two diff formats that have been submitted to the IETF, mine (http://www.ietf.org/internet-drafts/draft-mouat-xml-patch-00.txt) and Jari Urpalainen's
(http://www.ietf.org/internet-drafts/draft-urpalainen-simple-xml-patch-ops-01.txt).Jari's solution is considerably simpler than mine, but doesn't support operations on character data, e.g. inserting a node into the center of some text i.e:
<a>some text here<a/>
<a>some <b/>text here</a>
Would take several operations as opposed to one in DUL.
The IETF had a bof on the subject of xml patching - the notes can be found here:
Basically there seems to be no current support for the creation of a standard.
On a personal level I would like to continue my work on diffxml and DUL, but it is only an unpaid hobby for me and I currently have large demands on my time.
I am however interested in the lists opinion on DUL. I have included answers to Michael Kay's questions below.
Michael Kay wrote:
> All of this seems to be a bit short of requirements statements and use
> cases. I would have thought that different requirements would prompt
> different designs. For example:
> * must the effect of applying diffs be independent of the order in which
> they are applied?
Surely impossible?? I can't add a node to a subtree that doesn't exist. Or do you have a completely different format in mind?
> * how important is it to merge two diff files that relate to the same source
> to create a merged diff file; and if so, how important is it to be able to
> detect and/or resolve conflicts?
I've never considered this - interesting.
> * is it ever necessary to apply a diff file D that was defined against a
> base file B to a slightly different base file B'? If so, what kind of
> differences between B and B' should be tolerated?
Good question. It is considered in my dissertation. Would require the addition of context data to DUL.
> * do diff files need to be human-readable?
I think not - they can be transformed into human readable formats.
> * do diff files need to be small?
Is XML ever?
> * what kind of changes need to be diff'ed? Do they include, for example,
> renaming of nodes? Do they include any bulk changes, such as deleting all
> instances of a particular attribute? Do they include changes at the lexical
> level, e.g. changing the expansion text of an internal entity? Do they
> include DTD changes?DUL doesn't handle expressions like this, and I don't think it should - leave that to XQuery update.
Entities are a hard question - there are even more questions if you consider whether they should be resolved or not. DTD changes are not supported in DUL.
> * are there any assumptions about schema validity of the source and/or
> target documents?
Not in DUL.
> * are any operations applied to diff files other than (a) applying a diff
> file to a base document, (b) merging two diff files?
Not quite sure what you're getting at.
> * What exactly is the real requirement behind the statement that the diff
> files must be XML?
> Perhaps this is all covered by some kind of unstated assumption "we want it
> to work like UNIX diff". But if that were the case, you could use UNIX diff.
Not really... See my dissertation at diffxml.sf.net for more of a discussion.
> Michael Kay