[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: XML Overlays and Deltas: Existing methods? Ideas?
- From: Joel Bender <jjb5@cornell.edu>
- To: "Bullard, Claude L (Len)" <clbullar@ingr.com>, xml-dev@lists.xml.org
- Date: Wed, 18 Apr 2001 18:09:00 -0400
At 3:41 PM -0500 4/18/01, Bullard, Claude L (Len) wrote:
>Given two documents, they are similar or equivalent
>if they are transformable into each other.
>
>[snip]
>
>The worst case pathology requires a complete replacement
>of the document itself.
With you so far...
>To use a transform-based operation against a document
>set, the documents must be closed, that is, a transform
>must exist which will update/insert/append the information
>and not violate similarity if the SAME operation is
>applied to all.
I'm not completely sure what you mean by "closed", but here is a
guess. For any transform from A to B, if the same transform is
applied to A' resulting in B' and A' equals A, then B' will equal B.
All my applications will stay synchronized provided they all started
out with the same A and they all get the same list of transforms in
the same order.
There is the degenerate case where any document could be transformed
into B simply by replacing the entire contents, but I'm more
interested in the smallest description that can be used to describe
the transform.
>So the delta update could be a transform based message type given
>that such a transform exists for the class (in fact, the existence
>of the transform proves the existence of the class in that sense).
Yes, I envision the difference document containing one or more "op
codes" that each represent some component of the transformation from
A to B.
>It seems to me in the theoretical that the XSLT transform can
>represent the delta.
I don't know enough about XSLT to have an opinion.
>If I have a document loaded into the DOM, can't I listen for
>transforms by type (ie., I have to identify which of the transform
>messages are mine)?
Thanks for the pointer, I just now found the DOM Level 2 Mutation
Events [1]. I had been limiting my study of the DOM to Level 1. If
there was a standard way of encoding a MutationEvent object in XML so
that it can be sent to peers, archived, etc., that might work (Java
serialization might work for some folks, but I'm not using Java). If
there was a way to encode it as a mini XSLT transformation document,
that might work too!
I don't know enough about the listening mechanism yet to answer your
question, but I suspect it's "yes". The Mutation Event Types are
perfect labels for my "op codes" (they're a little long for my taste,
but a good binary XML encoding would take care of that :-).
Thanks for your help!
Joel
1. http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MutationEvent