Поскольку вам нужно как минимум 3 из 4, вам нужно посчитать роли, которые соответствуют вашим критериям, и сравнить это число с 3, чтобы решить, следует ли вам показывать фильм или нет:
//Subsidiaries/Subsidiary[@id = 'MarvelStudios']/Movie[count(Cast/Role[@alias = 'Iron Man' or @alias = 'Captain America' or @alias = 'Spider-Man' or @alias = 'Hulk']) >= 3]
Вы можете попробовать это здесь .
Обратите внимание, что ваша текущая попытка могла соответствовать метке броска фильмов с четырьмя целевыми псевдонимами, но в ее состоянии было несколько опечаток: был $alias
, и каждый @alias
, кроме первого, ищется по тегу Cast
, а не по соответствующему тегу Role
.