Ah, good point, yes. I hadn’t thought of the broader picture.
Demian Katz last week
@Peter Murray, I don’t think the loop is to blame so much as the whole model used by VuFind. The record driver has separate methods for getting a list of places of publication, and a list of publishers. It has no explicit mechanism for correlating these elements, so it just lists all of the places followed by all of the publishers. I think we would need to come up with a whole different abstraction to make this work in the desired way. See the getPlacesOfPublication() and getPublishers() methods for more details.
The MARC standard says that subfields ‘a' and ‘b' of a 264 are repeatable fields. When they are in the MARC field as:
$a1 : $b1 ; $a2 : $b2
…they are displayed as:
$a1 : $a2 : $b1 ; $b2
The loop that processes the subfields does not keep track of the order in which the subfields appeared in the MARC field.