OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [office] Proposal: layer-set per page


Title: OASIS Open Office Specification
Hi, David,

I'm wondering if examination of this issue might be extended to encompass frames as well, in the context of the need for a new ODF "watermark" feature, a feature supported in both MS Word and WordPerfect. As the Clever Age developers have noted, ODF has no watermark feature to map to from MOOXML.

Frames now have what appears to be a bad bug that is kind of the reverse of what you describe for layers.

That bug is that repeating a frame on multiple pages now requires use of the  <draw:copy-of> attribute, repeating that attribute on each individual page the user wishes to have display the same frame contents.

In ODF 1.1 section 9.3:

>>>
OASIS Open Office Specification

Copy Frames

Multiple frames can be set to display the exact same underlying data: for instance for a company logo, that must appear somewhere on every page, without being part of a header or footer.

A frame can be set to display the contents of another frame, referenced by the draw:copy-of attribute. This does not effect style and position information. This is, the frame that has the draw:copy-of attribute has its own style and position information and does not use the one of the referenced frame.

<define name="draw-frame-attlist" combine="interleave">

<optional>

<attribute name="draw:copy-of">

<ref name="string"/>


<<<

The problem is that this imposes the burden on users who wish the same data to appear on multiple pages of manually managing frames on a per page basis or writing a script to handle the issue. The work-around is to place one or more frames within a header or footer, as mentioned in the specification. 

That would not be a serious bug if applications allowed 2 or more headers and footers each per page, as WordPerfect does. But for documents that require use of both headers and footers for other purposes, it can put the user into some really hairy formatting issues in terms of positioning data.

OASIS Open Office Specification That bug is the largest single barrier to ODF's adoption in the law office market. An example document can be found here. < http://sco.tuxrocks.com/Docs/AZ/AZ-0.pdf>.  On the OOo documentation-dev list, no one has yet come up with a solution that is satisfactory, although many have tried.

Note the following features of the example document that raise severe formatting issues in combination:

* Framed content outside both the left and right text area margins.
* Vertical rules extending past the text area in both vertical directions.
* The landscape alignment of the firm contact information in the left margin.
* Double-space line numbering that must be maintained regardless of line spacing in the text area.
* A footer containing text and auto-page numbering.

Common compounding variables include:

* The common positioning of the firm contact information at different locations/alignment, e.g., in the left or bottom margins.
* Court rules or local customs requiring the document title and other information to be echoed in the footer along with an automated page number that most commonly is surrounded by text. E.g., "Page [X] -- [Document title] [document type]".
* Differences in top and bottom text area margins that affect the number of line numbers that must be included on each page.

Try as we may, we have not been able to replicate the formatting in OOo, although we have come close. But we have no solution for extending the vertical rules beyond the top and bottom text area margins and we have no solution for the variable number of line numbers required short of scripting an extension.

In WordPerfect, I suspect the reason that WordPerfect originally implemented multiple headers and footers per page was to address such issues. The old WordPerfect "pleading" macro that produced such legal document formatting placed the relevant formatted page elements in a footer and calculated and inserted the correct number of line numbers, with options to use different vertical rules or none. The current Pleading.wcm script that ships with WordPerfect does the same, but uses the newer Watermark feature to achieve the same result.

Here I discuss the most common format for legal documents in the U.S. that is also widely used outside the U.S. And this is only one use case. There undoubtedly are a multitude of others for a watermark feature in ODF.

So I hope that discussion of the issue you raise might also address the need for a watermark feature for ODF.

Best regards,

Marbux

On 5/31/07, David Faure <faure@kde.org> wrote:
For applications like presentation or graphics applications we need to be
able to define layers per page and not only for the whole document as it is in ODF now.

Reasons:
- often you need layers which are special to a one page and are not needed on
other pages.
- show only the layers which are needed for the active page and not all layers
that are there in the document.
- if you delete a layer on a slide only shapes on that slide are deleted in
case of layers per document you delete shape on this layer in all pages.

All in all it seems quite logical to have layers per page; typically one is
working on one page at a time, and the layout and structure of that page
can be completely independent from the layout and structure of other pages.

The suggested RelaxNG schema change would be to add

          <optional>
                    <ref name="draw-layer-set"/>
          </optional>

in <element name="draw:page">.

The optional draw:layer-set element from office:master-styles would still have to
be read by applications of course, the per-page layers would simply add to the
document-wide layers.

--
David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org ).



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]