Ответ прост : заменить 4
на 2
или, что еще лучше, определить глобальный параметр pNumCols
со значением 2
.
У вас будут следующие изменения:
Добавить эту строку на глобальном уровне: <xsl:param name="pNumCols" select="2"/>
Заменить :
<xsl:for-each select="Image[position() mod 4 = 1]">
с
<xsl:for-each select="Image[position() mod $pNumCols = 1]">
0,3. Заменить
<xsl:for-each select=". | following-sibling::Image
[position() < 4
and (position() mod 4 = 0 or position() mod 4 = 1
or position() mod 4 = 2)]">
с:
<xsl:for-each select=". | following-sibling::Image
[not(position() >= $pNumCols)]">
Примечание :
<xsl:for-each select=". | following-sibling::Image
[position() < 4
and (position() mod 4 = 0 or position() mod 4 = 1
or position() mod 4 = 2)]">
эквивалентно короткому:
<xsl:for-each select=". | following-sibling::Image[position() < 4 ]">