Я предполагаю, что ваш входной XML выглядит примерно так:
<root>
<foo ID="XXXP">
<make>Abcd</make>
<prices>
<listPrice>5000.0</listPrice>
</prices>
<type>USED</type>
</foo>
<foo ID="XXX">
<make>Xyz</make>
<prices>
<listPrice>2000.0</listPrice>
</prices>
<type>USED</type>
</foo>
</root>
Чтобы представить вашу модификацию, добавьте [not(ends-with(@ID, 'P'))]
к
select
атрибут, означающий:
- Дополнительный предикат (
[...]
).
- Вы ссылаетесь на атрибут
ID
текущего элемента (foo
).
- Вы требуете, чтобы это
ID
не заканчивалось P
.
Поскольку вы не указали версию XSLT, я использовал версию 2.0.
Рабочий пример см. http://xsltransform.net/3MP2uBF/1
Дополнительное замечание: Думаю, лучший способ проверить цену ! = 0 :
[number(prices/listPrice) != 0]
(я включил его в вышеупомянутый пример).
Если вы ограничены версией 1.0, используйте соответствующее эквивалентное выражение
(версия 1.0 не имеет функции ends-with
).