Hi Paul,

I have been a bit slow on the uptake, but I am beginning to 
understand what are going on about.

> Say that I have a long paragraph which I explicitly format in three
> different ways.  One version is hanging indent, one is flush left, and
> one is flush right.  If those are stored as separate files, then the
> diffs are very very small -- just the P PROPS change.  

OK, I think this could be done quite easily if we slightly improve the 
revision attribute like this

    <c/p revision="R2,R2"> the text</>

where R1, etc., would be one of the following variants

        +n  -- this fragment was added in revision n
      -n  -- this fragment was marked for deletion in revision n
      !n{new_props} -- the formatting of this fragment was changed in
              revision n, and new_props should be applied over the
              normal properties held in the props attribute (new_props
              would be just a standard XML property string as used by
              props).

To illustrate with an example, you might have

    <c props="font-family:Times New Roman" revision="!1{font-
family: Bookman}">some text</>

meaning, in revision 1 the formatting has been changed from 'Times 
New Roman' to 'Bookman'.

I will redesign the PP_Revision class later today to parse this type 
of an attribute.

Tomas

Reply via email to