How does mp handle elements that are “mandatory if applicable”?
“Mandatory if applicable” is treated by mp the same as optional. Remember that mp is a tool to check syntactical structure, not accuracy. A person still has to read the metadata to determine whether what it says about the data is right. In principle, you could create elaborate rules to check MIA dependencies, but I think that would complicate mp too much, making it impossible to support and maintain.