Finden des letzten Elementes (XSLT)
Martin K.
- xsl
Hallo
Ich habe folgendes Problem. Ich durchsuche mithilfe von "for each" bestimmte Knoten. Ich muss den letzten Knoten finden der kleiner als ein bestimmter Wert ist, denn ich übergebe. Hier ist mein Ansatz:
<xsl:variable name="menge" select="count(...)" />
<xsl:for-each select="...">
<xsl:when test="$menge != $positionsnummer and $positionsnummer != 0">
<xsl:if test="position() <= (last() - $positionsnummer)">
<xsl:value-of select="."/>
</xsl:if>
</xsl:when>
Ich bekomme aber nun alle Elemente wo die position kleiner als mein berechneter Wert ist, benötige aber nur den letzten?
danke Martin
Hm,
vielleicht koenntest du etwas mehr vom Code zeigen, ich weiss nicht, woher du die $positionsnummer zauberst?
Gruß
Hm,
vielleicht koenntest du etwas mehr vom Code zeigen, ich weiss nicht, woher du die $positionsnummer zauberst?
Die positionsnummer ist einfach eine variable also eine Zahl zwischen 1 und 10. Mein problem ist halt das ich hiermit:
<xsl:when test="$menge != $positionsnummer and $positionsnummer != 0">
<xsl:if test="position() < ($anzahl_layer - ($positionsnummer)) ">
<xsl:value-of select="."/>
</xsl:if>
</xsl:when>
alle Elemente die kleiner als ($anzahl_layer - ($positionsnummer) bekomme ich aber nur den letzten gefundenen brauche.
danke martin
Tach Martin K.,
... alle Elemente die kleiner als ($anzahl_layer - ($positionsnummer) bekomme ich aber nur den letzten gefundenen brauche.
Hier würde sich eher eine Sortierung anbieten und dann kann die Abfrage in dieser Weise erfolgen:
<xsl:for-each select="...">
<xsl:sort select="bedingung..." data-type="number" order="ascending"/>
<xsl:if test="position()=last()">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
Man liest sich,
svg4you