I was recently tasked with adding <respStmt> to <imprint> (ticket #3408897). In the process of doing that, I encountered some difficulties with the model system which forced me to add <respStmt> manually to the content model of <imprint>, rather than using a class. I think this reveals some problems that need to be addressed.
model.imprintPart "groups the bibliographic elements which occur inside imprints."
model.biblPart "groups elements which represent components of a bibliographic description."
model.imprintPart contains: distributor publisher biblScope pubPlace
model.biblPart contains: model.respLike [sponsor funder principal author editor respStmt meeting] model.imprintPart [distributor publisher biblScope pubPlace] edition extent series bibl relatedItem msIdentifier
In other words, model.biblPart includes model.imprintPart as well as model.respLike; that was the root of my difficulty, because if I added <respStmt> to model.imprintPart, it would end up being included twice in model.biblPart, once as part of model.respLike and once as part of model.imprintPart. I think there are two specific issues here:
1. Other elements in model.respLike deserve to be in model.imprintPart. Sponsors and funders can perfectly well be associated with an imprint. However, these would also have to be added as individual elements to avoid this conflict.
2. Some elements currently in model.imprintPart (distributor and publisher) actually deserve to be in model.respLike, because they are "responsibilities" in the same way that sponsor or funder are.
I think the cleanest solution to this problem would look like this:
1. Add distributor and publisher to model.respLike.
2. Remove model.imprintPart from model.biblPart.
3. Replace the remaining two elements of model.imprintPart (biblScope and pubPlace) in model.biblPart.
4. Remove respStmt from the content model of imprint, and add it instead to model.imprintPart.
This would have the desired effects of making model.imprintPart and model.biblPart logically complete (they contain everything that they look like they ought to contain), and make them both useful as models.