slach
Новичок
чего то не врубаюсь как составить XPath выражение
имею две переменных
<xsl:variable name="top_bg_color">
<bg_color href="geology/">#EFA300</bg_color>
<bg_color href="forest/">#41C215</bg_color>
<bg_color href="water/">#249AED</bg_color>
<bg_color href="ecology/">#743BE9</bg_color>
<bg_color href="statecontrol/">#ED5324</bg_color>
</xsl:variable>
и соответсвенно
<xsl:variable name="url">geology/news</xsl:variable>
хочу через XPath выбрать тот bg_color который содержится в $url
<xsl:variable name="color" select="$top_bg_color/bg_color[contains(@href,$url)]" />
не катит, потому что contains возвращает true или false
пока что обхожусь вот такой конструкцией
<xsl:for-each select="$top_bg_color/bg_color">
<xsl:if test="contains(@href,$url)">
<td width="413" bgcolor="."><img src="i/x.gif" width="413" height="1" alt="" /></td>
</xsl:if>
</xsl:for-each>
Но она громоздкая какая то как мне кажется...
может есть пути по элегантнее ?
имею две переменных
<xsl:variable name="top_bg_color">
<bg_color href="geology/">#EFA300</bg_color>
<bg_color href="forest/">#41C215</bg_color>
<bg_color href="water/">#249AED</bg_color>
<bg_color href="ecology/">#743BE9</bg_color>
<bg_color href="statecontrol/">#ED5324</bg_color>
</xsl:variable>
и соответсвенно
<xsl:variable name="url">geology/news</xsl:variable>
хочу через XPath выбрать тот bg_color который содержится в $url
<xsl:variable name="color" select="$top_bg_color/bg_color[contains(@href,$url)]" />
не катит, потому что contains возвращает true или false
пока что обхожусь вот такой конструкцией
<xsl:for-each select="$top_bg_color/bg_color">
<xsl:if test="contains(@href,$url)">
<td width="413" bgcolor="."><img src="i/x.gif" width="413" height="1" alt="" /></td>
</xsl:if>
</xsl:for-each>
Но она громоздкая какая то как мне кажется...
может есть пути по элегантнее ?