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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XML/XSL Revision Control/ Source Code Versioning: Ideas,Methods, Tools for Specific scenario as a Content Writer?

On 12/10/2012 10:36 AM, James Fuller wrote:
> On Sat, Dec 8, 2012 at 5:29 PM, Alex S <as.signup@hotmail.com> wrote:
>> Thank you for your time & responses. I remember reading somewhere that a
>> pure text/ linear comparison based tool/ system may not be ideal to compare
>> & merge XML tree structure based documents.
>> Are there any that are more XML aware?
>> Also, I was wondering if I wanted to do compare/ merges visually using
>> Altova Diffdog or similar tools then which source control systems would
>> allow me to access/ load the individual versions into such a tool to merge
>> into the newer or create a newer version?
>> Are some of these systems XML tree structure aware/ friendly?
> I think you wont find any source control systems themselves know
> anything about structure in terms of xml ... e.g. it 'sees' text
> (thats one of the great things about XML e.g. you can 'smuggle' it
> wherever there is a string var or text field ;)  ).
> at larger scales you may want to consider some of the commercial offerings e.g.
> * http://www.deltaxml.com/
> * (useful links from here as well
> http://www.deltaxml.com/resources/articles-and-papers.html)
> though minimally something like oXygenXML (or XMLMind XML editor) is a
> good place to start.

I'm developing a versioned DBMS [1], but it also incorporates a 
diff-algorithm to import the differences between two XML-documents (and 
another one to compare resources once imported based on unique IDs), 
such that the new revision/version of the document contains the union of 
both files (however it may not generate minimal edit scripts, which for 
instance results in more updates than needed to transfer one tree (the 
imported XML-document) into the other tree (the other temporarily 
imported XML-document -- as a side note that is not possible in all 
cases in reasonable time, for instance it's time complexity roughly is 
O(n^2) or more).

Keep in mind that the algorithm used sometimes executes a lot of moves 
(which are very cheap in our internal datastructure, however with 
DeweyIDs enabled these as of now aren't updated (it's on my todo list, 
as well as the current work on index-structures -- the path summary is 
updated in every case, even during renames and moves if it's enabled)).

I've also developed a GUI with several visualizations especially for 
comparing the documents/resources (revisions/versions thereof). However 
it has several bugs in the view management itself (for instance I wasn't 
able to figure out how to display several processing(.org) views which 
are embedded in a Swing-GUI side by side (that is how to instantiate two 
PApplet instances properly). Displaying only one view however shouldn't 
pose any problem. Fixing these issues is also on my todo list ;-)

However, I'd appretiate any help, the system also supports temporal 
XPath/XQuery extensions, for instance time-aware axis to navigate in 
time (very similar to the axis from the ETH project "Time Machine"). 
It's open source and written in Java7. It's available via maven :-)

I'd say that's a very valid use case (even if branching/merging on the 
resources itself isn't implemented). But that's another (very) useful 
mechanism :-)

BTW: I expect major performance improvements, once the index structures 
are finished and rewrite-rules are written (but also regarding some 
other bottlenecks). But I could use a helping hand, or two ;-)

kind regards

[1] https://github.com/JohannesLichtenberger/sirix

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

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

Copyright 1993-2007 XML.org. This site is hosted by OASIS