Необходимо изменить цвет текста на основе значения переменной XML - PullRequest
0 голосов
/ 11 декабря 2018

Я бы хотел условно изменить цвет отображаемого текста в XML-файле на основе значения, возвращенного в переменной.
Это будет либо «Да», либо «Нет».

Это XML:

<tr style="height: 18px;">
  <td style="width: 163px; height: 18px;"><strong>Validation Required?</strong></td>
  <td style="width: 50px; height: 18px;"><xsl:value-of select="Validation_Required"></xsl:value-of></td>
  <td style="width: 652px; height: 18px;" colspan="4"></td>
</tr>

Я хочу, чтобы текст значения Validation_Required? отображался красным, если значение равно «Да», и черным, когда значение «Нет».

Мне пока не везло с таким подходом:

<xsl:when test="Validation_Required='Yes'">

Мне было интересно, может ли кто-нибудь указать мне правильное направление.

1 Ответ

0 голосов
/ 11 декабря 2018

Переменные в XSLT доступны с префиксом $, поэтому, чтобы получить доступ к вашей переменной Validation_Required, вы должны указать ее префикс.

Изменение кода на

<tr style="height: 18px;">
  <td style="width: 163px; height: 18px;"><strong>Validation Required?</strong></td>
  <td style="width: 50px; height: 18px;">
    <xsl:choose>
      <xsl:when test="$Validation_Required='Yes'">
        <span style="color:rgb(255, 0, 0);">
          <xsl:value-of select="$Validation_Required"></xsl:value-of>
        </span>
      </xsl:when>
      <xsl:when test="$Validation_Required='No'">
        <span style="color:rgb(0, 0, 0);">
          <xsl:value-of select="$Validation_Required"></xsl:value-of>
        </span>
      </xsl:when>
    </xsl:choose>
  </td>
  <td style="width: 652px; height: 18px;" colspan="4"></td>
</tr>

изменяетцвет одного td элемента основывается на значении переменной Validation_Required.

...