Selecteer element

Status
Niet open voor verdere reacties.

mjvis

Gebruiker
Lid geworden
29 apr 2009
Berichten
17
Hoe kan ik een bepaald element uit een XML lijst slecteren.
Voorbeeld: Ik heb een variabele X. Daarmee wil ik het X-ste element tonen.

XML:
<klantenlijst>
<klant>
<naam>A</naam>
</klant>
<klant>
<naam>B</naam>
</klant>
... etc ... (onbepaald aantal elementen 'klant')
</klantenlijst>

XSL: (gedeeltelijk)
...
<xsl:template name="cel">
<xsl:param name="KlantTeller"/>
<xsl:param name="KolomTeller" select="1"/>
<xsl:choose>
<xsl:when test="$KlantTeller &gt; $AantalKlanten"><td/></xsl:when>
<xsl:when test="$KlantTeller &gt; 0">
<td>
<xsl:value-of select="/klantenlijst/klant/naam"/></td>
</xsl:when>
</xsl:choose>
<xsl:if test="$KolomTeller &gt; $KlantTeller">
<xsl:call-template name="cel">
<xsl:with-param name="KlantTeller" select="$KlantTeller + 1"/>
<xsl:with-param name="KolomTeller" select="$KolomTeller"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
...

Hierbij is "KlantTeller" het nummer van het te tonen element. Hoe kan ik bij de vet gedrukte regel de naam tonen van dat bepaalde element?
 
Ik heb er even niet over nagedacht welke voor jou code snippet het meest geschikt is, maar ik denk dat je met de volgende voorbeelden wel iets kunt:

Code:
<xsl:value-of select="/klantenlijst/klant[naam = $klantNaam]/naam" />

of:

Code:
<xsl:for-each select="/klantenlijst/klant">
    <xsl:if test="position() = $position">
        <xsl:value-of select="naam" />
    </xsl:if>
</xsl:for-each>

Ik denk wel dat je hier iets mee kunt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan