Il est supposé être très simple, Je veux limiter mes résultats dans ce for-each mais aussi vouloir vérifier un nœud. Pour une raison quelconque, cela ne fonctionne pas en les combinant dans une seule déclaration?XSLT: pour chaque problème
J'ai une case à cocher (recommandée) qui peut être cochée à 'Oui'. Lorsque je supprime la limite 5 dans le pour-chaque, il affiche tous les éléments qui ont recommandé sur 'Oui'. Lorsque je supprime le 'recommended =' Yes 'du test pour chaque, les derniers éléments sont limités jusqu'à 5. Les mettre ensemble ne donne rien. Ils ne fonctionnent plus tous les deux. Je veux les filtrer sur recommandé « Oui » et je veux les limiter à 5.
<xsl:for-each select="data/resorts/entry[position() < 2 and recommended = 'Yes']">
<xsl:sort select="top-pick-order" case-order="upper-first"/>
<a href="{$root}/koh-lipe-resorts/resort-view/{resort-name/@handle}">
<div id="top-pick-item">
<div id="top-pick-text-short">
<h3 class="item-heading"><xsl:value-of select="resort-name"/></h3>
<p>
<xsl:call-template name="truncate">
<xsl:with-param name="value" select="resort-description" mode="formatted"/>
<xsl:with-param name="length" select="110" />
</xsl:call-template>
</p>
</div>
</div>
</a>
</xsl:for-each>
Veuillez inclure un échantillon de l'entrée XSLT (y compris les nœuds correspondants et non correspondants). Décrivez également le résultat que vous obtenez et ce que vous attendez. Comme il brin cette question ne contient pas assez d'informations pour vous aider. – Richard
Très bien édité – Sandor
Bonne question, +1. Voir ma réponse pour une explication et une solution complète. :) –