Subject: Re: [xsl] select attribute of xsl:variable From: Martin Honnen <Martin.Honnen@xxxxxx> Date: Wed, 01 Sep 2010 13:42:23 +0200 |
I have a piece of an XML, looks like below. I am trying to add an attribute to the matching element to corresponding @role value defined in the variable. The first case seems to be working well but secondly one fails and it looks that conditional check with @select attribute (select="parent::textbox-body/parent::textbox[@role]") in variable is failing. Can't we condition checks with ancestors/parent values in child elements.
<xsl:template match="display/textbox">
<xsl:variable name="role_title" select="@role"/>
<xsl:variable name="boxtype">
<xsl:choose>
<xsl:when test="$role_title = 'alt1'">TE A title</xsl:when>
<xsl:when test="$role_title = 'alt2'">TE B title</xsl:when>
<xsl:when test="$role_title = 'alt3'">TE C title</xsl:when>
<xsl:when test="$role_title = 'alt4'">TE D title</xsl:when>
<xsl:when test="$role_title = 'alt5'">TE E title</xsl:when>
<xsl:when test="$role_title = 'alt6'">TE F title</xsl:when>
<xsl:when test="$role_title = 'alt7'">TE G title</xsl:when>
<xsl:when test="$role_title = 'alt8'">TE H title</xsl:when>
<xsl:when test="$role_title = 'alt9'">TE I title</xsl:when>
<xsl:when test="$role_title = 'alt1'">TE J title</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:copy>
<xsl:attribute name="aid:pstyle"><xsl:value-of select="$boxtype"/></xsl:attribute>
<xsl:copy-of select="@*"/>
<xsl:template match="display/textbox/textbox-head/title">
<xsl:variable name="role_title" select="parent::textbox-body/parent::textbox[@role]"/>
<xsl:variable name="boxtype">
<xsl:choose>
<xsl:when test="$role_title = 'alt1'">TE A title</xsl:when>
<xsl:when test="$role_title = 'alt2'">TE B title</xsl:when>
<xsl:when test="$role_title = 'alt3'">TE C title</xsl:when>
<xsl:when test="$role_title = 'alt4'">TE D title</xsl:when>
<xsl:when test="$role_title = 'alt5'">TE E title</xsl:when>
<xsl:when test="$role_title = 'alt6'">TE F title</xsl:when>
<xsl:when test="$role_title = 'alt7'">TE G title</xsl:when>
<xsl:when test="$role_title = 'alt8'">TE H title</xsl:when>
<xsl:when test="$role_title = 'alt9'">TE I title</xsl:when>
<xsl:when test="$role_title = 'alt1'">TE J title</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:copy>
<xsl:attribute name="aid:pstyle"><xsl:value-of select="$boxtype"/></xsl:attribute>
Martin Honnen http://msmvps.com/blogs/martin_honnen/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] select attribute of xsl:varia, pankaj . c | Thread | Re: [xsl] select attribute of xsl:v, pankaj . c |
[xsl] select attribute of xsl:varia, pankaj . c | Date | Re: [xsl] select attribute of xsl:v, pankaj . c |
Month |