html - How to compare XML element with XSL variable -
i using xslt transform xml document html use in email. need compare xml elements xml element value know format give value. have xml structure such:
<main>     <comparer>1</comparer>     <items>         <item>             <name>blarg</name>             <values>                 <value>1</value>                 <value>2</value>             </values>     </items> </main>   the item information being used build table:
<table>     <tr>         <td>blarg</td>         <td>1</td>         <td>2</td>     </tr> </table>   what need able use xsl compare item values 'comparer' node value , if equal bold cell in table otherwise cell value snot bolded. need accomplish without use of javascript has done in xsl. right now, looking @ using xsl:variable attempting use xsl:when compare. unfortunately, having little luck. have started playing each row in table:
<xsl:variable name="compare" select="//main/comparer" />  ...      <xsl:for-each select="value">     <td>         <xsl:choose>             <xsl:when test=". = $compare">                 <b>                     <xsl:value-of select="."/>                 </b>             </xsl:when>             <xsl:otherwise>                 <xsl:value-of select="."/>.             </xsl:otherwise>         </xsl:choose>     </td> </xsl:for-each>   *note: left out of xsl brevity. i'm trying focus on issue.
i figured out after trial , error. alejandro's answer appears work, not have luxury of restructuring xsl make use of templating. here used solve issue:
<xsl:variable name="compare" select="//main/comparer" />  ...      <xsl:for-each select="value">     <td>         <xsl:choose>             <xsl:when test="contains(., $expiredate)">                 <b>                     <xsl:value-of select="."/>                 </b>             </xsl:when>             <xsl:otherwise>                 <xsl:value-of select="."/>.             </xsl:otherwise>         </xsl:choose>     </td> </xsl:for-each>      
Comments
Post a Comment