[Zope-CMF] Re: Generic Setup Delta Profiles

yuppie y.2007- at wcm-solutions.de
Thu Feb 15 15:01:33 EST 2007

Hi Matt!

Matt wrote:
> On 2/14/07, yuppie <y.2007--E2EsyBC0hj3+aS/vkh9bjw at public.gmane.org> wrote:
>> What kind of XML diff do you have in mind? Which libraries would this
>> depend on?
> I guess I had something in mind along the lines of being able to
> represent an algebra (maybe a form of set algebra) for profiles.
> So at a broad level maybe something like:
> intersection(a,b)
> union(a,b)
> intersection(a.skins.layers,b.skins.layers)
> union(a,b) - intersection(b,c)
> ... these haven't been well thought out.

So "union(base, extension)" would apply the extension profile to the 
base profile? And "snapshot - base" would create a diff between a 
snapshot and a base profile, so that union(base, diff) would be the same 
as the snapshot?

> Considering order is important in various places, then these amount to
> fragments of comparison rather than single element by element
> comparison, which is sort of amounting to your idea of lots of small
> files and layers.
> So this is different than a line by line diff of canonical forms.

I still don't understand what your diffs look like. Are they XSLT files?

> If I were actually try something like this, my toolist would be lxml which
> offers up libxml's XSLT and RelaxNG support. I would hope that anyone
> creating their own export import handler with an associated xml form
> would also supply a relaxng schema of this.

GenericSetup and CMF currently just depend on Zope, nothing else. There 
was some discussion about shipping Zope 3 (and therefor Zope 2) with 
lxml. As long as this is not the case, it might be hard to convince 
people that GenericSetup should depend on lxml. Nevertheless I think 
exploring the possibilities lxml provides is worth the effort.



More information about the Zope-CMF mailing list