У меня есть следующий XSLT
код:
<xsl:if test="position() mod 7=0 or position()=last()">
//display logic
</xsl:if>
, который находится внутри цикла foreach
.
Проблема в том, что если общее количество равно 8, и позицияХит 8, тогда мы будем вычислять display logic
для обоих position 7 and position 8 sequentially
Я считаю, что исправление это что-то вроде
<xsl:if test="(count(something)=1) or (position() mod 7=0) or (position()=last() and position() mod 7>=2)">
//display logic
</xsl:if>
Эта логика будет гарантировать, что по крайней мере 2 записипроизойдет после модуля, если мы находимся на последней записи и должны гарантировать до 6 записей в длину, прежде чем снова установить модуль.Кроме того, если существует только 1 запись, нам также нужно запустить логику отображения.
Но я не гуру XSLT.Я не смогу проверить эту логику до позднего вечера, поэтому я подумал, что ID подходит ТАК, чтобы посмотреть, смогу ли я получить некоторые ответы о том, правильный ли это подход.
Спасибо.