[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [office] Proposal for copy-frames
Hi David, David Faure wrote: > Hello, > > here's a proposal for an extension to the file format. > > I would like a way to model copy-frames. This is for having multiple frames > that represent the exact same underlying data, i.e. perfect copies of one > another, and always so. If the user changes the text or picture in one of the > frames, it affects all the other frames that are "copies" of that one - much > like headers and footers, for instance. > > This can be used for text boxes but also for picture frames: for instance for > a company logo, that must appear somewhere on every page, without being > inlined into a page header (which would be currently the only way of doing > it). But if the logo has to be somewhere on the left side of the page, a > header won't help. If you imagine a company logo _and_ the company name in a > text frame, this would be an example of when this feature is also needed for > text boxes. > > My proposal for the file format change is: > in order to know which frame is a copy of which other one we would use > something similar to the the frame chaining model (draw:chain-next-name, see > 9.3.1), where a frame specifies the name of another one it follows. > In this case, a frame would specify the name of the frame it's a copy of, > with e.g. <draw:frame draw:name="logo-2" draw:copy-of="logo-1" ...> > > So, if I get the syntax correctly, the addition would look like: > > 1) adding <ref name="draw-frame-attlist"/> to draw:frame (line 6153) > > 2) defining it as > <define name="draw-frame-attlist"> > <optional> > <attribute name="draw:copy-of"> > <ref name="string"/> > </attribute> > </optional> > </define> > > 3) changing the oneOrMore inside draw:frame's definition into a zeroOrMore, > since a copied frame doesn't have any contents definition by itself, > it copies the contents of the "copy-of" frame. I agree, except that we should add a combine="interleave" to the <define> element to allow later extension of the draw-frame-attlist. Michael
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]