OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: defining xml diff/changes in xml : XUpdate etc

[ Lists Home | Date Index | Thread Index ]

Hi all,

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
> http://www.saxonica.com/


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS