Property conflicts

When a mapping with the same name as an existing mapping is imported the properties of both mappings are compared. A conflict occurs if:

  • both mappings define a non-default value for a property, and

  • the two values are different.

For example, the following two mappings conflict because they define different values for the after-space property:

<mapping path="title">
 <start class="block"/>
 <end bind-next="yes"/>
 <para after-space="12.0pt" before-space="24.0pt"/>
</mapping>

<mapping path="title">
 <start class="block"/>
 <para after-space="6.0pt"/>
</mapping>

The following mappings, however, do not conflict, because a value of zero is the default for after space:

<mapping path="title">
 <start class="block"/>
 <end bind-next="yes"/>
 <para after-space="0pt" before-space="24.0pt"/>
</mapping>

<mapping path="title">
 <start class="block"/>
 <para after-space="6.0pt"/>
</mapping>

The custom-pre and custom-post properties are not used when checking for conflicts. If both mappings contain a value for either of these properties the value in the imported mapping is appended to the end of the existing mapping property.

The $document mapping is not checked for conflicts, since only the custom-pre property is used if it is imported.