[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]