XFA Specification
Chapter 8, Dynamic Forms
Layout for Dynamic Forms
288
➤
Error Condition: Invalid break target
A conforming template must not supply a target specification for the
overflow
element that does not
resolve to exactly one
pageArea
or
contentArea
. However it is anticipated that layout processors will
encounter some templates that are not conforming in this way. It is recommended that in such a case the
layout processor emit a warning and go to the next available
pageArea
or
contentArea
.
Combining Breaks and Occurrence Limits
A template may combine a subform asserting break conditions with
contentArea
and/or
pageArea
objects asserting occurrence limits. The layout processor simultaneously satisfies both the break
condition(s) and the occurrence limit(s).
Combining Break and Maximum Occurrence
A maximum occurrence limit may force the layout processor to add nodes to the Layout DOM at a higher
level than it would have otherwise done, in order to satisfy a break condition.
For example, a template contains the following declarations:
<subform name="O">
<pageSet name="A">
<occur max="-1"/>
<pageArea name="B" ID="B_ID">
<occur max="1"/>
<contentArea name="C" … />
</pageArea>
</pageSet>
<subform name="P">
<field name="Q"> … </field>
</subform>
<subform name="R">
<breakBefore targetType="pageArea" target="#B_ID">
<field name="S"> … </field>
</subform>
</subform>
The Form DOM contains the following content:
[subform (O)]
[subform (P)]
[field (Q) = "text in field Q"]
[subform (R)]
[field (S) = "text in field S"]
The layout processor lays out subform P first. This does not assert a break condition, so it is processed with
default processing rules. After laying out subform P the Layout DOM contains:
[root]
[pageSet (A)]
[pageArea (B)]
[contentArea (C)]
[subform (O)]
[subform (P)]
[field (Q) = "text in field Q"]