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

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-accessibility message

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


Subject: Modification to Lars' proposal on soft page breaks


I would like to modify Lars' proposal. See paragraph following proposal. From a schema perspective I understand optional but
we need to be more prescriptive on this to user agent manufacturers.


This proposal addresses the requirement of the Accessibility SC to
include a mechanism for applications to store page-break information in
ODF files; AKA soft page-break.



Overview:
- soft page breaks are optional
- applications that read a document should know in advance whether a
document contains soft page breaks or not; this simplifies
implementation: if an application has filled a page with content, it
should know whether it has to wait for or soft page break that follows,
or whether it should insert a soft page break itself.
- soft page breaks are supported in text documents only
- soft page breaks may occur between paragraphs, within paragraphs, but
also between and in table rows.

Proposal:


Although soft page breaks are optional, the ODF specification of soft breaks must include
text for ODF supporting user agents should provide a facility to turn on soft page breaks
for the purposes of consistent page breaks and for proper conversion to the
DAISY digital talking book format.


Extend the schema in section 2.3.1 Text Document as follows:

<define name="text-content">
<choice>
<ref name="text-h"/>
<ref name="text-p"/>
<ref name="text-list"/>
<ref name="text-numbered-paragraph"/>
<ref name="table-table"/>
<ref name="draw-a"/>
<ref name="text-section"/>
* <ref name="text-soft-page-break"/>
<ref name="text-table-of-content"/>
<ref name="text-illustration-index"/>
<ref name="text-table-index"/>
<ref name="text-object-index"/>
<ref name="text-user-index"/>
<ref name="text-alphabetical-index"/>
<ref name="text-bibliography"/>
<ref name="shape"/>
<ref name="change-marks"/>
</choice>
</define>


Add to section 2.3.1 Text Document:

Use Soft Page Breaks

The text:use-soft-page-breaks attribute specifies whether the document
contains page breaks.

A soft page break is a page break that a has been included by a page
oriented processor at a position where the document itself does not
include a page break (e.g. by using the fo:break-before and
fo:break-after formating properties described in section 15.5.2).

Soft page breaks are specified by the <text:soft-page-break> elements
described in sections 4.7 and 5.1.1:Soft Page breaks.

The use of the <text:soft-page-break> elements is always optional. An
application generating the format *may* include the
element if it has computed a paginated layout.
A consuming application *may* handle the element while computing the
layout, but it *shall not* depend on its existence.
Soft page breaks are only supported within text documents.



A generating application that stores soft page breaks *shall* indicate
this by setting the text:use-page-breaks attribute to true. A generating
application that does not store soft page breaks *shall* indicate that
by omitting this attribute, or by setting it to false.

For <text:soft-page-break> elements that appear within table rows, the
maximum number of <text:soft-page-break> elements that appear within the
single table cells determines the number of page breaks that appear
within the table row. The <text:soft-page-break> elements contained in
each cell determine the positions where these page breaks appear within
the cell content.

Similarly, <text:soft-page-break> elements that appear within text
boxes and other content displayed outside the text flow, do not start a
new page, but only indicate where the text-box's content breaks between
two pages.

<define name="office-text-attlist" combine="interleave">
<optional>
<attribute name="text:use-soft-page-breaks" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>


Add a new section "4.7 Soft Page Break" before section 4.7 Text Declarations

The <text:soft-page-break> element represents a soft page break.

See section 2.3.1:Soft Page Breaks for details regarding soft page breaks.

<define name="text-soft-page-break">
<element name="text:soft-page-break">
<empty/>
</element>
</define>


Add to section 5.1.1 White-space Characters

Soft Page Breaks

The <text:soft-page-break> element represents a soft page break within a
heading or paragraph.

See section 2.3.1:Soft Page Breaks for details regarding soft page breaks.

The definitions in section 4.7 regarding the use of the
<text:soft-page-break> element described in section 4.7 apply to the
<text:soft-page-break> described in this section, too.

<define name="paragraph-content" combine="choice">
<ref name="text:soft-page-break"/>
</define>


Extend schema in section "4.3.2 List Item" as follows.

<define name="text-list-item-content">
<optional>
<ref name="text-number"/>
</optional>
<zeroOrMore>
<choice>
<ref name="text-p"/>
<ref name="text-h"/>
<ref name="text-list"/>
* <ref name="text-soft-page-break"/>
</choice>
</zeroOrMore>
</define>


Extent the schema in section 8.1.1 Table Element as follows:

<define name="table-rows">
<choice>
<ref name="table-table-rows"/>
<oneOrMore>
* <group>
* <optional>
* <ref name="text-soft-page-break"/>
* </optional>
<ref name="table-table-row"/>
* </group>
</oneOrMore>
</choice>
</define>


Add at the end of section 8.1.1 Table Element

Soft Page Breaks

The <text:soft-page-break> element represents a soft page break between
two table rows. It may appear in front of <table:table-row> elements.

See section 2.3.1:Soft Page Breaks for details regarding soft page breaks.




Extent the schema in section 8.2.4 Table Header Rows as follows:

<define name="table-table-header-rows">
<element name="table:table-header-rows">
<oneOrMore>
* <optional>
* <ref name="text-soft-page-break"/>
* </optional>
<ref name="table-table-row"/>
</oneOrMore>
</element>
</define>

<define name="table-table-rows">
<element name="table:table-rows">
<oneOrMore>
* <optional>
* <ref name="text-soft-page-break"/>
* </optional>
<ref name="table-table-row"/>
</oneOrMore>
</element>
</define>







Rich Schwerdtfeger
Distinguished Engineer, SWG Accessibility Architect/Strategist
Chair, IBM Accessibility Architecture Review Board
blog: http://www-106.ibm.com/developerworks/blogs/dw_blog.jspa?blog=441



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