according to our call today, I have developed a first test document for page breaks, which I am not able to attach (seems nobody is) to our JIRA issue OFFICE-2103
. Therefore I wrote this email and attach the document.
I started the test document 'pageBreaks.odt' with LibreOffice, but edited the content.xml of the document later with a text editor (JEdit using Archive and XML exentension), therefore the test document is artificial but still valid ODF according to our ODF validator - odf-validator.rhcloud.com
In this first document I have continued - as LibreOffice started it - to use automatic styles to reference to master page and use fo:break-before="page" and fo:break-after="page" attributes in paragraph properties element.
I used two standard paragraphs as gap between every experiment, which have been
- Automatic style with fo:break-after="page"
- Automatic style with fo:break-before="page"
- Automatic style referencing to Landscape page format
- Automatic style referencing (back) to Portrait page format
- Automatic style with both fo:break-after="page" & fo:break-before="page"
- Automatic style with both fo:break-before="page" & fo:break-after="page"
- Two sequential paragraphs: first having automatic style fo:break-after="page" & second with fo:break-before="page"
Most interesting are the results of last three experiments.
For my testing I have been using only LibreOffice 22.214.171.124 64bit (LO) and Microsoft Office Professional Plus 2016 (MSO16) both under Windows 10 Home 64 bit.
Both office applications handled everything the same, when loaded.
When there are two attributes only the last attribute being given was used (#5 used break-before, #6 used break-after) and at #7 no additional empty page was added, allthough two page breaks came together.
As we stated in our call, both break attributes are valid to be used in one properties element by RelaxNG but are forbidden by text
(Patrick volunteered to write an issue).
In additional, interesting I have saved the manual edited document without further editing and it was normalized by MSO16 using only fo:break-before (exchanging existing break-after) and use redundant <text:soft-page-break>
in addition and when saved by LO the 'redundant' page break was removed (so did MSO16).
In this context, I would vote to adopt the spec to the existing behavior of both major office applications and remove the first break property from the element and allow only one in the RelaxNG instead of adding feature, which is yet not supported nor demanded by any users.
Unless of course the office applications demand this change of behavior.
Finally, after saving the document with the one office appliations, I have opened the result document with the other to get a quick interoperabiltiy feed-back.
But everything looked always the same as it should.
What is likely next to be tested is the same scenario using template styles instead of automatic styles and afterward this a mixture testing inheritance of break properties. Michael gave some hints, that the empty style:master-page-name attribute value might influence inheritance.
Somebody else volunteering on creating a test on this? :)
All the best,
PS: I will reference this email from our issue OFFICE-2103..