Re: XML Diff and Sync

From: Robin LaFontaine <robin@monsell.co.uk>

To: Joel Bender <jjb5@cornell.edu>, xml-dev@lists.xml.org

Date: Thu, 19 Apr 2001 11:34:44 +0100

Joel,
I understand your comment, but I am not sure that in the general case
the Xpath is any better. It is a question of where you start your
Xpath given several changes 'near' each other in a nested level in
the tree. DeltaXML puts these into the same 'diff' tree/branch but
using Xpath there would simply be similar Xpaths.
We have a variation that works also for elements that are not
ordered, i.e. need to be compared in any order, possibly using some
kind of 'key' value. This would make the Xpath much more complex to
identify the correct element, but the deltaXML format remains
similar, with the addition of the key. But that is not part of the
DeltaXML Markup which you have been using - it needs knowledge of the
DTD. If you browse the diffs for XML Schema, for example, on the web
site (http://www.deltaxml.com/prod-xmlschema.html) and see Example
Output, you will see what I mean.
Anyway, I hope you enjoy using DeltaXML and let us have any further comments.
Kind regards,
Robin
At 3:06 PM -0400 4/18/01, Joel Bender wrote:
>Robin LaFontaine wrote:
>
> >We have proposed a delta format for XML (see
> >http://www.deltaxml.com) which does what you need though it does not
> >use Xpath.
>
>Thank you for the reference, and I look forward to working with your
>demo. It seems to share a similar flavor with XML Fragment
>documents, so where you describe a change like this:
>
> <xhtml:html deltaxml:delta="WFmodify" >
> <xhtml:head deltaxml:delta="unchanged" >
> </xhtml:head>
> <xhtml:body deltaxml:delta="WFmodify" >
> <xhtml:table deltaxml:delta="WFmodify" >
> <xhtml:tr deltaxml:delta="WFmodify" >
> <xhtml:td deltaxml:delta="unchanged" ></xhtml:td>
> <xhtml:td deltaxml:delta="unchanged" ></xhtml:td>
> <xhtml:td deltaxml:delta="WFmodify" >
> <deltaxml:PCDATAmodify>
> <deltaxml:PCDATAold>
> td 3
> </deltaxml:PCDATAold>
> <deltaxml:PCDATAnew>
> td 3a
> </deltaxml:PCDATAnew>
> </deltaxml:PCDATAmodify>
> </xhtml:td>
> </xhtml:tr>
> </xhtml:table>
> </xhtml:body>
> </xhtml:html>
>
>All I really need is something like this:
>
> <PCDATAmodify xpath="html/body/table/tr/td[3]">
> td 3a
> </PCDATAmodify>
>
>I like the idea that you can use the same document to describe
>changes in both directions (old to new and new to old).
>
>Joel
>
>------------------------------------------------------------------
>The xml-dev list is sponsored by XML.org, an initiative of OASIS
><http://www.oasis-open.org>
>
>The list archives are at http://lists.xml.org/archives/xml-dev/
>
>To unsubscribe from this elist send a message with the single word
>"unsubscribe" in the body to: xml-dev-request@lists.xml.org
-- -----------------------------------------------------------------
Robin La Fontaine, Monsell EDM Ltd
(XML file comparison, Engineering data exchange and management using XML)
Tel: +44 1684 592 144 Fax: +44 1684 594 504
Email: robin@monsell.co.uk http://www.deltaxml.com