XFA Specification
Chapter 7, Layout for Growable Objects
Flowing Layout for Containers
243
<template>
<subform name="W">
<pageSet …>
<pageArea …>
<contentArea name="A" ID="A_ID" … />
<contentArea name="B" ID="B_ID" … />
<contentArea name="C" ID="C_ID" … />
</pageArea>
</pageSet>
<subform name="D" layout="tb">
<breakBefore targetType="contentArea" target="#B_ID"/>
<breakAfter
targetType="contentArea"
target="#C_ID"
leader="#Leader_ID"
trailer="#Trailer_ID"/>
…
</subform>
</subform>
<proto …>
<subform name="Leader" ID="Leader_ID">
<draw …>
<text …> … </text>
</draw>
</subform>
<subform name="Trailer" ID="Trailer_ID">
<draw …>
<text …> … </text>
</draw>
</subform>
</proto>
</template>
When it is about to finish processing subform D, the layout processor carries out the following steps:
1. Finishes placing the content of the object into the current layout region. Because of the before break
this is content area B.
2. Places the leader into the current layout region, content area B.
3. Moves, if necessary, to a new layout region to satisy the target specification and target type. In this case
it moves to content area C.
4. Places the trailer into the new layout region, content area C.
5. Procedes with the next object.
Note that the trailer is placed even if there is no subsequent object to lay down. In the example this is the
case, because D is the last displayable object inside the root subform W.
Bookend Leaders and Trailers
If a subform has a bookend leader specified, the layout processor inserts the leader into the Layout DOM
as a child of the subform ahead of any other content. A bookend trailer is similar except it is placed after all