Однако я бы хотел использовать несколько фильтров
для каждого
Ваш реальный вопрос - это XPath one : Возможно ли и как указать более одного условия внутри предиката?
Ответ
Да, используйте стандартные логические операторы XPath or
и and
и стандартную функцию XPath not()
.
В этом конкретном случае XPath в атрибуте select
может быть :
Book[title != 'Moby Dick' or author != 'Rowling']
Лично я всегда предпочел бы написать эквивалентное выражение:
Book[not(title = 'Moby Dick') or not(author = 'Rowling')]
потому что оператор !=
имеет неинтуитивное поведение, когда один из его операндов является набором узлов.
Но я предполагаю, что вы, вероятно, хотели, чтобы and
два сравнения, а не or
их .