5.1.1 Aligned pairs of block-level constructsStandalone blocks cannot be adjacent to each other in the inline-progression direction.
Pairs of adjacent blocks are useful to associate the information in one of the blocks to the information in the other block. This includes
The name of the construct shouldn't prejudice how the construct is used.
Specialized properties are available for the behaviors characteristic of list processing.
The content of the blocks does not impact the start/end edges of the blocks.
5.1.2 List constructsA list is a block-level object shown in two different ways in Figure 5-3.
Figure 5-3. The blocks of information that comprise a list
Block alignment can involve more than two blocks, as shown in Figure 5-4.
Figure 5-4. Aligning more than two blocks
Consider using a table for more than two blocks.
Horizontal indentation of the list item components is the responsibility of the stylesheet writer.
Vertical alignment of list item label defaults to a common before edge.
You are not obliged to use body-start() or label-end() .
Risk of overlap is borne by the stylesheet writer.
Using body-start() or label-end() will prevent edges from overlapping, as shown in Figure 5-6. Figure 5-6. Basic edges on relative calculations
Indentation of the list item components can be relative.
5.1.3 Nested list constructsThe nesting of lists may require the use of hidden list item members.
The choice of one of these depends on:
The use of a ghost list item, shown in Figure 5-7, prevents violating the content model rules for the containing list. Figure 5-7. Two methods of nesting a list
You cannot use just a block or list-block in this situation.
5.1.4 The list-block objectPurpose
Content
Property sets
Other optional properties
Shorthands influencing the above properties
Properties of interest
A list-block construct from the earlier Figure 2-8 is shown in Example 5-1. Separation between the label and body is specified;
Example 5-1 The list blockLine 01 <block space-before.optimum="6pt" font-size="14pt"> 02 This page's material as an instructor-led handout:</block> 03 <list-block provisional-distance-between-starts=".43in" 04 provisional-label-separation=".1in" 05 space-before.optimum="6pt"> 06 <list-item relative-align="baseline"> 07 <list-item-label text-align="end" end-indent="label-end()"> 08 <block>-</block> 09 </list-item-label> 10 <list-item-body start-indent="body-start()"> 11 <block font-size="14pt">excerpts of formatting objects created 12 through the use of an XSLT stylesheet</block> 13 </list-item-body> 14 </list-item> 15 </list-block> 5.1.5 The list-item objectPurpose
Content
Property sets
Other optional properties
Shorthands influencing the above properties
Properties of interest
A list-item construct from the earlier Section 2.2.2 is shown in Example 5-2. 5.1.6 The list-item-label objectPurpose
Content
Example 5-2 The list itemLine 01 <block space-before.optimum="6pt" font-size="14pt"> 02 This page's material as an instructor-led handout:</block> 03 <list-block provisional-distance-between-starts=".43in" 04 provisional-label-separation=".1in" 05 space-before.optimum="6pt"> 06 <list-item relative-align="baseline"> 07 <list-item-label text-align="end" end-indent="label-end()"> 08 <block>-</block> 09 </list-item-label> 10 <list-item-body start-indent="body-start()"> 11 <block font-size="14pt">excerpts of formatting objects created 12 through the use of an XSLT stylesheet</block> 13 </list-item-body> 14 </list-item> 15 </list-block>
Property sets
Other optional properties
Shorthand influencing the above properties
Property of interest
A list-item-label construct from the earlier Section 2.2.2 is shown in Example 5-3. Of note:
Example 5-3 The list item's labelLine 01 <block space-before.optimum="6pt" font-size="14pt"> 02 This page's material as an instructor-led handout:</block> 03 <list-block provisional-distance-between-starts=".43in" 04 provisional-label-separation=".1in" 05 space-before.optimum="6pt"> 06 <list-item relative-align="baseline"> 07 <list-item-label text-align="end" end-indent="label-end()"> 08 <block>-</block> 09 </list-item-label> 10 <list-item-body start-indent="body-start()"> 11 12 <block font-size="14pt">excerpts of formatting objects created 13 through the use of an XSLT stylesheet</block> 14 </list-item-body> 15 </list-item> 16 </list-block> 5.1.7 The list-item-body objectPurpose
Content
Property sets
Other optional properties
Shorthand influencing the above properties
Property of interest
A list-item-body construct from the earlier Section 2.2.2 is shown in Example 5-4. Example 5-4 The list item's bodyLine 01 <block space-before.optimum="6pt" font-size="14pt"> 02 This page's material as an instructor-led handout:</block> 03 <list-block provisional-distance-between-starts=".43in" 04 provisional-label-separation=".1in" 05 space-before.optimum="6pt"> 06 <list-item relative-align="baseline"> 07 <list-item-label text-align="end" end-indent="label-end()"> 08 <block>-</block> 09 </list-item-label> 10 <list-item-body start-indent="body-start()"> 11 <block font-size="14pt">excerpts of formatting objects created 12 through the use of an XSLT stylesheet</block> 13 </list-item-body> 14 </list-item> 15 </list-block> 5.1.8 When is a list not a list?Some formatting requirements for lists cannot be satisfied with the list-block construct.
Figure 5-8 shows three alternative approaches to formatting three list items where the item labels have distinctly different lengths, none of which is known by the stylesheet writer. Figure 5-8. Three alternatives to using a list construct for a list
One approach is basing the indentation of all item bodies on the longest length of all item labels.
Another approach is basing the indentation of each item body on the length of corresponding item labels.
|