On Tue, 2011-03-29 at 11:59 +0100, Tristan Mitchell wrote: > That's along the right lines. The remove-leaving-content and > insert-around-content would have the same change transaction id as > they happen at exactly the same time. The subsequent attribute change > (change of para style) would be in a new change transaction as it is a > separate change. Excellent, so we are on the same page here for how things should look :)) > > > I expect it's just a typo but the closing tag in the example after > "What are the ground rules?" would be a text:p yep. A little over zealous cut and paste from the original text:p -> text:h from the generic proposal document. > > > The final result would be something like this (my changes highlighted > in bold): An interesting observation, applications might track when a change takes effect. For example, records like ct1234 text:style-name Normal_1 ct1235 text:style-name foo record that in given revisions then attributes are set to a given value. and as the ODF+CT proposal says, the ac:change records the revision where something is changed and the value *before* that change was effective. Thus the above immediate changes generate: ct1235,modify,text:style-name,Normal_1 and the "foo" value is stored inline in the text:style-name attribute. And the following four changes in immediate, ie, user sets style to foo in ct12 while using the application: ct12 text:style-name foo ct13 text:style-name bar ct14 text:style-name baz ct15 text:style-name bob gives on ODF+CT: <text:p text:style-name="bob" ac:change001="ct12,insert,text:style-name" ac:change002="ct13,modify,text:style-name,foo" ac:change003="ct14,modify,text:style-name,bar" ac:change004="ct15,modify,text:style-name,baz" ...</text:p> At ct12 you know style-name is inserted, and the value foo would be used inline in text:style-name="foo". Just a little aside for those who are wishing to implement this in other tools. > > <delta:remove-leaving-content-start > delta:removal-change-idref='ct1234' > delta:end-element-idref='ee888'> > > <text:h text:style-name="Heading_20_1" text:outline-level="1" /> > > </delta:remove-leaving-content-start> > <text:p > text:style-name="foo" > ac:change001="ct1235,modify,text:style-name,Normal_1" > delta:insertion-type='insert-around-content' > delta:insertion-change-idref='ct1234'> > What are the ground rules? > </text:p> > <delta:remove-leaving-content-end delta:end-element-id='ee888'/>