[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Apologies for attachment deletion...
Ok, attachments don't work. I'll copy/paste it straight into email, then. Hopefully the conversion to text is "kind". :) Issues surrounding OpenDocument Sections Current State This section describes the notion of a text section which is current as of OpenDocument v1.1 Stated Purpose of Sections A text section is a named region of paragraph-level text content. Sections start and end on paragraph boundaries and can contain any number of paragraphs. Sections have two uses in the OpenDocument format: They can be used to assign certain formatting properties to a region of text. They can also be used to group text that is automatically acquired from some external data source. In addition to Sections can contain regular text content or the text can be contained in another file and linked to the section. Sections can also be write-protected or hidden. --OpenDocument Format Specification v1.1, Section 4.4 Current Section Schema Definition From the OpenDocument Format Specification, v1.1, Section 4.4 <define name="text-section"> <element name="text:section"> <ref name="text-section-attr"/> <choice> <ref name="text-section-source"/> <ref name="text-section-source-dde"/> <empty/> </choice> <zeroOrMore> <ref name="text-content"/> </zeroOrMore> </element> </define> Concerns/Ambiguities ● The plain-language stated purpose(es) of the text section is paragraph centric: the implication being that sections may not be nested. Yet a section may contain zero or more “text-content” elements (other sections, paragraphs, tables, images, etc.), according to the relaxNG schema. ● The RelaxNG schema permits a heirarchy of named sections in a document. Each section may contain numbered heading levels. Yet all numbered heading levels are treated as if they were specified relative to the top level. ● Linked sections must be contained within complete, stand-alone office documents, where both the linked and linking documents contain a complete set of style definitions. ○ No conflict resolution behavior is specified if the style definitions differ from “master” to “component”. ○ No conflict resolution behavior is specified for the case where one “master” links sections from multiple source documents with conflicting style definitions. Desired New Features ● Define conflict resolution rules for styles shared between one or more linked documents and a master document. ● OpenDocument format does not currently facilitate separation of styles. One primary use case for the Global Text Document is to re-use text in multiple documents. The “Master” document should be able to override style definitions in the “component”. This would allow two master documents to share the same section, yet format it completely differently. This could be accomplished by including a style “lookup table” as part of the linked section definition. It could also be accomplished by specifying that styles in the master document override styles in the component document. ● Create a new sub-document format: the “Stand-Alone-Section”. This format: ○ Would have a root XML element containing only one or more <text:section> elements. ■ ...and therefore would not contain style definitions ■ ...and would therefore require that the “master” document contain definitions for any style it references... ○ Would be a legal target for linked sections. ○ When linked to a master document, could be included as-is into the “packaged Jar file”. ○ Would facilitate topic-oriented authoring (e.g., much finer-grained files.) ○ Would facilitate introducing document content into any standard version control system which handles text files (CVS, Subversion, etc.), enhancing opportunities for collaborative/distributed authoring. ● Define new behavior for text:outline-level such that it is relative to the base level of the containing section. This allows the outline level to automatically adjust to its linked position in any master document. This requires: ○ A new, optional attribute for sections, which defines the base level (i.e., text:base-outline-level) ○ This new attribute is itself relative to the text:base-outline-level of the immediate parent section in a section heirarchy. ○ If unspecified, the text:base-outline-level shall add one level to the base level value of the immediate parent section in a section heirarchy. If the section is not contained within another section and text:base-outline-level is not specified, it shall be taken to be 1. ○ text:outline-level shall behave as follows: ■ If the element is not contained within a section, no adjustment shall be made to the value. ■ If the element is contained within a section, the value shall be “adjusted” such that: ● all outline levels within the section are “promoted” by the same number of levels. ● outline level “1” is promoted to the value of the containing section's text:base-outline-level.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]