Re: [xsl] Accessing attributes

Subject: Re: [xsl] Accessing attributes
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Sat, 10 Aug 2002 00:17:38 +0200
Hello Carlos,

both answers until now seem to be incorrect. I assume, that you are only missing current():

<xsl:when test="/site/dadosPasseio/correlato/item[@correlato = current()/@idPasseio]">

A snippet of the corresponding XML often will help, but here it was easy, because you are not the first with this problem.

May I suggest you a shorter version in general:

<xsl:for-each select="site/passeio/item">
<option value="{@idPasseio}">
<xsl:if test="/site/dadosPasseio/correlato/item[@correlato = current()/@idPasseio]">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
</option>
</xsl:for-each>


Furthermore you avoid duplicate code.

Regards,

Joerg

Carlos Durand wrote:
Hi all,

How can I access an attribute value inside an if and
for-each functions?

For example

<xsl:for-each select="site/passeio/item">


<xsl:choose> <xsl:when test="/site/dadosPasseio/correlato/item[@correlato = @idPasseio]"> <option value="{@idPasseio}" selected="selected"><xsl:value-of select="@passeio"/></option> </xsl:when> <xsl:otherwise> <option value="{@idPasseio}" ><xsl:value-of select="@passeio"/></option> </xsl:otherwise> </xsl:choose>



</xsl:for-each>

@correlato belongs to if and @idPasseio belongs to
for-each...

Thanks

Durand


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread