У меня есть проблема, когда у меня есть xml-контент с разными ключами, которые необходимо сгруппировать и отобразить, когда отображается отображаемая страница, поэтому я не могу отображать все записей на одной странице, я использую для-каждой-группы для группировки элементов, и цикл по текущей группе() и отобразить его элемент, XML-это что-то вроде этого:с использованием счетчика для всех членов группы для каждой группы
<entry>
<key>key1</key>
<value>value1</value>
</entry>
<entry>
<key>key2</key>
<value>value2</value>
</entry>
<entry>
<key>key1</key>
<value>value3</value>
</entry>
<entry>
<key>key1</key>
<value>value4</value>
</entry>
<entry>
<key>key3</key>
<value>value5</value>
</entry>
<entry>
<key>key2</key>
<value>value6</value>
</entry>
<entry>
<key>key4</key>
<value>value7</value>
</entry>
<entry>
<key>key3</key>
<value>value8</value>
</entry>
<entry>
<key>key5</key>
<value>value9</value>
</entry>
<entry>
<key>key1</key>
<value>value10</value>
</entry>
<entry>
<key>key2</key>
<value>value11</value>
</entry>
, который должен дисплей как:
Page1:
key1
value1
value3
value4
value10
key2
value2
value6
value11
key3
value5
value8
key4
value7
Page2:
key5
value9
XSL Я использую без пагинацией является
<xsl:for-each-group select="entry" group-by="key">
<xsl:value-of select="current-grouping-key()"/>
<xsl:for-each select="current-grouping()">
<xsl:apply-templates select="." />
</xsl:for-each>
</xsl:for-each-group>
мне нужно отобразить только 10 пунктов на каждой странице, как я могу получить количество предшествующих записей тока -grouping()
редактировать для получения дополнительной информации:
у меня есть переменный размер $ и $ вне офиса, что я в основном пытаюсь сделать некоторые вещи, как:
<xsl:if test="$count > $offset and $count <= $offset + $size">
<xsl:apply-templates select="." />
</xsl:if>
где $ подсчет будет иметь количество всех элементов уже оказываемых, в идеале, если некоторые, как я могу создать счетчик, аналогичную позицию() в наличии для каждого, но он не перезагружается при каждом цикле текущей группы().
, если я не хочу элементов группы от ключа, я бы сделал что-то вроде этого:
<xsl:for-each select="entry">
<xsl:if test="position() > $offset and position() <= $offset + $size">
<xsl:apply-templates select="." />
</xsl:if>
</xsl:for-each>
но теперь, поскольку я использую для-каждой группы, а также записей каждой группы как я могу отслеживать записи, которые уже отображены из предыдущих групп.
Пожалуйста, покажите нам пример более 10 записей и ожидаемый итоговый код преобразования этого примера. –
Я обновил пример, чтобы иметь более 10 записей. – Shadi
На самом деле, покажите документ XML-документа _complete_ и таблицу стилей _complete_: http://stackoverflow.com/help/mcve. –