- From: Casey Jordan <casey.jordan@jorsek.com>
- Date: Mon, 11 Mar 2013 15:53:58 -0400
- To: dennis.hamilton@acm.org
- Cc: "public-change@w3.org" <public-change@w3.org>
- Message-ID: <CAPAQPqfBQuiOnM0EBrtUM3NoMiCCJxkok4NjM1uw1Qogn0+FwQ@mail.gmail.com>
Dennis you are correct in your assumptions about XPath, and while I think Claudius is on the right track by using something like XPath, it would probably make more sense to use a very constrained version of a "range" (IE Two points in a document). Take for instance this document: <topic> <title><b>Hello</b> everyone!</title> </topic> Given any tree structure we could represent a range in the with a pair of locations (start, end) and offsets. The node would be indicated by a position vector, and the offset by the caret placement in that node. Consider indicating that someone selected and deleted "Hello everyone!". The range would be: (Start: [0.0.0.0, 0], End [0.0.1, 10]) The x.x.x sequence indicates the nodes position in the document. IE: The document element is at position 0. The title element is at position 0 with respect to it's parent, and so on. So [0.0.0.0, 0] indicates that the start node is the "Hello" text node, and the start position is at the beginning of the nodes character data (0). [0.0.1, 10] indicates that the end node is the " everyone!" text node, and the end position is at the end of the nodes character data (10) This method is simple, throughout and could be easily standardized. The only issue with externalizing information like this is you always need to be able to understand how changes effects the addressing of these elements. Since there is no unique id for each element, moving an element would mean these addresses would need to be modified to represent the new correct location. In a single user editing scenario (Only one user editing at a time) this is simple. In an collaborative environment this becomes very complex. Which is one of the reasons PI's in the document are often chosen over this method. Cheers, Casey On Mon, Mar 11, 2013 at 2:42 PM, Dennis E. Hamilton <dennis.hamilton@acm.org > wrote: > I suspect that XPath works for pure XML change-tracking, although I have a > question. > > I am not conversant enough with XPath to see whether it can isolate a > point *within* a text node. My superficial examination of XPath 1.0/2.0 > suggests that there is no path expression into the interior of a text node. > Is that considered a problem here, or is there a well-known way of > addressing that? > > - Dennis > > PS: > One reason for external tracking, if I wasn't clear about it, is to > preserve any DSig on the original. The combination might then be signed by > the source of the changes and this can be recursive. The downside is that > one can't have the default interpretation of the document, ignoring the > external changes, be the form that is seen with all changes accepted. > (Think about a contract offer and its > back-and-forth markup. Another case would be turnaround documents that > are rendered as forms, but the form itself is immutable [signed] and the > field entries are handled in a manner akin to changes. There's a special > case of this last case in how Microsoft Office projects visible signature > images onto signature-block fields of digitally-signed OOXML documents.) > > The use case of concern for me, along with the above consideration, is for > documents whose models are such that a perceived change effectively severs > (cross-cuts) elements in the underlying XML, splicing parts from different > elements into single ones across the scar where the severed pieces come > together. (There is a comparable insertion case.) I don't expect that to > be an use case for this project; I'm watching for anything that might be > adaptable for that, though. XPath might still serve in such elaborate > cases. > > - Dennis > > -----Original Message----- > From: Claudius Teodorescu [mailto:claudius.teodorescu@gmail.com] > Sent: Monday, March 11, 2013 09:20 > To: Randall Leeds > Cc: liam@w3.org; dennis.hamilton@acm.org; public-change@w3.org > Subject: Re: Fwd: A sort of synthesis > > A good representation of changes can be in or out of the respective > document. > > > For out case, doesn't seem to pose so many difficulties. > > > As to the inside XML document case ... what if we can design something we > can call "change tracking instructions", in order to graciously store > metadata about changes inside the document? > > > Claudius > > > P. S. For Dennis E. Hamilton: I would specify the tracked changes by using > XPath. > > > > [ ... ] > > > > -- -- Casey Jordan easyDITA a product of Jorsek LLC "CaseyDJordan" on LinkedIn, Twitter & Facebook (585) 348 7399 easydita.com This message is intended only for the use of the Addressee(s) and may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, please be advised that any disclosure copying, distribution, or use of the information contained herein is prohibited. If you have received this communication in error, please destroy all copies of the message, whether in electronic or hard copy format, as well as attachments, and immediately contact the sender by replying to this e-mail or by phone. Thank you.
Received on Monday, 11 March 2013 19:54:26 UTC