In order to allow flexible and extensible crossreference inheritance rules, a bcf section is defined which allows:
Here is an example bcf section followed by an explanation of the syntax. See also the [Control_file_schema]
<bcf:inheritance>
<bcf:defaults inherit_all="true" override_target="false">
<bcf:type_pair source="*" target="incollection" inherit_all="false"/>
</bcf:defaults>
<bcf:inherit>
<bcf:type_pair source="book" target="inbook"/>
<bcf:field source="author" target="bookauthor" override_target="true"/>
<bcf:field source="title" target="booktitle" override_target="true"/>
<bcf:field source="titleaddon" target="booktitleaddon" override_target="true"/>
<bcf:field source="subtitle" target="booksubtitle" override_target="true"/>
<bcf:field source="abstract" target=""/>
</bcf:inherit>
<bcf:inherit>
<bcf:type_pair source="*" target="incollection"/>
<bcf:type_pair source="proceedings" target="*"/>
<bcf:field source="title" target="booktitle" override_target="false"/>
</bcf:inherit>
</bcf:inheritance>
Here is an annotated commentary on this fragment:
<bcf:defaults inherit_all="true" override_target="false">
This says that the default for crossreference inheritance is to allow targets to inherit all of the source entry fields. We also cannot override the target field if it exists.
<bcf:type_pair source="*" target="incollection" inherit_all="false"/>
This is a source/target type pair default setting. It says that "incollection" entries with a CROSSREF field do not by default inherit fields from their source entry. They can still inherit specifically mentioned fields, it's just that they won't inherit anything unless it's specifically allowed by an inherit section. See below.
The rest of the XML tag for inheritance is a number of "inherit" tags which give the inheritance rules for specific combinations of source/target entry types. You can also say "*" for an entry type to specify more universal inheritance rules.
<bcf:inherit>
<bcf:type_pair source="book" target="inbook"/>
<bcf:field source="author" target="bookauthor" override_target="true"/>
<bcf:field source="title" target="booktitle" override_target="true"/>
<bcf:field source="titleaddon" target="booktitleaddon" override_target="true"/>
<bcf:field source="subtitle" target="booksubtitle" override_target="true"/>
<bcf:field source="abstract" skip="true"/>
</bcf:inherit>
For "inbook" entries which crossreference "book" entries:
The source entry "abstract" field is suppressed and not copied to the target entry
<bcf:inherit>
<bcf:type_pair source="" target="incollection"/>
<bcf:type_pair source="proceedings" target=""/>
<bcf:field source="title" target="booktitle" override_target="false"/>
</bcf:inherit>
For any entry type which crossreferences a "proceedings" entry and for "incollection" entries which crossreference any entry type: