Looking at different FO implementations it seems to be unclear whether space traits are applied to every area generated by, for example, fo:block. Let's look at the details...
Specifies the value of the space-specifier for the space before the areas generated by this formatting object.
Here the confusion starts. If it had said ...before each area generated... it would have been clear. Worded like this it could be argued that this means that the space-specifier is only applied to the space before all areas.
Specifies the minimum, optimum, and maximum values for the space before any areas generated by this formatting object and the conditionality and precedence of this space.
Specifies the value of the space-specifier for the space before the areas generated by this formatting object.
So space-start actually adds something to the topic by using any areas. Still not unambiguous. Same argument as above.
This section defines the various rectangles of an area. This implies that every area may have spaces around it.
Unless otherwise specified, the traits of a formatting object are present on each of its generated areas, and with the same value.
As far as we could see there are no restrictions around spaces which would indicate that the spaces don't apply to every area generated by a formatting object.
http://lists.w3.org/Archives/Public/xsl-editors/2006JanMar/0002.html
So, the space-before must only be generated for the first area, and space-after only for the last area.
Test file: space-interpretation.fo
Ibex PDF Creator 3.7.6/2243 \[Java\] Trial: space-before only on first area. Generates 2 pages. |