W3C home > Mailing lists > Public > public-change@w3.org > February 2013

Fwd: A sort of synthesis

From: Claudius Teodorescu <claudius.teodorescu@gmail.com>
Date: Thu, 28 Feb 2013 16:40:34 +0200
Message-ID: <CAPTZ0VwmMcM4iMc94vWAo4TMxeDYW60fO=gdKniYpQKzHawgJw@mail.gmail.com>
To: "public-change@w3.org" <public-change@w3.org>
Dear all,

One can think of a synthesis of all the knowledge you kindly presented here

Externalization of change tracking seems very attractive, as thus one can
keep the XML file as a standalone entity, without permanent PIs or foreign
elements or attributes in its structure.

Example of such external file:
<changes xmlns="http://www.w3.org/2013/change-tracking">
    <change timestamp="">
        <actions href="actions-1008.xquery" />
            <action timestamp="" status="accepted | rejected | pending" />

Example of actions file (actions-1008.xquery above):
xquery version "3.0";

let $document := doc('preceding-version.xml')
let $add-1 := update insert attribute status {'new'} into $document

return $document

Such change tracking approach could provide:
1. differencing between two XML files or between two versions of the same
XML file;
2. versioning of an XML file;
3. auditing of changes;
4. rendering of changes, by using a light syntax (PIs, for instance); such
syntax is to be used for rendering only, thus not over-loading the XML
document itself;
5. alignment of this standard with the "Time Machine for XML" ([1]);
6. better performance for applying the change actions, as these are not
written in a declarative markup, which has to be interpreted, but in a
native language and in external file, thus being possible to compile and
cache them;
7. possibility to use such change tracking in various processors, due to
the fact that actions can be described in various languages, such as
XQuery, XProc, or even Javascript.

[1] ftp://ftp.inf.ethz.ch/doc/tech-reports/7xx/734.pdf

This is just my 22 cents. :)

Received on Thursday, 28 February 2013 14:41:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:44:00 UTC