0
我發現了一個腳本,可以讓我在網站上實現上一個/下一個導航,但我不確定它是否正確。這個XSLT是否正確?
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="3.2" encoding="ISO-8859-1"/>
<xsl:param name="Page" select="0" />
<xsl:param name="PageSize" select="1" />
<xsl:template name="results" match="/">
<xsl:variable name="mycount" select="count(root/customer)"/>
<xsl:variable name="selectedRowCount" select="floor((number($numberOfRecords)-1) div
$recordsPerPage)+1"/>
<xsl:for-each select="root/customer">
<!-- Pagination logic -->
<xsl:if test="position() >= ($Page * $PageSize) + 1">
<xsl:if test="position() <= $PageSize + ($PageSize * $Page)">
<!-- Do display here -->
</xsl:if>
</xsl:if>
</xsl:for-each>
<!-- Prev link for pagination -->
<xsl:choose>
<xsl:when test="number($Page)-1 >= 0"> 
<A>
<xsl:attribute name="href">_dirresult?page=<xsl:value-of select="number($Page)-
1"/>&pagesize=<xsl:value-of select="$PageSize"/></xsl:attribute>
<<Prev
</A>
</xsl:when>
<xsl:otherwise>
<!-- display something else -->
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$selectedRowCount > 1">
 <b class="blacktext"><xsl:value-of select="number($Page)+1"/> of <xsl:value-of select="number($selectedRowCount)"/></b> 
</xsl:if>
<!-- Next link for pagination -->
<xsl:choose>
<xsl:when test="number($Page)+1 < number($selectedRowCount)"> 
<A>
<xsl:attribute name="href">_dirresult?page=<xsl:value-of select="number($Page)
+1"/>&pagesize=<xsl:value-of select="$PageSize"/></xsl:attribute>
Next>>
</A>
</xsl:when>
<xsl:otherwise>
<!-- display something else -->
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
該腳本是否正確?據我所知,當你在第1頁第1條時,「不要在這裏顯示」是永遠不會達到的。
奧克,我會但我有一個問題。我還發現了這個腳本(http://www.bobulous.org.uk/coding/paging-xslt.html),它看起來更像我。您是否同意 –
如果您能夠使用XSLT 2.0,那麼它可能是一個更好的選擇。再次嘗試一下,看看你的想法! –