Ibland vill man tex att Umbraco ska visa de 10 senaste posterna i en nod eller kanske de 10 senaste av en speciell document type.
Så här kan man använda XSLT för att begränsa antalet poster som lämnas från en for-each-loop.
<xsl:for-each select="$currentPage/node"> <xsl:sort select="@sortOrder" order="descending"/> <!-- xsl-if kollar att positionen är under 11 dvs, högst 10. Om så inte är fallet skrivs inget ut. --> <xsl:if test="position() < 11"> <xsl:value-of select="@nodeName"/><br/> </xsl:if> </xsl:for-each>
Såhär fungerar det:
<xsl:sort> Används för att sortera resultatet. Select-parametern anger efter vilket värde det skall sorteras och order-parametern anger om det skall vara fallande eller stigande ordning (ascending, descending).
XSLT-funktionen Position() returnerar nummet på den post som just nu bearbetars i loopen. Med hjälp av <xsl:if> anger vi att endast de fem första posterna ska visas, dvs poster som har ett värde under 10.
Tecknen < och > betyder samma sak som < och >, dessa tecken är skyddade i XSLT och måste därför ersättas med > och <&, dvs greater than och lower than.