Bringing multi-page floating tables to ODF

Miklos Vajna vmiklos at collabora.com
Wed Jul 12 13:46:03 UTC 2023


Hi,

I attach a simple proposal to have a new optional boolean attribute, so
that it's possible to represent multi-page floating tables in ODF.

Could you please file an OASIS issue for me? I can't do that myself.

If there are any concerns, then I guess this list is the best place to
discuss that.

Thanks,

Miklos
-------------- next part --------------
= Summary =

Proposal owner: Miklos Vajna

Proposal short name: Frames may break between pages in for text documents

= Rationale =

Use cases:

A table inside a text document may be inside a frame, so that content can wrap
around it. A table can be also directly in the text document ("inline"), so it
can span over multiple pages if there is enough content in it. The proposal is
to allow the two use-cases at the same time: a frame containing a table and
also spanning over multiple pages.

Alternatives considered:

- Don't split tables in frames over multiple pages. This has the downside that
  it looks like some content is not in the document, while it's just not visible.

- Never put tables inside frames. This has the downside that content can't
  wrap around the table, even if there would be space for it. This can lead to
  more pages than necessary.

= Requested changes to the ODF Standard =

Text changes/additions (compared to ODF 1.3):

19.n text:may-break-between-pages (new section)

The text:may-break-between-pages attribute specifies if a frame may break
between pages in a text document or not.

The default value for this attribute is false.

The text:may-break-between-pages attribute is usable with the following
element: <draw:frame>.

Schema changes/additions:

  <rng:define name="draw-frame-attlist" combine="interleave">
    <rng:optional>
      <rng:attribute name="loext:may-break-between-pages">
        <rng:ref name="boolean"/>
      </rng:attribute>
    </rng:optional>
  </rng:define>

In other words, allow text:may-break-between-pages as a new attribute for <draw:frame>.

= Impacts =

Conformance:

This proposal will not add any mandatory features or behaviors.

Backwards compatibility:

This change will not impact existing ODF processors, the usage of the new
element is optional.

Accessibility impact:

This change will not impact accessibility.

Interoperability:

OOXML's wordprocessingML has a <w:tblpPr> markup to describe a similar feature
(multi-page floating table), this proposal allows roundtripping that feature
in ODF. LibreOffice 7.6 implements this layout feature in its ODF extension
namespace.


More information about the LibreOffice mailing list