Я пытаюсь настроить оператор XSL:IF, который показывает только записи, узлы которых находятся между двумя значениями. Достаточно просто, не так ли? Это просто если больше и меньше. Проблема в том, что вместо того, чтобы тестировать его на одном узле, мне нужно протестировать его на 52 узлах.
Допустим, у меня есть некоторый XML, который выглядит так:
<container>
<entry>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</entry>
</container>
Теперь предположим, что мне дан диапазон от 9 до 15. Поскольку некоторые узлы попадают в этот диапазон, я хочу отобразить эту запись. Но если бы мне дали диапазон от 11 до 15, ни один из узлов не подходил, поэтому я бы не хотел, чтобы он отображался.
Проблема в том... Я совершенно не представляю, как ты это сделаешь. Я знаю, что вы можете, если одно значение, но я не могу придумать простой способ проверить каждый узел.
Кстати, все это делается внутри последней стабильной версии Symphony CMS.
[править] Проблема с первыми двумя результатами заключается в том, что они отображают узлы ITEM, что я ищу, так это возвращать только узлы ENTRY, у которых есть хотя бы один соответствующий узел ITEM. Я не уверен, как какое-либо из решений поможет в этом.