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