[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [office] List representation
Hello,
I've just posted last week's meeting minutes. We discussed lists
representation, and the suggestion was to adopt the HTML-style lists
from the base specification. As we didn't reach quorum, the decision was
to defer the vote to next week, and bring the issue to the mailing list
so that everyone has a chance to make up their mind on the issue.
It's one of my action items to provide list examples; please find them
below.
One correction from the meeting: I claimed that in order to recognize
word-processor-style discontignous lists, the OOo format would merge
lists if they have the same list style. This is wrong: There is an
explicit continue-numbering attribute. If this is set 'true', the list
will continue numbering from the previous list with the same list style.
So the 'merging' of discontingous lists is controlled by a specific
attribute, which I think is much nicer anyways. So the suggested list
model is an HTML-style list model, plus list styles, plus an option to
number several lists continously.
As promised, here's a few examples of lists in the base specification.
I've cut down the style information a little as well as administrative
issues (namespace, top-level elements, etc.), but I think all the
necessary details are there:
1) A plain old numbered list
==============================
In body:
<text:ordered-list text:style-name="L1">
<text:list-item>
<text:p>List 1</text:p>
</text:list-item>
<text:list-item>
<text:p>List 1</text:p>
</text:list-item>
<text:list-item>
<text:p>List 1</text:p>
</text:list-item>
</text:ordered-list>
In automatic-styles:
<text:list-style style:name="L1">
<text:list-level-style-number text:level="1"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<!-- styles for other list levels follow; cut since they are not used
here -->
</text:list-style>
This yields:
1. List 1
2. List 1
3. List 1
2) A hierachical, numbered list
=================================
In body:
<text:ordered-list text:style-name="L2">
<text:list-item>
<text:p>List 2</text:p>
<text:ordered-list>
<text:list-item>
<text:p>List 2</text:p>
<text:ordered-list>
<text:list-item>
<text:p>List 2</text:p>
</text:list-item>
<text:list-item>
<text:p>List 2</text:p>
</text:list-item>
</text:ordered-list>
</text:list-item>
</text:ordered-list>
</text:list-item>
<text:list-item>
<text:p>List 2</text:p>
<text:ordered-list>
<text:list-item>
<text:p>List 2</text:p>
<text:ordered-list>
<text:list-item>
<text:p>List 2</text:p>
</text:list-item>
<text:list-item>
<text:p>List 2</text:p>
</text:list-item>
</text:ordered-list>
</text:list-item>
</text:ordered-list>
</text:list-item>
</text:ordered-list>
In automatic styles:
<text:list-style style:name="L2">
<text:list-level-style-number text:level="1"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<text:list-level-style-number text:level="2"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:space-before="0.501cm"
text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<text:list-level-style-number text:level="3"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:space-before="1cm"
text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<!-- styles for other list levels follow; cut since they are not used
here -->
</text:list-style>
This yields:
1. List 2
1. List 2
1. List 2
2. List 2
2. List 2
1. List 2
1. List 2
2. List 2
3) A hierachical, numbered list with hierarchical numbering
=============================================================
In body:
This would look exactly like the previous example, except the list style now
being "L3".
In automatic-styles:
Note: The only difference to the previous list style is the
text:display-levels
attribute on the list-level-style-number elements.
<text:list-style style:name="L3">
<text:list-level-style-number text:level="1"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<text:list-level-style-number text:level="2"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1"
text:display-levels="2">
<style:properties text:space-before="0.501cm"
text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<text:list-level-style-number text:level="3"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1"
text:display-levels="3">
<style:properties text:space-before="1cm"
text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<!-- styles for other list levels follow; cut since they are not used
here -->
</text:list-style>
This yields:
1. List 2
1.1. List 2
1.1.1. List 2
1.1.2. List 2
2. List 2
2.1. List 2
2.1.1. List 2
2.1.2. List 2
4) Interleaved Lists (Word-Processor Style)
=============================================
Since current word-processors assign lists through paragraph styles,
they allow
lists to be discontinues. E.g., a single list might contain the first
three and
the last three paragraphs of a document. Even interleaved lists are
possible. According to the base specification these are represented as
individual lists, which have a 'text:continue-numbering' flag (default:
false)
set to indicate that they should continue the numbering from any
previous lists
with the same list style.
So from a word-processor perspective, there are two non-continous lists.
From
an XML perspective, there are six lists, but some of those lists
continue the
numbering of some previous lists.
In body:
<text:ordered-list text:style-name="L4">
<text:list-item>
<text:p>List 4</text:p>
</text:list-item>
</text:ordered-list>
<text:ordered-list text:style-name="L5">
<text:list-item>
<text:p>List 5</text:p>
</text:list-item>
</text:ordered-list>
<text:ordered-list text:style-name="L4" text:continue-numbering="true">
<text:list-item>
<text:p>List 4</text:p>
</text:list-item>
</text:ordered-list>
<text:ordered-list text:style-name="L5" text:continue-numbering="true">
<text:list-item>
<text:p>List 5</text:p>
</text:list-item>
</text:ordered-list>
<text:ordered-list text:style-name="L4" text:continue-numbering="true">
<text:list-item>
<text:p>List 4</text:p>
</text:list-item>
</text:ordered-list>
<text:ordered-list text:style-name="L5" text:continue-numbering="true">
<text:list-item>
<text:p>List 5</text:p>
</text:list-item>
</text:ordered-list>
In automatic styles:
<text:list-style style:name="L4">
<text:list-level-style-number text:level="1"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<!-- styles for other list levels follow; cut since they are not used
here -->
</text:list-style>
<text:list-style style:name="L5">
<text:list-level-style-number text:level="1"
text:style-name="Numbering Symbols"
style:num-suffix="."
style:num-format="1">
<style:properties text:min-label-width="0.499cm"/>
</text:list-level-style-number>
<!-- styles for other list levels follow; cut since they are not used
here -->
</text:list-style>
This yields:
1. List 4
1. List 5
2. List 4
2. List 5
3. List 4
3. List 5
Note that the various 'List x' entries actually belong to the same lists
from a
word-processor perspective. So splitting the first paragraph into two, would
yield:
1. Li
2. st 4
1. List 5
3. List 4
2. List 5
4. List 4
3. List 5
The 'List 4' list entries have been incremented, and the 'List 5'
entries have
been left alone.
Sincerely,
Daniel
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]