[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Soft Page Break Propsosal
Dear TC, The following proposal for soft page breaks take the following circumstances into account: 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: 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>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]