On 2/16/07, yuppie <[EMAIL PROTECTED]> wrote:
> On 2/14/07, yuppie <y.2007--E2EsyBC0hj3+aS/[EMAIL PROTECTED]> 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:
> 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?
The output of the algebra would not be diffs per say, but either base
or extension profiles you would want to apply. The operations of the
algebra could certainly output an XSLT transform that represented the
operation. I would imagine you would want to persist the equation you
used for a given base profile so as to do further operations.
> 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.
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests